cplusplus / sender-receiver

Issues list for P2300
Apache License 2.0
20 stars 3 forks source link

Should when_all[_with_variant] make any guarantees about completion context? #117

Open ericniebler opened 10 months ago

ericniebler commented 10 months ago

Issue by ericniebler Wednesday Nov 17, 2021 at 17:49 GMT Originally opened as https://github.com/NVIDIA/stdexec/issues/262


According to the current spec, when_all is permitted to complete any any arbitrary execution context. In practice though, it is guaranteed to complete in one of the contexts on which a child completes, or else it will complete inline in start. We could specify that or say nothing.

lewissbaker commented 3 months ago

The specification in P2300R10 of the default implementation of when_all is now detailed enough to infer that the completion context of the when_all() operation is either the context on which start() is called, or on one of the completion contexts of the child operations.

@ericniebler do we need anything more than this? e.g. do we need some specification to constrain where customisations are allowed to complete?