blob: 76cddf90043d331e8e6afb6bf400d8482d7b1e26 [file] [log] [blame]
Eric Fiselier80e66ac2016-11-23 01:02:51 +00001// -*- C++ -*-
2//===----------------------------------------------------------------------===//
3//
4// The LLVM Compiler Infrastructure
5//
6// This file is dual licensed under the MIT and the University of Illinois Open
7// Source Licenses. See LICENSE.TXT for details.
8//
9//===----------------------------------------------------------------------===//
10
11// UNSUPPORTED: c++98, c++03, c++11, c++14
12
13// <variant>
14
15// struct monostate {};
16
17#include <type_traits>
18#include <variant>
19
20int main() {
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}