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