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.
let_value(sndr, fn)returnsmake-sender(let-tag, fn, sndr), which means that thelet_valuesender has one child. [exec.adapt.general] says:however,
let_value(sndr, fn)does not know where it will be started or where it will complete in the general case. the functionfncould returnschedule(some-scheduler), making thelet_valueoperation complete onsome-scheduler. it would be wrong for thelet_value(sndr, fn)sender to havesndr's completion schedulers or domains.let_value/error/stoppedmust defineimpls-for<let_xxx_t>::get-attrsto returnFWD-ENV(get_env(sndr))except that handles theget_completion_scheduler_t<Tag>(for any completion tagTag) andget_domain_tqueries specially.