Skip to content

stopped_as_optional tests constraints satisfaction of self instead of child #311

Open
@ericniebler

Description

@ericniebler

[exec.stopped.opt]/para 3 reads:

  1. Let sndr and env be subexpressions such that Sndr is decltype((sndr)) and Env is decltype((env)). If sender-for<Sndr, stopped_as_optional_t> is false, or if the type single-sender-value-type<Sndr, Env> is ill-formed or void, then the expression stopped_as_optional.transform_sender(sndr, env) is ill-formed; otherwise, it is equivalent to:

the test for single-sender-value-type<Sndr, Env> is incorrect. it should be testing its child for single-sender-ness.

In addition, it should be applying FWD-ENV-T to Env so that only forwarding queries are forwarded.

Proposed resolution

Change single-sender-value-type<Sndr, Env> to single-sender-value-type<child-type<Sndr>, FWD-ENV-T(Env)> in [exec.stopped.opt] para 2 (twice!), where FWD-ENV-T is specified as in #313.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0bugSomething isn't workingpending-wg21A paper or an LWG issue exits

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions