diff --git a/CMakeLists.txt b/CMakeLists.txt index 51b5e44..a333ae9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,7 @@ FetchContent_Declare( execution # FETCHCONTENT_SOURCE_DIR_EXECUTION ${CMAKE_SOURCE_DIR}/../execution GIT_REPOSITORY https://github.com/bemanproject/execution - GIT_TAG cad563e + GIT_TAG afde940 SYSTEM FIND_PACKAGE_ARGS 0.2.0 diff --git a/include/beman/task/detail/task.hpp b/include/beman/task/detail/task.hpp index 22510be..82c9af2 100644 --- a/include/beman/task/detail/task.hpp +++ b/include/beman/task/detail/task.hpp @@ -50,7 +50,7 @@ class task { using completion_signatures = ::beman::execution::detail::meta::combine< ::beman::execution::completion_signatures, ::beman::execution::set_stopped_t()>, - ::beman::task::detail::error_types_of_t >; + ::beman::task::detail::error_types_of_t>; template auto get_completion_signatures(const Ev&) const& noexcept -> completion_signatures { return {}; @@ -70,8 +70,10 @@ class task { ~task() = default; template - auto connect(Receiver receiver) && -> state { - return state(std::forward(receiver), std::move(this->handle)); + auto connect(Receiver&& receiver) && noexcept( + noexcept(state>(std::forward(receiver), std::move(this->handle)))) + -> state> { + return state>(std::forward(receiver), std::move(this->handle)); } template auto as_awaitable(ParentPromise&) && -> ::beman::task::detail::awaiter {