@@ -113,6 +113,7 @@ struct operation_state : test_detail::immovable {
113113struct sender0 {
114114 struct env {};
115115 using sender_concept = test_std::sender_t ;
116+ using is_basic_sender_tag = void ;
116117 using indices_for = ::std::index_sequence_for<>;
117118 tag t{};
118119 int * data{};
@@ -125,6 +126,7 @@ struct sender0 {
125126
126127struct sender1 {
127128 using sender_concept = test_std::sender_t ;
129+ using is_basic_sender_tag = void ;
128130 using indices_for = ::std::index_sequence_for<sender0>;
129131 tag t{};
130132 int * data{};
@@ -137,6 +139,7 @@ struct sender1 {
137139
138140struct sender2 {
139141 using sender_concept = test_std::sender_t ;
142+ using is_basic_sender_tag = void ;
140143 using indices_for = ::std::index_sequence_for<sender0, sender0>;
141144 tag t{};
142145 int * data{};
@@ -150,6 +153,7 @@ struct sender2 {
150153
151154struct sender3 {
152155 using sender_concept = test_std::sender_t ;
156+ using is_basic_sender_tag = void ;
153157 using indices_for = ::std::index_sequence_for<sender0, sender0, sender0>;
154158 tag t{};
155159 int * data{};
@@ -164,6 +168,7 @@ struct sender3 {
164168
165169struct sender4 {
166170 using sender_concept = test_std::sender_t ;
171+ using is_basic_sender_tag = void ;
167172 using indices_for = ::std::index_sequence_for<sender0, sender0, sender0, sender0>;
168173 tag t{};
169174 int * data{};
@@ -547,28 +552,33 @@ auto test_default_impls_get_state() -> void {
547552 auto operator ==(const data&) const -> bool = default ;
548553 };
549554 struct local_sender0 {
555+ using is_basic_sender_tag = void ;
550556 local_tag t{};
551557 data d{1 , 2 };
552558 };
553559 struct local_sender1 {
560+ using is_basic_sender_tag = void ;
554561 local_tag t{};
555562 data d{1 , 2 };
556563 int i1{};
557564 };
558565 struct local_sender2 {
566+ using is_basic_sender_tag = void ;
559567 local_tag t{};
560568 data d{1 , 2 };
561569 int i1{};
562570 int i2{};
563571 };
564572 struct local_sender3 {
573+ using is_basic_sender_tag = void ;
565574 local_tag t{};
566575 data d{1 , 2 };
567576 int i1{};
568577 int i2{};
569578 int i3{};
570579 };
571580 struct local_sender4 {
581+ using is_basic_sender_tag = void ;
572582 local_tag t{};
573583 data d{1 , 2 };
574584 int i1{};
@@ -665,6 +675,7 @@ auto test_state_type() -> void {
665675 };
666676 struct state {};
667677 struct sender {
678+ using is_basic_sender_tag = void ;
668679 local_tag t;
669680 state s;
670681 };
@@ -679,6 +690,7 @@ auto test_basic_state() -> void {
679690 };
680691 struct data {};
681692 struct local_sender {
693+ using is_basic_sender_tag = void ;
682694 local_tag t;
683695 data d;
684696 };
@@ -717,10 +729,12 @@ auto test_env_type() -> void {
717729 struct data {};
718730 struct local_env {};
719731 struct local_sender {
732+ using is_basic_sender_tag = void ;
720733 local_tag t;
721734 data d;
722735 };
723736 struct sender_with_env {
737+ using is_basic_sender_tag = void ;
724738 local_tag t;
725739 data d;
726740 auto get_env () const noexcept -> local_env { return {}; }
@@ -750,6 +764,7 @@ auto test_basic_receiver() -> void {
750764 auto operator ==(const err&) const -> bool = default ;
751765 };
752766 struct local_sender {
767+ using is_basic_sender_tag = void ;
753768 local_tag t{};
754769 data d{};
755770 };
@@ -1099,6 +1114,7 @@ struct basic_sender_tag {
10991114struct data {};
11001115struct tagged_sender : test_detail::product_type<basic_sender_tag, data, sender0> {
11011116 using sender_concept = test_std::sender_t ;
1117+ using is_basic_sender_tag = void ;
11021118};
11031119} // namespace
11041120namespace std {
0 commit comments