diff options
Diffstat (limited to 'libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp')
-rw-r--r-- | libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp b/libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp index ea94771..641eb492 100644 --- a/libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp +++ b/libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp @@ -172,6 +172,23 @@ constexpr bool test() { assert(e1.error().data_ == 10); assert(oldState.moveAssignCalled); } + + // CheckForInvalidWrites + { + { + CheckForInvalidWrites<true, true> e; + std::unexpected<int> un(std::in_place, 42); + e = std::move(un); + assert(e.check()); + } + { + CheckForInvalidWrites<false, true> e; + std::unexpected<bool> un(std::in_place, true); + e = std::move(un); + assert(e.check()); + } + } + return true; } |