-
Notifications
You must be signed in to change notification settings - Fork 781
[2025-06 LWG Motion 34] P3552R3 Add a Coroutine Task #8032
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
[2025-06 LWG Motion 34] P3552R3 Add a Coroutine Task #8032
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for drafting this up.
Lots of work required before this is ready to go.
Also note that fixing up CI builds is not a fixup commit; it should just go into the main commit. The point of fixups is just to distinguish between turning the paper into TeX, and fixing typos and other minor issues afterwards.
Massaging whitespace or paragraph justification is not a separate commit.
source/exec.tex
Outdated
\tcode{affine_on} adapts a sender into one that completes on | ||
the specified scheduler. If the algorithm determines that the adapted | ||
sender already completes on the correct scheduler it can avoid any | ||
scheduling operation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This repository uses semantic line breaks (https://sembr.org/). I don't want to bother you too much, but please put new sentences on a separate line at least. That is, newline after .
.
Note that the TeX still renders the same whether you put a space or a newline into the source.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have changed the text to have each sentence start on a new line (in this commit)
@Eisenwave and @dietmarkuehl , let me recap the general rules for paper pull requests, and their rationale.
Adding cross-references to definitions of terms is probably in the "obviously editorial" area, but requires a check whether the xref is pointing to the right place (and thus is putting additional burden on the reviewers). Having a separate, proper editorial commit "[sub.clause.label] Add cross-references to term definitions" would be a bit more transparent, and clearly differentiates paper content from add-on editorial fixes. Occasionally, cross-references are normative (we mean exactly those situations), and changing / amending them would not be editorial. Hope that helps. |
I believe I have addressed all comments which were raised so far. Please let me know when I need to do more changes. Thank you very much for the review! |
5df4a38
to
3414b7e
Compare
I've squashed the fixups and rebased the branch so it's now in its final position. |
source/exec.tex
Outdated
@@ -7877,3 +7909,871 @@ | |||
The storage referenced by \tcode{s} may be used by \tcode{*this} | |||
as temporary storage for the duration of the operation launched by this call. | |||
\end{itemdescr} | |||
|
|||
\rSec2[exec.affine.on]{\tcode{execution::affine_on}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dietmarkuehl I'm assuming this material is meant to go under "Coroutine utilities" (which happened to be at the end of [exec] prior to this meeting), rather than under "Namespace system_context_replaceability".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, that is correct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changed location is the result of a previous rebase, I guess. Is there something I should do?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, I've got it. It was just that the edit instructions were not literally true ("at the end of [exec]" should instead of named the subclause at whose end you wanted it), so I mainly just want to confirm that I understood the intention.
3414b7e
to
79d1725
Compare
Editorial notes: - the new subclauses are appended at the end of [exec.coro.util], not at the end of [exec] as the paper says - inconsistent default template arguments for the ctor in the class declaration (allocator<byte> and the later description (allocator<void>); the wording consistently uses allocator<void> - added "of the" to a sentence about the type of a completion datum: "... defines the type *of the* value completion datum" - the use of the template parameter of the nested type state is Rcvr which has two problems: 1. the ctor also uses the name Rcvr for its template parameter 2. the class stores an object of type R which is the receiver named rcvr the most logic fix is to use Rcvr consistently for the state and change the name for the ctor's parameter: 1. change the ctor template parameter type to use R 2. change the member to use Rcvr 3. change the type R used for the own-env-t to be "...get_env(declval<Rcvr>())..."
The definitions of with_error and change_coroutine_scheduler are now in the main <execution> synopsis. They have no further description.
79d1725
to
c557f21
Compare
Thanks a lot for this, Dietmar! Very nice drafting! |
I have applied the changes for P3552r3 (Add a Coroutine Task Type). Compared to the actual text of P3552r3
I made some [I think editorial] changes:
Fixes #7971
Fixes cplusplus/papers#2200