diff options
| author | Marshall Clow <mclow.lists@gmail.com> | 2015-06-30 14:16:49 +0000 |
|---|---|---|
| committer | Marshall Clow <mclow.lists@gmail.com> | 2015-06-30 14:16:49 +0000 |
| commit | 660dcd9168276f655ea365476ba23e82b8d10381 (patch) | |
| tree | 1ae59e29ea7a2e53b07605df84745ca67b0f93d9 /libcxx | |
| parent | f69ae47128f8ccab863d1344ed5256b55585a053 (diff) | |
| download | bcm5719-llvm-660dcd9168276f655ea365476ba23e82b8d10381.tar.gz bcm5719-llvm-660dcd9168276f655ea365476ba23e82b8d10381.zip | |
Implement LWG#2407: 'packaged_task(allocator_arg_t, const Allocator&, F&&) should neither be constrained nor explicit'
llvm-svn: 241068
Diffstat (limited to 'libcxx')
| -rw-r--r-- | libcxx/include/future | 4 | ||||
| -rw-r--r-- | libcxx/test/std/thread/futures/futures.tas/futures.task.members/ctor2.fail.cpp | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/libcxx/include/future b/libcxx/include/future index 1474ab0b072..25482c6cad2 100644 --- a/libcxx/include/future +++ b/libcxx/include/future @@ -329,7 +329,7 @@ public: template <class F> explicit packaged_task(F&& f); template <class F, class Allocator> - explicit packaged_task(allocator_arg_t, const Allocator& a, F&& f); + packaged_task(allocator_arg_t, const Allocator& a, F&& f); ~packaged_task(); // no copy @@ -2042,7 +2042,7 @@ public: >::type > _LIBCPP_INLINE_VISIBILITY - explicit packaged_task(allocator_arg_t, const _Allocator& __a, _Fp&& __f) + packaged_task(allocator_arg_t, const _Allocator& __a, _Fp&& __f) : __f_(allocator_arg, __a, _VSTD::forward<_Fp>(__f)), __p_(allocator_arg, __a) {} // ~packaged_task() = default; diff --git a/libcxx/test/std/thread/futures/futures.tas/futures.task.members/ctor2.fail.cpp b/libcxx/test/std/thread/futures/futures.tas/futures.task.members/ctor2.fail.cpp index e81adfa6dcd..e4df4ec225e 100644 --- a/libcxx/test/std/thread/futures/futures.tas/futures.task.members/ctor2.fail.cpp +++ b/libcxx/test/std/thread/futures/futures.tas/futures.task.members/ctor2.fail.cpp @@ -11,7 +11,7 @@ // class packaged_task<R(ArgTypes...)> // template <class F, class Allocator> -// explicit packaged_task(allocator_arg_t, const Allocator& a, F&& f); +// packaged_task(allocator_arg_t, const Allocator& a, F&& f); // These constructors shall not participate in overload resolution if // decay<F>::type is the same type as std::packaged_task<R(ArgTypes...)>. |

