diff options
Diffstat (limited to 'test/std/thread/futures/futures.tas/futures.task.members/assign_copy.fail.cpp')
| -rw-r--r-- | test/std/thread/futures/futures.tas/futures.task.members/assign_copy.fail.cpp | 30 |
1 files changed, 4 insertions, 26 deletions
diff --git a/test/std/thread/futures/futures.tas/futures.task.members/assign_copy.fail.cpp b/test/std/thread/futures/futures.tas/futures.task.members/assign_copy.fail.cpp index 70ea0ad31feda..6c6418594d007 100644 --- a/test/std/thread/futures/futures.tas/futures.task.members/assign_copy.fail.cpp +++ b/test/std/thread/futures/futures.tas/futures.task.members/assign_copy.fail.cpp @@ -7,6 +7,8 @@ // //===----------------------------------------------------------------------===// +// UNSUPPORTED: c++98, c++03 + // <future> // class packaged_task<R(ArgTypes...)> @@ -14,35 +16,11 @@ // packaged_task& operator=(packaged_task&) = delete; #include <future> -#include <cassert> - -class A -{ - long data_; - -public: - explicit A(long i) : data_(i) {} - - long operator()(long i, long j) const {return data_ + i + j;} -}; int main() { { - std::packaged_task<double(int, char)> p0(A(5)); - std::packaged_task<double(int, char)> p; - p = p0; - assert(!p0.valid()); - assert(p.valid()); - std::future<double> f = p.get_future(); - p(3, 'a'); - assert(f.get() == 105.0); - } - { - std::packaged_task<double(int, char)> p0; - std::packaged_task<double(int, char)> p; - p = p0; - assert(!p0.valid()); - assert(!p.valid()); + std::packaged_task<double(int, char)> p0, p; + p = p0; // expected-error {{overload resolution selected deleted operator '='}} } } |
