summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/utilities
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/std/utilities')
-rw-r--r--libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp b/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
index 55f8d11c115..ef074828581 100644
--- a/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
+++ b/libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
@@ -177,10 +177,22 @@ void test_T_ctor_basic() {
#endif
}
+struct BoomOnInt {
+ template <class T>
+ constexpr BoomOnInt(T) { static_assert(!std::is_same<T, int>::value, ""); }
+};
+
+void test_no_narrowing_check_for_class_types() {
+ using V = std::variant<int, BoomOnInt>;
+ V v(42);
+ assert(v.index() == 0);
+ assert(std::get<0>(v) == 42);
+}
+
int main(int, char**) {
test_T_ctor_basic();
test_T_ctor_noexcept();
test_T_ctor_sfinae();
-
+ test_no_narrowing_check_for_class_types();
return 0;
}
OpenPOWER on IntegriCloud