conditionally contribute set_error_t(std::exception_ptr) in repeat_* senders#1799
Open
justend29 wants to merge 15 commits intoNVIDIA:mainfrom
Open
conditionally contribute set_error_t(std::exception_ptr) in repeat_* senders#1799justend29 wants to merge 15 commits intoNVIDIA:mainfrom
set_error_t(std::exception_ptr) in repeat_* senders#1799justend29 wants to merge 15 commits intoNVIDIA:mainfrom
Conversation
ericniebler
requested changes
Jan 28, 2026
Co-authored-by: Eric Niebler <eniebler@boost.org>
Contributor
Author
|
Thank you for the review, @ericniebler. All of your comments have been addressed, though |
Collaborator
|
/ok to test ac8352c |
ericniebler
approved these changes
Jan 30, 2026
Collaborator
|
/ok to test 99cf087 |
Contributor
Author
|
@ericniebler It's odd that the CI jobs using an older version of GCC fail while the other CI jobs pass. I tested everything with GCC15.2.1 locally. I'm not sure if you have any ideas, but I can probably install an older version of GCC and try to reproduce the failing build locally over the weekend. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Currently, the
repeat_family of sender adapters invariantly contributesset_error_t(std::exception_ptr)to its completion signatures, which I first mentioned in this issue. This PR causesrepeat_until,repeat, andrepeat_nto conditionally contributeset_error_t(std::exception_ptr)to the completion signatures. Each of the possible cases (not) to contribute the completion signature are individually tested.It also contains some small corrections that were originally in #1797, until @RobertLeahy informed me that it is possible to detect the
noexcept-ness of aconnectusingSTDEXEC::__receiver_archetype<Env>, wherein I returned to this original goal.This is also my first time working with the meta-programming system in this library, so feedback is welcome.