[exec.schedule.from] p6 reads:
The member impls-for<schedule_from_t>::get-state is initialized with a callable object equivalent to the following lambda:
[]<class Sndr, class Rcvr>(Sndr&& sndr, Rcvr& rcvr) noexcept(see below)
requires sender_in<child-type<Sndr>, env_of_t<Rcvr>> {
The constraint should account for the fact that the child sender will be connected with FWD-ENV(get_env(rcvr)).
Proposed Resolution
Change [exec.snd.expos] p2 as follows (underlined text is new):
- For a queryable object
env, FWD-ENV(env) is an expression whose
type satisfies queryable such that for a query object q and a pack
of subexpressions as, the expression FWD-ENV(env).query(q, as...)
is ill-formed if forwarding_query(q) is false; otherwise, it is
expression-equivalent to env.query(q, as...).
The type FWD-ENV-T(Env) is decltype(FWD-ENV(declval<Env>())).
Change [exec.schedule.from] p6 as follows:
The member `impls-for<schedule_from_t>::get-state` is initialized with
a callable object equivalent to the following lambda:
[]<class Sndr, class Rcvr>(Sndr&& sndr, Rcvr& rcvr) noexcept(see below)
- requires sender_in<child-type<Sndr>, env_of_t<Rcvr>> {
+ requires sender_in<child-type<Sndr>, FWD-ENV-T(env_of_t<Rcvr>)> {
Change [exec.schedule.from] p8 as follows:
Let Sigs be a pack of the arguments to the completion_signatures
specialization named by
-completion_signatures_of_t<child-type<Sndr>, env_of_t<Rcvr>>. Let
+completion_signatures_of_t<child-type<Sndr>, FWD-ENV-T(env_of_t<Rcvr>)>. Let
as-tuple be an alias template that transforms a completion signature
Tag(Args...) into the tuple specialization decayed-tuple<Tag, Args...>.
Then variant_t denotes the type variant<monostate, as-tuple<Sigs>...>,
except with duplicate types removed.
[exec.schedule.from] p6 reads:
The constraint should account for the fact that the child sender will be connected with
FWD-ENV(get_env(rcvr)).Proposed Resolution
Change [exec.snd.expos] p2 as follows (underlined text is new):
Change [exec.schedule.from] p6 as follows:
Change [exec.schedule.from] p8 as follows: