[exec.when.all] has the following:
-
Let make-when-all-env be the following exposition-only function template:
template<class Env>
constexpr auto make-when-all-env(inplace_stop_source& stop_src, // exposition only
Env&& env) noexcept {
return see below;
}
Returns an object e such that
-
5.1 decltype(e) models queryable, and
-
5.2 e.query(get_stop_token) is expression-equivalent to state.stop-src.get_token(), and
-
5.3 given a query object q with type other than cv get_stop_token_t and whose type
satisfies forwarding-query, e.query(q) is expression-equivalent to get_env(rcvr).query(q).
the problem is the reference to get_env(rcvr) in 5.3. there is no rcvr here. it should be referring instead to the env parameter.
Proposed Resolution
Change [exec.when.all] p5.3 to read as follows:
- 5.3 given a query object
q with type other than cv get_stop_token_t and whose type
satisfies forwarding-query, e.query(q) is expression-equivalent to env.query(q).
[exec.when.all] has the following:
the problem is the reference to
get_env(rcvr)in 5.3. there is norcvrhere. it should be referring instead to theenvparameter.Proposed Resolution
Change [exec.when.all] p5.3 to read as follows:
qwith type other thancvget_stop_token_tand whose typesatisfies
forwarding-query,e.query(q)is expression-equivalent toenv.query(q).