A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/cplusplus/sender-receiver/issues/313 below:

constraints on `schedule_from`'s `get-state` function are incorrect · Issue #313 · cplusplus/sender-receiver · GitHub

[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):

  1. 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.

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4