Skip to content

refactor!: rename continuation::next to reserved (void*) (#344)#346

Merged
mvandeberg merged 1 commit into
cppalliance:develop-2from
mvandeberg:pr/344-continuation-reserved
Jun 30, 2026
Merged

refactor!: rename continuation::next to reserved (void*) (#344)#346
mvandeberg merged 1 commit into
cppalliance:develop-2from
mvandeberg:pr/344-continuation-reserved

Conversation

@mvandeberg

Copy link
Copy Markdown
Contributor

The public next member of capy::continuation over-promised an intrusive-list contract the library does not offer to users: the field is clobbered on submission to the executor and carries no meaning afterward. Rename it to reserved and retype it from continuation* to void* so the name matches the real semantics -- "don't touch" for ordinary users, and a single pre-submission scratch slot that coroutine-machinery authors may commandeer for their own node-based structures.

The internal intrusive queues (thread_pool, strand_queue, and the priority_executor test) still link continuations through this slot; writes convert to void* implicitly and the three read sites cast back with static_cast<continuation*>.

…#344)

The public `next` member of `capy::continuation` over-promised an
intrusive-list contract the library does not offer to users: the field
is clobbered on submission to the executor and carries no meaning
afterward. Rename it to `reserved` and retype it from `continuation*`
to `void*` so the name matches the real semantics -- "don't touch"
for ordinary users, and a single pre-submission scratch slot that
coroutine-machinery authors may commandeer for their own node-based
structures.

The internal intrusive queues (thread_pool, strand_queue, and the
priority_executor test) still link continuations through this slot;
writes convert to void* implicitly and the three read sites cast back
with static_cast<continuation*>.
@cppalliance-bot

Copy link
Copy Markdown

An automated preview of the documentation is available at https://346.capy.prtest3.cppalliance.org/index.html

If more commits are pushed to the pull request, the docs will rebuild at the same URL.

2026-06-30 20:58:09 UTC

@codecov

codecov Bot commented Jun 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (develop-2@8304cbe). Learn more about missing BASE report.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff              @@
##             develop-2     #346   +/-   ##
============================================
  Coverage             ?   98.29%           
============================================
  Files                ?       77           
  Lines                ?     3984           
  Branches             ?        0           
============================================
  Hits                 ?     3916           
  Misses               ?       68           
  Partials             ?        0           
Flag Coverage Δ
linux 98.29% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8304cbe...72b9f9b. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mvandeberg mvandeberg merged commit fa088fb into cppalliance:develop-2 Jun 30, 2026
38 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Beast2 Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants