You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I believe that I've identified two issues with the examples.
The completion signatures on the _then_sender fail when the function returns void. (error: invalid parameter type 'std::__success_type<void>::type' {aka 'void'}) Some guidance needs to be given on how to handle void return types!
The _then_receiver relies on base() being a member of the parent class receiver; however, base() isn't part of the specification anywhere. Would it be plausible to have the example static_cast<R&&>(std::move(*this)), or is that somehow wrong. If so, the example needs further exposition on what the example is doing.
The text was updated successfully, but these errors were encountered:
The example also fails if the function must take an input value.
Trying to figure this out from compiler messages and reading the stdexec code is almost impossible.
For example, I cannot copy code from __then.hpp into a new file, and attempt to progressively refactor it in order to understand what all the parts do. (The variable names aren't great... the compiler errors unhelpful.)
I think it's important that we have at least a minimal working example that shows how you'd write a then sender.
In particular, P2300r10 says that "it's a challenge" to write the completion signatures for a sender. No kidding. An example is with 1000 pages of standardize. How do I write the completion signatures?
I believe that I've identified two issues with the examples.
_then_sender
fail when the function returnsvoid
. (error: invalid parameter type 'std::__success_type<void>::type' {aka 'void'}
) Some guidance needs to be given on how to handle void return types!_then_receiver
relies onbase()
being a member of the parent class receiver; however,base()
isn't part of the specification anywhere. Would it be plausible to have the examplestatic_cast<R&&>(std::move(*this))
, or is that somehow wrong. If so, the example needs further exposition on what the example is doing.The text was updated successfully, but these errors were encountered: