diff options
Diffstat (limited to 'libcxx/test/utilities/optional/optional.object/optional.object.assign/move.pass.cpp')
| -rw-r--r-- | libcxx/test/utilities/optional/optional.object/optional.object.assign/move.pass.cpp | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/libcxx/test/utilities/optional/optional.object/optional.object.assign/move.pass.cpp b/libcxx/test/utilities/optional/optional.object/optional.object.assign/move.pass.cpp index a1574d6bb62..d27313dad42 100644 --- a/libcxx/test/utilities/optional/optional.object/optional.object.assign/move.pass.cpp +++ b/libcxx/test/utilities/optional/optional.object/optional.object.assign/move.pass.cpp @@ -13,12 +13,14 @@ // noexcept(is_nothrow_move_assignable<T>::value && // is_nothrow_move_constructible<T>::value); -#include <optional> +#include <experimental/optional> #include <type_traits> #include <cassert> #if _LIBCPP_STD_VER > 11 +using std::experimental::optional; + struct X { static bool throw_now; @@ -45,16 +47,16 @@ int main() { #if _LIBCPP_STD_VER > 11 { - static_assert(std::is_nothrow_move_assignable<std::optional<int>>::value, ""); - std::optional<int> opt; - constexpr std::optional<int> opt2; + static_assert(std::is_nothrow_move_assignable<optional<int>>::value, ""); + optional<int> opt; + constexpr optional<int> opt2; opt = std::move(opt2); static_assert(static_cast<bool>(opt2) == false, ""); assert(static_cast<bool>(opt) == static_cast<bool>(opt2)); } { - std::optional<int> opt; - constexpr std::optional<int> opt2(2); + optional<int> opt; + constexpr optional<int> opt2(2); opt = std::move(opt2); static_assert(static_cast<bool>(opt2) == true, ""); static_assert(*opt2 == 2, ""); @@ -62,15 +64,15 @@ int main() assert(*opt == *opt2); } { - std::optional<int> opt(3); - constexpr std::optional<int> opt2; + optional<int> opt(3); + constexpr optional<int> opt2; opt = std::move(opt2); static_assert(static_cast<bool>(opt2) == false, ""); assert(static_cast<bool>(opt) == static_cast<bool>(opt2)); } { - std::optional<int> opt(3); - constexpr std::optional<int> opt2(2); + optional<int> opt(3); + constexpr optional<int> opt2(2); opt = std::move(opt2); static_assert(static_cast<bool>(opt2) == true, ""); static_assert(*opt2 == 2, ""); @@ -78,9 +80,9 @@ int main() assert(*opt == *opt2); } { - static_assert(!std::is_nothrow_move_assignable<std::optional<X>>::value, ""); - std::optional<X> opt; - std::optional<X> opt2(X{}); + static_assert(!std::is_nothrow_move_assignable<optional<X>>::value, ""); + optional<X> opt; + optional<X> opt2(X{}); assert(static_cast<bool>(opt2) == true); try { @@ -95,7 +97,7 @@ int main() } } { - static_assert(std::is_nothrow_move_assignable<std::optional<Y>>::value, ""); + static_assert(std::is_nothrow_move_assignable<optional<Y>>::value, ""); } #endif // _LIBCPP_STD_VER > 11 } |

