Skip to content

invalid expression in [exec.when.all] #347

@ericniebler

Description

@ericniebler

[exec.when.all]/p5 reads as follows:

  1. 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 stop_token_t and whose
      type satisfies forwarding-query, e.query(q) is expression-equivalent to
      get_env(rcvr).query(q).

The problem is with "state.stop-src.get_token()" in bullet (5.2). There is no state object here. This expression should be stop_src.get_token().

Proposed resolution

In [exec.when.all] paragraph 5 bullet (5.2), change state.stop-src.get_token() to stop_src.get_token().

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions