Skip to content

refactor(example): make channel splitting structural rather than nominal - #376

Merged
sgerbino merged 1 commit into
cppalliance:developfrom
sgerbino:pr/p4093-awaitable-sender
Aug 4, 2026
Merged

refactor(example): make channel splitting structural rather than nominal#376
sgerbino merged 1 commit into
cppalliance:developfrom
sgerbino:pr/p4093-awaitable-sender

Conversation

@sgerbino

@sgerbino sgerbino commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Key the awaitable-sender's error_code splitting on shape instead of the io_result name, per P4093: any tuple-like whose element 0 is error_code is an outcome. Single-element outcomes split across the value/error channels; compound ones (error_code plus payload) are rejected at compile time regardless of type name, since exclusive completion channels cannot carry a partial success without dropping data. Replace the io_result arity trait with tuple-protocol probes and update the shape coverage in the static assertions.

Key the awaitable-sender's error_code splitting on shape instead of
the io_result name, per P4093: any tuple-like whose element 0 is
error_code is an outcome. Single-element outcomes split across the
value/error channels; compound ones (error_code plus payload) are
rejected at compile time regardless of type name, since exclusive
completion channels cannot carry a partial success without dropping
data. Replace the io_result arity trait with tuple-protocol probes
and update the shape coverage in the static assertions.
@cppalliance-bot

Copy link
Copy Markdown

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

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

2026-08-04 13:42:09 UTC

@codecov

codecov Bot commented Aug 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.09%. Comparing base (9e03a84) to head (7a926d2).
⚠️ Report is 1 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff            @@
##           develop     #376   +/-   ##
========================================
  Coverage    98.09%   98.09%           
========================================
  Files          132      132           
  Lines         6288     6288           
========================================
  Hits          6168     6168           
  Misses         120      120           
Flag Coverage Δ
linux 98.08% <ø> (ø)

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 9e03a84...7a926d2. Read the comment docs.

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

@sgerbino
sgerbino merged commit de7c948 into cppalliance:develop Aug 4, 2026
38 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Beast2 Aug 4, 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