3232#include " ../../stdexec/__detail/__senders_core.hpp"
3333#include " ../../stdexec/__detail/__stop_token.hpp"
3434#include " ../../stdexec/__detail/__transform_completion_signatures.hpp"
35- #include " ../../stdexec/__detail/__unstoppable.hpp"
3635#include " ../../stdexec/__detail/__variant.hpp"
3736
3837#include < atomic>
@@ -240,7 +239,7 @@ namespace exec {
240239
241240 __operation_base_interface_t * __op_;
242241
243- template <std::same_as< __t > _Self, class ... _Env>
242+ template <class _Self , class ... _Env>
244243 STDEXEC_EXPLICIT_THIS_BEGIN (
245244 auto get_completion_signatures)(this _Self&&, _Env&&...) noexcept
246245 -> stdexec::__mapply<
@@ -252,8 +251,9 @@ namespace exec {
252251 > {
253252 return {};
254253 }
254+ STDEXEC_EXPLICIT_THIS_END (get_completion_signatures)
255255
256- template <std::same_as< __t > _Self, receiver _ErrorReceiver>
256+ template <class _Self, receiver _ErrorReceiver>
257257 STDEXEC_EXPLICIT_THIS_BEGIN(auto connect)(this _Self&& __self, _ErrorReceiver&& __rcvr)
258258 noexcept (__nothrow_move_constructible<_ErrorReceiver>)
259259 -> __error_op_t<stdexec::__id<_ErrorReceiver>> {
@@ -607,7 +607,7 @@ namespace exec {
607607 _NestedValueSender __nested_value_;
608608 __operation_base_interface_t * __op_;
609609
610- template <std::same_as< __t > _Self, class ... _Env>
610+ template <class _Self , class ... _Env>
611611 STDEXEC_EXPLICIT_THIS_BEGIN (
612612 auto get_completion_signatures)(this _Self&&, _Env&&...) noexcept
613613 -> stdexec::transform_completion_signatures<
@@ -618,8 +618,9 @@ namespace exec {
618618 > {
619619 return {};
620620 }
621+ STDEXEC_EXPLICIT_THIS_END (get_completion_signatures)
621622
622- template <std::same_as< __t > _Self, receiver _NestedValueReceiver>
623+ template <class _Self , receiver _NestedValueReceiver>
623624 STDEXEC_EXPLICIT_THIS_BEGIN (
624625 auto connect)(this _Self&& __self, _NestedValueReceiver&& __rcvr)
625626 noexcept (__nothrow_constructible_from<
@@ -1072,14 +1073,16 @@ namespace exec {
10721073 _OperationBase* __op_;
10731074 _NestedSequenceSender __nested_sequence_;
10741075
1075- template <std::same_as< __t > _Self, class ... _Env>
1076+ template <class _Self , class ... _Env>
10761077 STDEXEC_EXPLICIT_THIS_BEGIN (
10771078 auto get_completion_signatures)(this _Self&&, _Env&&...) noexcept
10781079 -> stdexec::completion_signatures<stdexec::set_value_t (), stdexec::set_stopped_t ()> {
10791080 return {};
10801081 }
1082+ STDEXEC_EXPLICIT_THIS_END (get_completion_signatures)
10811083
1082- template <std::same_as<__t > _Self, receiver _NextReceiver>
1084+
1085+ template <class _Self , receiver _NextReceiver>
10831086 STDEXEC_EXPLICIT_THIS_BEGIN (auto connect)(this _Self&& __self, _NextReceiver&& __rcvr)
10841087 noexcept (__nothrow_constructible_from<
10851088 __next_sequence_op_t <stdexec::__id<_NextReceiver>>,
0 commit comments