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-exception
6//
7//===----------------------------------------------------------------------===//
8
9// UNSUPPORTED: c++03, c++11, c++14
10
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

source code of libcxx/test/std/utilities/variant/variant.monostate/monostate.pass.cpp