Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

let_value is not applying FWD-ENV as it should #316

Open
ericniebler opened this issue Jan 21, 2025 · 0 comments
Open

let_value is not applying FWD-ENV as it should #316

ericniebler opened this issue Jan 21, 2025 · 0 comments
Labels
bug Something isn't working P1 pending-wg21 A paper or an LWG issue exits

Comments

@ericniebler
Copy link
Collaborator

The child senders should only see the parent's queries if they are forwarding queries.

Proposed resolution

Change [exec.let] para 6 as follows:

  1. Let receiver2 denote the following exposition-only class template:

    namespace std::execution {
      ... as before ...
    }

    Invocation of the function receiver2::get_env returns an object e such that

    1. decltype(e) models queryable and

    2. given a query object q, the expression e.query(q) is expression-equivalent
      to env.query(q) if that expression is valid,; otherwise,
      if the type of q satisfies forwarding-query,
      e.query(q)
      is expression-equivalent to get_env(rcvr).query(q); otherwise, e.query(q)
      is ill-formed
      .

Change para 8 as follows:

  1. Let Sigs be a pack of the arguments to the completion_signatures
    specialization named by completion_signatures_of_t<child-type<Sndr>,
    FWD-ENV-T(env_of_t<Rcvr>)>
    . Let LetSigs be a pack of those types in Sigs with a return
    type of decayed-typeof<set-cpo>. Let as-tuple be an alias template such that
    as-tuple<Tag(Args...)> denotes the type decayed-tuple<Args...>. Then
    args_variant_t denotes the type variant<monostate, as-tuple<LetSigs>...>
    except with duplicate types removed.
@ericniebler ericniebler added bug Something isn't working P1 labels Jan 21, 2025
@ericniebler ericniebler added the pending-wg21 A paper or an LWG issue exits label Feb 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working P1 pending-wg21 A paper or an LWG issue exits
Projects
None yet
Development

No branches or pull requests

1 participant