Skip to content

Fix when_any error completion decay - #2207

Open
fallintoplace wants to merge 1 commit into
NVIDIA:mainfrom
fallintoplace:fix/when-any-error-decay
Open

Fix when_any error completion decay#2207
fallintoplace wants to merge 1 commit into
NVIDIA:mainfrom
fallintoplace:fix/when-any-error-decay

Conversation

@fallintoplace

@fallintoplace fallintoplace commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

What changed

  • Decay set_value and set_error arguments in when_any completion signatures.
  • Advertise set_error(std::exception_ptr) when storing any completion can throw.
  • Add regressions for lvalue error delivery and throwing error decay.

Why

when_any stores completion arguments in decayed tuples and forwards the winner from moved storage. The completion signatures now match that storage, including its std::exception_ptr fallback when decay-copying throws.

Testing

  • build/test/exec/test.exec (3345 assertions, 338 test cases)
  • ctest --test-dir build --output-on-failure -j 1 (949 passed)

@copy-pr-bot

copy-pr-bot Bot commented Aug 16, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@fallintoplace
fallintoplace force-pushed the fix/when-any-error-decay branch from 92a1104 to 29e3b2c Compare August 16, 2026 00:51
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.

1 participant