diff options
Diffstat (limited to 'libcxx/test/std/experimental/optional/optional.object/optional.object.swap/swap.pass.cpp')
-rw-r--r-- | libcxx/test/std/experimental/optional/optional.object/optional.object.swap/swap.pass.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libcxx/test/std/experimental/optional/optional.object/optional.object.swap/swap.pass.cpp b/libcxx/test/std/experimental/optional/optional.object/optional.object.swap/swap.pass.cpp index 620dda19e3f..be0d1efb60d 100644 --- a/libcxx/test/std/experimental/optional/optional.object/optional.object.swap/swap.pass.cpp +++ b/libcxx/test/std/experimental/optional/optional.object/optional.object.swap/swap.pass.cpp @@ -62,6 +62,10 @@ public: friend void swap(Z& x, Z& y) {throw 6;} }; +struct ConstSwappable { +}; +void swap(ConstSwappable const&, ConstSwappable const&) {} + int main() { { @@ -113,6 +117,11 @@ int main() assert(*opt2 == 1); } { + optional<const ConstSwappable> opt; + optional<const ConstSwappable> opt2; + opt.swap(opt2); + } + { optional<X> opt1; optional<X> opt2; static_assert(noexcept(opt1.swap(opt2)) == true, ""); |