brintos

brintos / llvm-project-archived public Read only

0
0
Text · 881 B · ca4c120 Raw
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