@@ -124,7 +124,7 @@ namespace experimental::execution
124124 {
125125 template <class _Receiver , class _Item >
126126 concept __has_set_next_member = requires (_Receiver& __rcvr, _Item&& __item) {
127- __rcvr.set_next (static_cast <_Item&&>(__item));
127+ __rcvr.set_next (static_cast <_Item &&>(__item));
128128 };
129129
130130 // This is a sequence-receiver CPO that is used to apply algorithms on an input sender and it
@@ -426,8 +426,8 @@ namespace experimental::execution
426426 template <class _Sequence , class ... _Env>
427427 concept has_sequence_item_types = STDEXEC::sender_in<_Sequence, _Env...> //
428428 && requires (_Sequence&& __sequence, _Env&&... __env) {
429- get_item_types (static_cast <_Sequence&&>(__sequence),
430- static_cast <_Env&&>(__env)...);
429+ get_item_types (static_cast <_Sequence &&>(__sequence),
430+ static_cast <_Env &&>(__env)...);
431431 };
432432
433433 template <class _Sequence , class ... _Env>
@@ -518,8 +518,8 @@ namespace experimental::execution
518518 concept sequence_sender_in = sequence_sender<_Sequence, _Env...>
519519 && requires (_Sequence&& __sequence, _Env&&... __env) {
520520 {
521- get_item_types (static_cast <_Sequence&&>(__sequence),
522- static_cast <_Env&&>(__env)...)
521+ get_item_types (static_cast <_Sequence &&>(__sequence),
522+ static_cast <_Env &&>(__env)...)
523523 } -> __well_formed_item_types<_Sequence>;
524524 };
525525
@@ -557,8 +557,7 @@ namespace experimental::execution
557557#endif
558558
559559 template <class _Data , class ... _What>
560- struct __sequence_type_check_failure //
561- : STDEXEC::__compile_time_error<__sequence_type_check_failure<_Data, _What...>>
560+ struct __sequence_type_check_failure : STDEXEC::__compile_time_error
562561 {
563562 static_assert (std::is_nothrow_move_constructible_v<_Data>,
564563 " The data member of sender_type_check_failure must be nothrow move "
@@ -570,16 +569,14 @@ namespace experimental::execution
570569 : __data_(static_cast <_Data&&>(data))
571570 {}
572571
573- private:
574- friend struct STDEXEC ::__compile_time_error<__sequence_type_check_failure>;
575-
576572 [[nodiscard]]
577- constexpr auto what () const noexcept -> char const *
573+ constexpr auto what () const noexcept -> char const * // NOLINT(modernize-use-override)
578574 {
579575 return " This sequence sender is not well-formed. It does not meet the requirements of a "
580576 " sequence sender type." ;
581577 }
582578
579+ // public so that __sequence_type_check_failure is a structural type
583580 _Data __data_{};
584581 };
585582
@@ -845,10 +842,9 @@ namespace experimental::execution
845842 return STDEXEC::connect (static_cast <next_sender_of_t <_Receiver, __tfx_seq_t >&&>(__next),
846843 __stopped_means_break<_Receiver>{
847844 static_cast <_Receiver&&>(__rcvr)});
848- // NOLINTNEXTLINE(bugprone-branch-clone)
849845 }
850846 else if constexpr (__subscribable_with_static_member<__tfx_seq_t , _Receiver>)
851- {
847+ { // NOLINT(bugprone-branch-clone)
852848 return __tfx_seq.subscribe (static_cast <__tfx_seq_t &&>(__tfx_seq),
853849 static_cast <_Receiver&&>(__rcvr));
854850 }
@@ -929,8 +925,8 @@ namespace experimental::execution
929925 template <class _Sequence , class _Receiver >
930926 concept sequence_sender_to = sequence_receiver_from<_Receiver, _Sequence>
931927 && requires (_Sequence&& __sequence, _Receiver&& __rcvr) {
932- subscribe (static_cast <_Sequence&&>(__sequence),
933- static_cast <_Receiver&&>(__rcvr));
928+ subscribe (static_cast <_Sequence &&>(__sequence),
929+ static_cast <_Receiver &&>(__rcvr));
934930 };
935931
936932 template <class _Receiver >
0 commit comments