diff options
Diffstat (limited to 'test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp')
| -rw-r--r-- | test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp b/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp new file mode 100644 index 0000000000000..77fd1719ff337 --- /dev/null +++ b/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp @@ -0,0 +1,37 @@ +// -*- C++ -*- +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// UNSUPPORTED: c++98, c++03, c++11, c++14 + +// <variant> + +/* + + class bad_variant_access : public exception { +public: + bad_variant_access() noexcept; + virtual const char* what() const noexcept; +}; + +*/ + +#include <cassert> +#include <exception> +#include <type_traits> +#include <variant> + +int main() { + static_assert(std::is_base_of<std::exception, std::bad_variant_access>::value, + ""); + static_assert(noexcept(std::bad_variant_access{}), "must be noexcept"); + static_assert(noexcept(std::bad_variant_access{}.what()), "must be noexcept"); + std::bad_variant_access ex; + assert(ex.what()); +} |
