@@ -48,22 +48,15 @@ namespace stdexec {
4848
4949 static constexpr auto start =
5050 []<class _State , class _Receiver >(_State& __state, _Receiver& __rcvr) noexcept -> void {
51- __state.apply (
52- [&]<class ... _Ts>(_Ts&... __ts) noexcept {
53- __tag_t ()(static_cast <_Receiver&&>(__rcvr), static_cast <_Ts&&>(__ts)...);
54- },
55- __state);
51+ __state.apply (__tag_t (), static_cast <_State&&>(__state), static_cast <_Receiver&&>(__rcvr));
5652 };
5753
5854 static constexpr auto submit =
5955 []<class _Sender , class _Receiver >(_Sender&& __sndr, _Receiver __rcvr) noexcept -> void {
6056 static_assert (sender_expr_for<_Sender, _JustTag>);
6157 auto && __state = get_state (static_cast <_Sender&&>(__sndr), __rcvr);
6258 __state.apply (
63- [&]<class ... _Ts>(_Ts&&... __ts) noexcept {
64- __tag_t ()(static_cast <_Receiver&&>(__rcvr), static_cast <_Ts&&>(__ts)...);
65- },
66- static_cast <decltype (__state)>(__state));
59+ __tag_t (), static_cast <decltype (__state)>(__state), static_cast <_Receiver&&>(__rcvr));
6760 };
6861 };
6962
@@ -72,7 +65,7 @@ namespace stdexec {
7265
7366 template <__movable_value... _Ts>
7467 STDEXEC_ATTRIBUTE (host, device)
75- auto operator ()(_Ts&&... __ts) const noexcept (( __nothrow_decay_copyable<_Ts> && ...) ) {
68+ auto operator ()(_Ts&&... __ts) const noexcept (__nothrow_decay_copyable<_Ts...> ) {
7669 return __make_sexpr<just_t >(__tuple{static_cast <_Ts&&>(__ts)...});
7770 }
7871 };
0 commit comments