diff options
Diffstat (limited to 'libcxx/test/std')
-rw-r--r-- | libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp b/libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp index 46d225883ae..408a65c0903 100644 --- a/libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp +++ b/libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp @@ -283,9 +283,20 @@ void test_exceptions() { #endif } +// See http://llvm.org/PR31916 +void test_caller_accepts_nonconst() { + struct A {}; + struct Visitor { + void operator()(A&) {} + }; + std::variant<A> v; + std::visit(Visitor{}, v); +} + int main() { test_call_operator_forwarding(); test_argument_forwarding(); test_constexpr(); test_exceptions(); + test_caller_accepts_nonconst(); } |