Skip to content

Update paper to P3149R11 as approved by LWG in Sofia, Bulgaria#50

Merged
ispeters merged 39 commits into
mainfrom
d3149r11
Jun 19, 2025
Merged

Update paper to P3149R11 as approved by LWG in Sofia, Bulgaria#50
ispeters merged 39 commits into
mainfrom
d3149r11

Conversation

@ispeters

Copy link
Copy Markdown
Owner

No description provided.

* Rename from _`stop_when`_ to _`stop-when`_ to match expo-only naming
  style
* Create a section in the wording to define _`stop-when`_ so it can be
  referred to in both `spawn_future` and `counting_scope::wrap`
* Fix up references to `get_stop_token(r)` so they now say
  `get_stop_token(get_env(r))`
Rewrite the wording for `counting_scope::token::wrap` to use
_`stop-when`_ now that it's been defined in its own section.
Factor "if the provided token is unstoppable then _`stop-when`_ return
its input sender" into the definition of _`stop-when`_.
Applying changes after reviewing with @dietmarkuehl.
Reword `spawn_future` to use _`stop-when`_ as the means by which we
construct the "fused stop token" we need. Also, tweak the formatting a
little.
Per @rarutyun and @villevoutilainen's P3706R0 and @RobertLeahy's
P3685R0, rename `nest` to `associate` and `async_scope_token` to
`scope_token`.

Also updated uses of "nest" as a verb through the paper to use
"associate" instead to be consistent with the algorithm's name.
ispeters added 2 commits June 1, 2025 23:54
I realized we were still addressing this proposal to SG1 and LEWG, even
though both subcommittees have forwarded us. This diff changes the
audience to LWG.
We reasoned that `spawn_future` and `join` don't need to do any
sender-specific type-checking so the default implementation of
_`check-types`_ is fine.
Move the responsibilities of `@_spawn-future-state_@::@_run_@` into the
constructor, eliminating a try-catch block in `spawn_future`'s `start`
implementation.
* Remove the _`run`_ method from _`spawn-state`_ by moving its behaviour
  into the constructor
* Simplify the implementation of `spawn` by deleting try-catch-wrapped
  invocation of _`run`_
* Re-express the _`spawn-state`_ constructor in prose
* Tighten up the formatting
* Move paragraph 5, which defines `alloc` and `senv` to paragraph 10,
  just before the definition of `spawn` itself
Tim Song provided feedback via an email to lib@lists.isocpp.org; this
diff attempts to apply that feedback.
This diff incorporates the feedback we received during the final session
of LWG on Wednesday in Sofia. I've also tried to proactively update the
wording for `counting_scope` to match the feedback given on
`simple_counting_scope`, and made some editorial changes like updating
references to P2300 to refer to R9 and R10 where appropriate rather than
R7, added to the Acknowledgments, and a few other similar changes.
Wrap lines at 120 characters, line up //-comments.

Leave two TODOs to be resolved by LWG.
ispeters added 3 commits June 18, 2025 16:34
Some small editorial changes to sections 1 through 6 to ensure that the
design discussion and wording are in sync, and that references to other
papers are referring to the appropriate (usually most-recent) revision.
@ispeters ispeters marked this pull request as ready for review June 19, 2025 15:30
@ispeters ispeters changed the title Update paper number to D3149R11 Update paper to P3149R11 as approved by LWG in Sofia, Bulgaria Jun 19, 2025
@ispeters ispeters merged commit 66b2c39 into main Jun 19, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants