Closed ericniebler closed 9 months ago
Hey @ericniebler Can you please say what i exactly need to do here, I'm ready to give it a try.
Sure. There are places that use __x
to hide a template parameter's associated namespaces. You'll see this pattern in code:
template <class ReceiverId>
struct xyz_receiver {
using Receiver = stdexec::__t<ReceiverId>;
// ... receiver implementation here
};
// ... later
template <class Receiver>
xyz_receiver< stdexec::__x<Receiver> > make_xyz_receiver(Receiver rcvr) {...
With __id
, the code needs to become:
template <class ReceiverId>
struct xyz_receiver {
using Receiver = stdexec::__t<ReceiverId>;
struct __t {
using __id = xyz_receiver;
// receiver implementation here...
};
};
// ... later
template <class Receiver>
stdexec::__t< xyz_receiver< stdexec::__id<Receiver> > > make_xyz_receiver(Receiver rcvr) {...
Replacing __x
with __id
this way improves the quality of diagnostics by making nested sender types shorter and less noisy, and so easier to read.
Thanks for offering to help!
Woahh, that's neat !!! Can you provide me with a head start? I simply want to know which files require modifications, then I'll get going. Thank you.
You could start with include/exec/async_scope.hpp
.
Okay It'll do. Thanks
See discussion here for background