Skip to content

Comments

exec::repeat_until et al.: Dependent Child Sender Support#1879

Open
RobertLeahy wants to merge 1 commit intoNVIDIA:mainfrom
RobertLeahy:repeat_until_20200221
Open

exec::repeat_until et al.: Dependent Child Sender Support#1879
RobertLeahy wants to merge 1 commit intoNVIDIA:mainfrom
RobertLeahy:repeat_until_20200221

Conversation

@RobertLeahy
Copy link
Contributor

@RobertLeahy RobertLeahy commented Feb 21, 2026

The TODO eliminated by this commit not only meant that exec::repeat_until et al. previously didn't the usual constant evaluation techniques to report errors, it also meant that a hard compile error (rather than a return type indicating that the sender is dependent) resulted if:

  • The child sender was dependent, and
  • An attempt was made to determine the completion signatures of the parent without an environment

Updated so exec::repeat_until et al. now properly report that they are dependent if their child is dependent.

The TODO eliminated by this commit not only meant that exec::
repeat_until et al. previously didn't the usual constant evaluation
techniques to report errors, it also meant that a hard compile error
(rather than a return type indicating that the sender is dependent)
resulted if:

- The child sender was dependent, and
- An attempt was made to determine the completion signatures of the
  parent without an environment

Updated so exec::repeat_until et al. now properly report that they are
dependent if their child is dependent.
@copy-pr-bot
Copy link

copy-pr-bot bot commented Feb 21, 2026

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.

// TODO: port this to use constant evaluation
return __completions_t<__child_of<_Sender>, _Env...>{};
using __child_t = __child_of<_Sender>;
if constexpr (::STDEXEC::__minvocable_q<__completions_t, __child_t, _Env...>)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

imo, better would be to change __completions_t to always be well-formed and return descriptive errors. best would be to rewrite this function to use consteval instead of TMP.

@ericniebler
Copy link
Collaborator

/ok to test 62c7d22

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.

2 participants