31 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// UNSUPPORTED: c++03, c++11, c++1410 11// <variant>12 13// struct monostate {};14 15#include <type_traits>16#include <variant>17 18#include "test_macros.h"19 20int main(int, char**) {21 using M = std::monostate;22 static_assert(std::is_trivially_default_constructible<M>::value, "");23 static_assert(std::is_trivially_copy_constructible<M>::value, "");24 static_assert(std::is_trivially_copy_assignable<M>::value, "");25 static_assert(std::is_trivially_destructible<M>::value, "");26 constexpr M m{};27 ((void)m);28 29 return 0;30}31