Created on 2014-06-14.00:00:00 last changed 90 months ago
Proposed resolution:
This wording is relative to N3936.
Change [futures.task] p2, class template packaged_task as indicated:
template <class F> explicit packaged_task(F&& f); template <class F, class Allocator>explicitpackaged_task(allocator_arg_t, const Allocator& a, F&& f);
Change [futures.task.members] as indicated:
template <class F> packaged_task(F&& f); template <class F, class Allocator>explicitpackaged_task(allocator_arg_t, const Allocator& a, F&& f);[…]
-3- Remarks: These constructors shall not participate in overload resolution if decay_t<F> is the same type as std::packaged_task<R(ArgTypes...)>.
[ 2015-05 Lenexa ]
STL improves proposed wording by restoring the constraint again.
[ 2015-05 Lenexa, SG1 response ]
Back to LWG; not an SG1 issue.
[ 2015-02 Cologne ]
Handed over to SG1.
LWG 2097's resolution was slightly too aggressive. It constrained packaged_task(allocator_arg_t, const Allocator&, F&&), but that's unnecessary because packaged_task doesn't have any other three-argument constructors. Additionally, it's marked as explicit (going back to WP N2798 when packaged_task first appeared) which is unnecessary.
History | |||
---|---|---|---|
Date | User | Action | Args |
2017-07-30 20:15:43 | admin | set | status: wp -> c++17 |
2015-05-22 18:31:21 | admin | set | status: immediate -> wp |
2015-05-08 04:24:55 | admin | set | messages: + msg7403 |
2015-05-07 19:30:46 | admin | set | status: open -> immediate |
2015-05-06 17:46:12 | admin | set | messages: + msg7362 |
2015-04-04 16:45:17 | admin | set | messages: + msg7336 |
2015-04-04 16:45:17 | admin | set | status: new -> open |
2014-06-14 21:37:14 | admin | set | messages: + msg7045 |
2014-06-14 00:00:00 | admin | create |