brintos

brintos / llvm-project-archived public Read only

0
0
Text · 884 B · 9f62afd Raw
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