@@ -117,7 +117,8 @@ namespace nvexec {
117117 STDEXEC_EXPLICIT_THIS_END (connect)
118118
119119 template <__decays_to<__t > Self, class Env >
120- STDEXEC_EXPLICIT_THIS_BEGIN (auto get_completion_signatures)(this Self&&, Env&&) -> _completion_signatures_t <Self, Env> {
120+ STDEXEC_EXPLICIT_THIS_BEGIN (auto get_completion_signatures)(this Self&&, Env&&)
121+ -> _completion_signatures_t <Self, Env> {
121122 return {};
122123 }
123124 STDEXEC_EXPLICIT_THIS_END (get_completion_signatures)
@@ -140,8 +141,8 @@ namespace nvexec {
140141 }
141142
142143 STDEXEC_ATTRIBUTE (always_inline)
143- auto operator ()(std::string name) const -> stdexec::__binder_back<push_t, std::string> {
144- return {{ std::move (name)}, {}, {}} ;
144+ auto operator ()(std::string name) const {
145+ return stdexec::__closure (* this , std::move (name)) ;
145146 }
146147 };
147148
@@ -152,8 +153,8 @@ namespace nvexec {
152153 }
153154
154155 STDEXEC_ATTRIBUTE (always_inline)
155- auto operator ()() const noexcept -> stdexec::__binder_back<pop_t> {
156- return {{}, {}, {}} ;
156+ auto operator ()() const noexcept {
157+ return stdexec::__closure (* this ) ;
157158 }
158159 };
159160
@@ -168,13 +169,8 @@ namespace nvexec {
168169
169170 template <stdexec::__sender_adaptor_closure Closure>
170171 STDEXEC_ATTRIBUTE (always_inline)
171- auto operator ()(std::string name, Closure closure) const
172- -> stdexec::__binder_back<scoped_t, std::string, Closure> {
173- return {
174- {std::move (name), static_cast <Closure&&>(closure)},
175- {},
176- {}
177- };
172+ auto operator ()(std::string name, Closure closure) const {
173+ return stdexec::__closure (*this , std::move (name), static_cast <Closure&&>(closure));
178174 }
179175 };
180176
0 commit comments