diff --git a/include/beman/execution/detail/inline_scheduler.hpp b/include/beman/execution/detail/inline_scheduler.hpp index 8a5db88a..22ab701e 100644 --- a/include/beman/execution/detail/inline_scheduler.hpp +++ b/include/beman/execution/detail/inline_scheduler.hpp @@ -13,6 +13,7 @@ import std; #include #endif #ifdef BEMAN_HAS_MODULES +import beman.execution.detail.get_scheduler; import beman.execution.detail.sender; import beman.execution.detail.receiver; import beman.execution.detail.set_value; @@ -59,6 +60,8 @@ struct inline_scheduler { -> state { return {::std::forward(receiver)}; } + + inline_scheduler query(const ::beman::execution::get_scheduler_t&) const noexcept { return {}; } }; static constexpr auto schedule() noexcept -> sender { return {}; } diff --git a/tests/beman/execution/exec-inline-scheduler.test.cpp b/tests/beman/execution/exec-inline-scheduler.test.cpp index 0a31322f..75cc1e31 100644 --- a/tests/beman/execution/exec-inline-scheduler.test.cpp +++ b/tests/beman/execution/exec-inline-scheduler.test.cpp @@ -148,6 +148,9 @@ auto test_sender_env_is_inline_attrs() { auto sndr = test_std::schedule(test_std::inline_scheduler{}); auto attrs = test_std::get_env(sndr); static_assert(std::same_as>); + + auto sched = test_std::get_completion_scheduler(test_std::get_env(sndr), sndr); + static_assert(std::same_as); } auto test_inline_attrs_completion_scheduler() {