summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/experimental/optional/optional.object/optional.object.assign/copy.pass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/std/experimental/optional/optional.object/optional.object.assign/copy.pass.cpp')
-rw-r--r--libcxx/test/std/experimental/optional/optional.object/optional.object.assign/copy.pass.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/libcxx/test/std/experimental/optional/optional.object/optional.object.assign/copy.pass.cpp b/libcxx/test/std/experimental/optional/optional.object/optional.object.assign/copy.pass.cpp
index 89ea345029c..ff37b22c7d2 100644
--- a/libcxx/test/std/experimental/optional/optional.object/optional.object.assign/copy.pass.cpp
+++ b/libcxx/test/std/experimental/optional/optional.object/optional.object.assign/copy.pass.cpp
@@ -19,6 +19,13 @@
using std::experimental::optional;
+struct AllowConstAssign {
+ AllowConstAssign(AllowConstAssign const&) {}
+ AllowConstAssign const& operator=(AllowConstAssign const&) const {
+ return *this;
+ }
+};
+
struct X
{
static bool throw_now;
@@ -43,6 +50,11 @@ int main()
assert(static_cast<bool>(opt) == static_cast<bool>(opt2));
}
{
+ optional<const AllowConstAssign> opt;
+ optional<const AllowConstAssign> opt2;
+ opt = opt2;
+ }
+ {
optional<int> opt;
constexpr optional<int> opt2(2);
opt = opt2;
OpenPOWER on IntegriCloud