diff --git a/tests/std/tests/P0323R12_expected/test.cpp b/tests/std/tests/P0323R12_expected/test.cpp index 81335d3a8b3..37476de98b0 100644 --- a/tests/std/tests/P0323R12_expected/test.cpp +++ b/tests/std/tests/P0323R12_expected/test.cpp @@ -2476,24 +2476,17 @@ static_assert(test_inherited_constructors()); template struct ambiguating_expected_copy_constructor_caller { struct const_lvalue_taker { - const_lvalue_taker(const expected&) {} + const_lvalue_taker(const expected&); }; - void operator()(expected) {} - void operator()(const_lvalue_taker) {} + void operator()(expected); + void operator()(const_lvalue_taker); }; template struct ambiguating_expected_assignment_source { - operator const expected&() && { - return ex; - } - - operator expected&&() && { - return move(ex); - } - - expected ex; + operator const expected&() &&; + operator expected&&() &&; }; struct move_only { @@ -2512,9 +2505,9 @@ static_assert( #ifndef __EDG__ // TRANSITION, VSO-1601179 static_assert(!is_assignable_v&, ambiguating_expected_assignment_source>); static_assert(!is_assignable_v&, ambiguating_expected_assignment_source>); -#endif // ^^^ no workaround ^^^ static_assert(!is_assignable_v&, ambiguating_expected_assignment_source>); static_assert(!is_assignable_v&, ambiguating_expected_assignment_source>); +#endif // ^^^ no workaround ^^^ static_assert(test_lwg_3886());