diff options
Diffstat (limited to 'test/std/thread/futures/futures.unique_future/share.pass.cpp')
| -rw-r--r-- | test/std/thread/futures/futures.unique_future/share.pass.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/test/std/thread/futures/futures.unique_future/share.pass.cpp b/test/std/thread/futures/futures.unique_future/share.pass.cpp index ef011d8df752..9b8667e538cc 100644 --- a/test/std/thread/futures/futures.unique_future/share.pass.cpp +++ b/test/std/thread/futures/futures.unique_future/share.pass.cpp @@ -25,14 +25,16 @@ int main() typedef int T; std::promise<T> p; std::future<T> f0 = p.get_future(); - std::shared_future<T> f = std::move(f0.share()); + static_assert( noexcept(f0.share()), ""); + std::shared_future<T> f = f0.share(); assert(!f0.valid()); assert(f.valid()); } { typedef int T; std::future<T> f0; - std::shared_future<T> f = std::move(f0.share()); + static_assert( noexcept(f0.share()), ""); + std::shared_future<T> f = f0.share(); assert(!f0.valid()); assert(!f.valid()); } @@ -40,14 +42,16 @@ int main() typedef int& T; std::promise<T> p; std::future<T> f0 = p.get_future(); - std::shared_future<T> f = std::move(f0.share()); + static_assert( noexcept(f0.share()), ""); + std::shared_future<T> f = f0.share(); assert(!f0.valid()); assert(f.valid()); } { typedef int& T; std::future<T> f0; - std::shared_future<T> f = std::move(f0.share()); + static_assert( noexcept(f0.share()), ""); + std::shared_future<T> f = f0.share(); assert(!f0.valid()); assert(!f.valid()); } @@ -55,14 +59,16 @@ int main() typedef void T; std::promise<T> p; std::future<T> f0 = p.get_future(); - std::shared_future<T> f = std::move(f0.share()); + static_assert( noexcept(f0.share()), ""); + std::shared_future<T> f = f0.share(); assert(!f0.valid()); assert(f.valid()); } { typedef void T; std::future<T> f0; - std::shared_future<T> f = std::move(f0.share()); + static_assert( noexcept(f0.share()), ""); + std::shared_future<T> f = f0.share(); assert(!f0.valid()); assert(!f.valid()); } |
