aboutsummaryrefslogtreecommitdiff
path: root/libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp
diff options
context:
space:
mode:
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.cpp17
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;
}