Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
fix the lowering of the on(sndr, sch, closure) lowering
  • Loading branch information
ericniebler committed Sep 14, 2025
commit f350cb9d5f03f53fd30949b9437199f895f540cf
2 changes: 1 addition & 1 deletion include/stdexec/__detail/__continues_on.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ namespace stdexec {
}

static auto __transform_sender_fn() {
return [&]<class _Data, class _Child>(__ignore, _Data&& __data, _Child&& __child) {
return []<class _Data, class _Child>(__ignore, _Data&& __data, _Child&& __child) {
return schedule_from(static_cast<_Data&&>(__data), static_cast<_Child&&>(__child));
};
}
Expand Down
14 changes: 8 additions & 6 deletions include/stdexec/__detail/__on.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -172,12 +172,14 @@ namespace stdexec {
} else {
// This branch handles the case where `on` was called like `sndr | on(sch, clsur)`
auto&& [__sched, __clsur] = static_cast<_Data&&>(__data);
return write_env(
continues_on(
__forward_like<_Data>(__clsur)(continues_on(
write_env(static_cast<_Child&&>(__child), __with_sched{__old}), __sched)),
__old),
__with_sched{__sched});
return continues_on(
write_env(
__forward_like<_Data>(__clsur)( //
continues_on(
write_env(static_cast<_Child&&>(__child), __with_sched{__old}), //
__sched)),
__with_sched{__sched}),
__old);
}
};
}
Expand Down
Loading