diff options
author | Marshall Clow <mclow.lists@gmail.com> | 2017-05-17 15:30:01 +0000 |
---|---|---|
committer | Marshall Clow <mclow.lists@gmail.com> | 2017-05-17 15:30:01 +0000 |
commit | c1bcd4c1f280e40d25dada5573e1a51de69a991a (patch) | |
tree | fc904e5d37ac5e1c052d570e21175a706e6963ac /libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp | |
parent | 6dc120a41d01d49398a28d96a833d5f31d339146 (diff) | |
download | bcm5719-llvm-c1bcd4c1f280e40d25dada5573e1a51de69a991a.tar.gz bcm5719-llvm-c1bcd4c1f280e40d25dada5573e1a51de69a991a.zip |
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
Diffstat (limited to 'libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp')
-rw-r--r-- | libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
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(optional<T>&& rhs); +// constexpr optional(optional<T>&& rhs); #include <optional> #include <type_traits> @@ -206,4 +206,9 @@ int main() { test_reference_extension(); } + { + constexpr std::optional<int> o1{4}; + constexpr std::optional<int> o2 = std::move(o1); + static_assert( *o2 == 4, "" ); + } } |