Skip to content

let_value/error/stopped should specify the attributes of their senders #346

@ericniebler

Description

@ericniebler

let_value(sndr, fn) returns make-sender(let-tag, fn, sndr), which means that the let_value sender has one child. [exec.adapt.general] says:

A parent sender with a single child sender sndr has an associated attribute object equal to FWD-ENV(get_env(sndr)).

however, let_value(sndr, fn) does not know where it will be started or where it will complete in the general case. the function fn could return schedule(some-scheduler), making the let_value operation complete on some-scheduler. it would be wrong for the let_value(sndr, fn) sender to have sndr's completion schedulers or domains.

let_value/error/stopped must define impls-for<let_xxx_t>::get-attrs to return FWD-ENV(get_env(sndr)) except that handles the get_completion_scheduler_t<Tag> (for any completion tag Tag) and get_domain_t queries specially.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0bugSomething isn't workingneeds-proposed-resolutionThis issue does not yet have a proposed resolution but needs one

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions