// -*- C++ -*- //===----------------------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // UNSUPPORTED: c++98, c++03, c++11, c++14 // // template class variant; // template constexpr variant(T&&) noexcept(see below); #include #include #include int main(int, char**) { std::variant v1 = 1; // expected-error {{no viable conversion}} std::variant v2 = 1; // expected-error {{no viable conversion}} std::variant v3 = 1; // expected-error {{no viable conversion}} std::variant v4 = 1; // expected-error {{no viable conversion}} std::variant v5 = 1; // expected-error {{no viable conversion}} std::variant v6 = 1; // expected-error {{no viable conversion}} std::variant v7 = "meow"; // expected-error {{no viable conversion}} std::variant v8 = "meow"; // expected-error {{no viable conversion}} std::variant v9 = "meow"; // expected-error {{no viable conversion}} std::variant v10 = std::true_type(); // expected-error {{no viable conversion}} std::variant v11 = std::unique_ptr(); // expected-error {{no viable conversion}} std::variant v12 = nullptr; // expected-error {{no viable conversion}} }