Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specify when all with no senders #13

Open
ericniebler opened this issue Dec 7, 2023 · 2 comments
Open

Specify when all with no senders #13

ericniebler opened this issue Dec 7, 2023 · 2 comments
Labels
design enhancement New feature or request good-first-issue Something to try if you're new to the project needs-paper Needs a paper to be written P2

Comments

@ericniebler
Copy link
Collaborator

Issue by bustercopley
Friday Oct 14, 2022 at 18:19 GMT
Originally opened as brycelelbach/wg21_p2300_execution#3


See NVIDIA/stdexec#482


bustercopley included the following code: https://github.com/brycelelbach/wg21_p2300_execution/pull/3/commits

@inbal2l
Copy link
Collaborator

inbal2l commented Jul 7, 2024

@ericniebler do I understand correctly that the 0 case is not supported? (I'm deducing from the PR, as the title is a bit unclear to me). If so, I think this is fixed in the wording of R10:
https://cplusplus.github.io/sender-receiver/execution.html#spec-execution.senders.adaptor.when_all
(actually, I think the behaviour for 0 is not specified in the design, but we're passed that and in the wording stage anyway).

@inbal2l inbal2l added bug Something isn't working wording labels Jul 7, 2024
@lewissbaker lewissbaker added the needs-paper Needs a paper to be written label Aug 19, 2024
@ericniebler ericniebler added P2 enhancement New feature or request good-first-issue Something to try if you're new to the project and removed wording bug Something isn't working labels Feb 7, 2025
@bustercopley
Copy link
Contributor

bustercopley commented Mar 9, 2025

@ericniebler do I understand correctly that the 0 case is not supported?

It is supported by the code in the NVIDIA/stdexec repository (since this commit), but disallowed by the wording of R10.

(I'm deducing from the PR, as the title is a bit unclear to me). If so, I think this is fixed in the wording of R10: https://cplusplus.github.io/sender-receiver/execution.html#spec-execution.senders.adaptor.when_all

The wording that makes the case of zero senders a special case is still there: in 34.9.11.11, ¶2, "The expressions when_all(sndrs...) and when_all_with_variant(sndrs...) are ill-formed if [...] sizeof...(sndrs) is 0". In my opinion it should be removed.

(actually, I think the behaviour for 0 is not specified in the design, but we're passed that and in the wording stage anyway).

The way I see it, making "sizeof...(sndrs) is 0" into a special case was not in the design in the first place. If it is not a special case then there is no need to mention the fact that it is not a special case. If I'm right about that, then no design fix is needed.

I would classify this as wording, bug (not design, needs-paper), and the wording changes that I suggest are linked in Eric's description (brycelelbach/wg21_p2300_execution#3). But I don't understand the procedures here, so I will leave it to the experts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design enhancement New feature or request good-first-issue Something to try if you're new to the project needs-paper Needs a paper to be written P2
Projects
None yet
Development

No branches or pull requests

4 participants