@@ -24,7 +24,6 @@ import beman.execution.detail.get_completion_signatures;
2424import beman.execution.detail.get_domain_early;
2525import beman.execution.detail.get_scheduler;
2626import beman.execution.detail.get_stop_token;
27- import beman.execution.detail.join_env;
2827import beman.execution.detail.make_sender;
2928import beman.execution.detail.never_stop_token;
3029import beman.execution.detail.nested_sender_has_affine_on;
@@ -40,6 +39,7 @@ import beman.execution.detail.set_value;
4039import beman.execution.detail.store_receiver;
4140import beman.execution.detail.tag_of_t ;
4241import beman.execution.detail.transform_sender;
42+ import beman.execution.detail.unstoppable;
4343import beman.execution.detail.write_env;
4444#else
4545#include < beman/execution/detail/env.hpp>
@@ -48,7 +48,6 @@ import beman.execution.detail.write_env;
4848#include < beman/execution/detail/get_domain_early.hpp>
4949#include < beman/execution/detail/get_scheduler.hpp>
5050#include < beman/execution/detail/get_stop_token.hpp>
51- #include < beman/execution/detail/join_env.hpp>
5251#include < beman/execution/detail/make_sender.hpp>
5352#include < beman/execution/detail/never_stop_token.hpp>
5453#include < beman/execution/detail/prop.hpp>
@@ -62,6 +61,7 @@ import beman.execution.detail.write_env;
6261#include < beman/execution/detail/store_receiver.hpp>
6362#include < beman/execution/detail/tag_of_t.hpp>
6463#include < beman/execution/detail/transform_sender.hpp>
64+ #include < beman/execution/detail/unstoppable.hpp>
6565#include < beman/execution/detail/write_env.hpp>
6666#endif
6767
@@ -139,13 +139,13 @@ struct affine_on_t : ::beman::execution::sender_adaptor_closure<affine_on_t> {
139139 static auto transform_sender (Sender&& sender, const Env& ev) {
140140 static_assert (requires {
141141 {
142- ::beman::execution::get_completion_signatures<
143- decltype ( ::beman::execution::schedule (:: beman::execution::get_scheduler (ev))),
144- decltype ( ::beman::execution::detail::join_env (
145- ::beman::execution::env{::beman::execution::prop{
146- ::beman::execution::get_stop_token, ::beman::execution::never_stop_token{}, {}}},
147- ev))>()
148- } -> ::std::same_as<::beman::execution::completion_signatures<:: beman::execution::set_value_t ()>> ;
142+ ::beman::execution::get_completion_signatures<decltype (:: beman::execution::unstoppable (
143+ ::beman::execution::schedule (
144+ ::beman::execution::get_scheduler (ev))),
145+ ev)>()
146+ } // -dk:TODO ->
147+ // ::std::same_as<::beman::execution::completion_signatures<::beman::execution::set_value_t()>>
148+ ;
149149 });
150150 // [[maybe_unused]] auto& [tag, data, child] = sender;
151151 auto & child = sender.template get <2 >();
@@ -158,11 +158,9 @@ struct affine_on_t : ::beman::execution::sender_adaptor_closure<affine_on_t> {
158158 return ::beman::execution::detail::store_receiver (
159159 ::beman::execution::detail::forward_like<Sender>(child),
160160 []<typename Child>(Child&& child, const auto & ev) {
161- return ::beman::execution::write_env (
162- ::beman::execution::schedule_from (
163- ::beman::execution::get_scheduler (ev),
164- ::beman::execution::write_env(::std::forward<Child>(child), ev)),
165- ::beman::execution::detail::affine_on_env(ev));
161+ return ::beman::execution::unstoppable (::beman::execution::schedule_from (
162+ ::beman::execution::get_scheduler (ev),
163+ ::beman::execution::write_env(::std::forward<Child>(child), ev)));
166164 });
167165 }
168166 }
0 commit comments