diff --git a/test/stdexec/schedulers/test_task_scheduler.cpp b/test/stdexec/schedulers/test_task_scheduler.cpp index 17d3fbd2f..8ccbe59b3 100644 --- a/test/stdexec/schedulers/test_task_scheduler.cpp +++ b/test/stdexec/schedulers/test_task_scheduler.cpp @@ -52,15 +52,34 @@ namespace static bool g_called = false; template - struct opaque_sender : private Sndr + struct opaque_sender { using sender_concept = ex::sender_tag; + explicit opaque_sender(Sndr sndr) - : Sndr{std::move(sndr)} + : sndr_{std::move(sndr)} {} - using Sndr::connect; - using Sndr::get_completion_signatures; - using Sndr::get_env; + + template + auto connect(Rcvr rcvr) && + { + return std::move(sndr_).connect(std::move(rcvr)); + } + + template , class... Env> + static consteval auto get_completion_signatures() + { + return Sndr::template get_completion_signatures(); + } + + [[nodiscard]] + auto get_env() const noexcept -> ex::env_of_t + { + return ex::get_env(sndr_); + } + + private: + Sndr sndr_; }; struct test_domain