Author: marshall Date: Tue Jun 30 09:16:49 2015 New Revision: 241068 URL: http://llvm.org/viewvc/llvm-project?rev=241068&view=rev Log: Implement LWG#2407: 'packaged_task(allocator_arg_t, const Allocator&, F&&) should neither be constrained nor explicit'
Modified: libcxx/trunk/include/future libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/ctor2.fail.cpp Modified: libcxx/trunk/include/future URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/future?rev=241068&r1=241067&r2=241068&view=diff ============================================================================== --- libcxx/trunk/include/future (original) +++ libcxx/trunk/include/future Tue Jun 30 09:16:49 2015 @@ -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; Modified: libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/ctor2.fail.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/ctor2.fail.cpp?rev=241068&r1=241067&r2=241068&view=diff ============================================================================== --- libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/ctor2.fail.cpp (original) +++ libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/ctor2.fail.cpp Tue Jun 30 09:16:49 2015 @@ -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...)>. _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits