@@ -117,17 +117,19 @@ namespace exec {
117117 template <__decays_to<__t > _Self, receiver _Receiver>
118118 requires sender_to<__copy_cvref_t <_Self, _Constrained>, _Receiver>
119119 [[nodiscard]]
120- static auto
121- connect (_Self&& __self, _Receiver __rcvr) -> __when_empty_op_t <_Self, _Receiver> {
120+ STDEXEC_EXPLICIT_THIS_BEGIN ( auto connect)( this _Self&& __self, _Receiver __rcvr)
121+ -> __when_empty_op_t <_Self, _Receiver> {
122122 return __when_empty_op_t <_Self, _Receiver>{
123123 __self.__scope_ , static_cast <_Self&&>(__self).__c_ , static_cast <_Receiver&&>(__rcvr)};
124124 }
125+ STDEXEC_EXPLICIT_THIS_END (connect)
125126
126127 template <__decays_to<__t > _Self, class ... _Env>
127- static auto get_completion_signatures ( _Self&&, _Env&&...)
128+ STDEXEC_EXPLICIT_THIS_BEGIN ( auto get_completion_signatures)( this _Self&&, _Env&&...)
128129 -> __completion_signatures_of_t <__copy_cvref_t <_Self, _Constrained>, __env_t <_Env>...> {
129130 return {};
130131 }
132+ STDEXEC_EXPLICIT_THIS_END (get_completion_signatures)
131133
132134 const __impl* __scope_;
133135 STDEXEC_ATTRIBUTE (no_unique_address) _Constrained __c_;
@@ -256,16 +258,19 @@ namespace exec {
256258 template <__decays_to<__t > _Self, receiver _Receiver>
257259 requires sender_to<__copy_cvref_t <_Self, _Constrained>, __nest_receiver_t <_Receiver>>
258260 [[nodiscard]]
259- static auto connect (_Self&& __self, _Receiver __rcvr) -> __nest_operation_t<_Receiver> {
261+ STDEXEC_EXPLICIT_THIS_BEGIN (auto connect)(this _Self&& __self, _Receiver __rcvr)
262+ -> __nest_operation_t <_Receiver> {
260263 return __nest_operation_t <_Receiver>{
261264 __self.__scope_ , static_cast <_Self&&>(__self).__c_ , static_cast <_Receiver&&>(__rcvr)};
262265 }
266+ STDEXEC_EXPLICIT_THIS_END (connect)
263267
264268 template <__decays_to<__t > _Self, class ... _Env>
265- static auto get_completion_signatures ( _Self&&, _Env&&...)
269+ STDEXEC_EXPLICIT_THIS_BEGIN ( auto get_completion_signatures)( this _Self&&, _Env&&...)
266270 -> __completion_signatures_of_t <__copy_cvref_t <_Self, _Constrained>, __env_t <_Env>...> {
267271 return {};
268272 }
273+ STDEXEC_EXPLICIT_THIS_END (get_completion_signatures)
269274 };
270275 };
271276
@@ -654,15 +659,19 @@ namespace exec {
654659
655660 template <__decays_to<__t > _Self, receiver _Receiver>
656661 requires receiver_of<_Receiver, __completions_t <_Self>>
657- static auto connect (_Self&& __self, _Receiver __rcvr) -> __future_op_t<_Receiver> {
662+ STDEXEC_EXPLICIT_THIS_BEGIN (auto connect)(this _Self&& __self, _Receiver __rcvr)
663+ -> __future_op_t <_Receiver> {
658664 return __future_op_t <_Receiver>{
659665 static_cast <_Receiver&&>(__rcvr), static_cast <_Self&&>(__self).__state_ };
660666 }
667+ STDEXEC_EXPLICIT_THIS_END (connect)
661668
662669 template <__decays_to<__t > _Self, class ... _OtherEnv>
663- static auto get_completion_signatures (_Self&&, _OtherEnv&&...) -> __completions_t<_Self> {
670+ STDEXEC_EXPLICIT_THIS_BEGIN (auto get_completion_signatures)(this _Self&&, _OtherEnv&&...)
671+ -> __completions_t <_Self> {
664672 return {};
665673 }
674+ STDEXEC_EXPLICIT_THIS_END (get_completion_signatures)
666675
667676 private:
668677 friend struct async_scope ;
0 commit comments