summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/experimental/optional/optional.object/optional.object.swap/swap.pass.cpp
diff options
context:
space:
mode:
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.cpp9
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, "");
OpenPOWER on IntegriCloud