Description
The child senders should only see the parent's queries if they are forwarding queries.
Proposed resolution
Change [exec.let] para 6 as follows:
Let
receiver2
denote the following exposition-only class template:namespace std::execution { ... as before ... }Invocation of the function
receiver2::get_env
returns an objecte
such that
decltype(e)
modelsqueryable
andgiven a query object
q
, the expressione.query(q)
is expression-equivalent
toenv.query(q)
if that expression is valid,; otherwise,
if the type ofq
satisfiesforwarding-query
,e.query(q)
is expression-equivalent toget_env(rcvr).query(q)
; otherwise,e.query(q)
is ill-formed.
Change para 8 as follows:
- Let Sigs be a pack of the arguments to the
completion_signatures
specialization named bycompletion_signatures_of_t<child-type<Sndr>,
. Let
FWD-ENV-T(env_of_t<Rcvr>)>LetSigs
be a pack of those types inSigs
with a return
type ofdecayed-typeof<set-cpo>
. Letas-tuple
be an alias template such that
as-tuple<Tag(Args...)>
denotes the typedecayed-tuple<Args...>
. Then
args_variant_t
denotes the typevariant<monostate, as-tuple<LetSigs>...>
except with duplicate types removed.
Metadata
Metadata
Assignees
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
FWD-ENV
as they should #317as-sndr2(Sig)
in [exec.let] is incomplete #318