From c1bcd4c1f280e40d25dada5573e1a51de69a991a Mon Sep 17 00:00:00 2001 From: Marshall Clow Date: Wed, 17 May 2017 15:30:01 +0000 Subject: Mark the copy constructor and move constructor to be constexpr. This only works when the contained type has a constexpr copy/move ctor. llvm-svn: 303268 --- .../optional/optional.object/optional.object.ctor/move.pass.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp') diff --git a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp index 9f23e9b4381..09aaa0561b5 100644 --- a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp +++ b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp @@ -18,7 +18,7 @@ // -// optional(optional&& rhs); +// constexpr optional(optional&& rhs); #include #include @@ -206,4 +206,9 @@ int main() { test_reference_extension(); } + { + constexpr std::optional o1{4}; + constexpr std::optional o2 = std::move(o1); + static_assert( *o2 == 4, "" ); + } } -- cgit v1.2.3