@@ -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
@@ -428,8 +428,8 @@ namespace experimental::execution
428428 template <class _Sequence , class ... _Env>
429429 concept has_sequence_item_types = STDEXEC::sender_in<_Sequence, _Env...> //
430430 && requires (_Sequence&& __sequence, _Env&&... __env) {
431- get_item_types (static_cast <_Sequence&&>(__sequence),
432- static_cast <_Env&&>(__env)...);
431+ get_item_types (static_cast <_Sequence &&>(__sequence),
432+ static_cast <_Env &&>(__env)...);
433433 };
434434
435435 template <class _Sequence , class ... _Env>
@@ -520,8 +520,8 @@ namespace experimental::execution
520520 concept sequence_sender_in = sequence_sender<_Sequence, _Env...>
521521 && requires (_Sequence&& __sequence, _Env&&... __env) {
522522 {
523- get_item_types (static_cast <_Sequence&&>(__sequence),
524- static_cast <_Env&&>(__env)...)
523+ get_item_types (static_cast <_Sequence &&>(__sequence),
524+ static_cast <_Env &&>(__env)...)
525525 } -> __well_formed_item_types<_Sequence>;
526526 };
527527
@@ -559,8 +559,7 @@ namespace experimental::execution
559559#endif
560560
561561 template <class _Data , class ... _What>
562- struct __sequence_type_check_failure //
563- : STDEXEC::__compile_time_error<__sequence_type_check_failure<_Data, _What...>>
562+ struct __sequence_type_check_failure : STDEXEC::__compile_time_error
564563 {
565564 static_assert (std::is_nothrow_move_constructible_v<_Data>,
566565 " The data member of sender_type_check_failure must be nothrow move "
@@ -572,16 +571,14 @@ namespace experimental::execution
572571 : __data_(static_cast <_Data&&>(data))
573572 {}
574573
575- private:
576- friend struct STDEXEC ::__compile_time_error<__sequence_type_check_failure>;
577-
578574 [[nodiscard]]
579- constexpr auto what () const noexcept -> char const *
575+ constexpr auto what () const noexcept -> char const * // NOLINT(modernize-use-override)
580576 {
581577 return " This sequence sender is not well-formed. It does not meet the requirements of a "
582578 " sequence sender type." ;
583579 }
584580
581+ // public so that __sequence_type_check_failure is a structural type
585582 _Data __data_{};
586583 };
587584
@@ -849,10 +846,9 @@ namespace experimental::execution
849846 return STDEXEC::connect (static_cast <next_sender_of_t <_Receiver, __tfx_seq_t >&&>(__next),
850847 __stopped_means_break<_Receiver>{
851848 static_cast <_Receiver&&>(__rcvr)});
852- // NOLINTNEXTLINE(bugprone-branch-clone)
853849 }
854850 else if constexpr (__subscribable_with_static_member<__tfx_seq_t , _Receiver>)
855- {
851+ { // NOLINT(bugprone-branch-clone)
856852 return __tfx_seq.subscribe (static_cast <__tfx_seq_t &&>(__tfx_seq),
857853 static_cast <_Receiver&&>(__rcvr));
858854 }
@@ -933,8 +929,8 @@ namespace experimental::execution
933929 template <class _Sequence , class _Receiver >
934930 concept sequence_sender_to = sequence_receiver_from<_Receiver, _Sequence>
935931 && requires (_Sequence&& __sequence, _Receiver&& __rcvr) {
936- subscribe (static_cast <_Sequence&&>(__sequence),
937- static_cast <_Receiver&&>(__rcvr));
932+ subscribe (static_cast <_Sequence &&>(__sequence),
933+ static_cast <_Receiver &&>(__rcvr));
938934 };
939935
940936 template <class _Receiver >
0 commit comments