1 // -*- 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 // template <class ...Types> class variant;
16
17
18 #include <variant>
19 #include <type_traits>
20 #include <string>
21 #include <cassert>
22
23 #include "test_macros.h"
24 #include "variant_test_helpers.hpp"
25 #include "test_convertible.hpp"
26
main()27 int main()
28 {
29 // expected-error@variant:* 3 {{static_assert failed}}
30 std::variant<int, void> v; // expected-note {{requested here}}
31 std::variant<int, const void> v2; // expected-note {{requested here}}
32 std::variant<const volatile void, int> v3; // expected-note {{requested here}}
33 }
34