Skip to content
Merged
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
2 changes: 1 addition & 1 deletion include/exec/detail/shared.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,7 @@ namespace experimental::execution::__shared
static_assert(STDEXEC::__sender_for<_CvSender, _Tag>);
return __get_completion_signatures_impl<__child_of<_CvSender>,
__decay_t<__data_of<_CvSender>>>();
};
}
};

//! This class is a split sender when _Tag is split_t, and an ensure_started
Expand Down
7 changes: 5 additions & 2 deletions include/exec/thread_pool_base.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -582,14 +582,17 @@ namespace experimental::execution
, parallelize_(parallelize)
{}

// There is no ';' after STDEXEC_AUTO_RETURN(...), because -Wpedantic flags it
// as extra. Without it, clang-format runs connect into the next member.
// clang-format off
template <__decays_to<_bulk_sender> Self, receiver Receiver>
STDEXEC_EXPLICIT_THIS_BEGIN(auto connect)(this Self&& self, Receiver rcvr)
STDEXEC_AUTO_RETURN(bulk_opstate_t<Self, Receiver>(self.pool_,
Shape(self.shape_),
static_cast<Self&&>(self).fun_,
self.parallelize_,
static_cast<Self&&>(self).sndr_,
std::move(rcvr)));
std::move(rcvr)))
STDEXEC_EXPLICIT_THIS_END(connect)

template <__decays_to<_bulk_sender> Self, class... Env>
Expand All @@ -600,6 +603,7 @@ namespace experimental::execution
STDEXEC::get_completion_signatures<sender_t, Env...>(),
_pool::_get_bulk_sender_cmplsigs_transform<sender_t, Shape, Fun, Env...>());
}
// clang-format on

struct attrs
{
Expand Down Expand Up @@ -649,7 +653,6 @@ namespace experimental::execution
auto& [pol, shape, fun] = data;
using tag_t = decltype(tag);
using child_t = decltype(child);
using shape_t = decltype(shape);
using fun_t = decltype(fun);

if constexpr (__completes_on<child_t, typename Pool::scheduler, Env>)
Expand Down
2 changes: 1 addition & 1 deletion include/exec/unless_stop_requested.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ namespace experimental::execution
STDEXEC::get_completion_signatures<__child_of<Self>, Env>(),
completion_signatures<set_stopped_t()>());
}
};
}

template <class Receiver>
using _receiver_t =
Expand Down
2 changes: 1 addition & 1 deletion include/stdexec/__detail/__associate.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ namespace STDEXEC
return STDEXEC::__concat_completion_signatures(
STDEXEC::get_completion_signatures<__wrap_sender_of_t<_Sender>, _Env...>(),
completion_signatures<set_stopped_t()>());
};
}

static constexpr auto __get_state =
[]<class _Self, class _Receiver>(_Self&& __self, _Receiver __rcvr) noexcept(
Expand Down
2 changes: 1 addition & 1 deletion include/stdexec/__detail/__bulk.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ namespace STDEXEC
__mapply<__qf<_WITH_ARGUMENTS_>, __arg_pack_t>>();
}
});
};
}
};

struct __chunked_impl : __impl_base<bulk_chunked_t>
Expand Down
2 changes: 1 addition & 1 deletion include/stdexec/__detail/__continues_on.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ namespace STDEXEC
using __storage_t = __storage_for_t<__child_of<_Sexpr>, env_of_t<_Receiver>>;

_Receiver __rcvr_;
__storage_t __data_;
__storage_t __data_{};
};

// This receiver is to be completed on the execution context associated with
Expand Down
4 changes: 2 additions & 2 deletions include/stdexec/__detail/__counting_scopes.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ namespace STDEXEC
_WITH_SENDER_<_Sender>,
_WITH_ENVIRONMENT_(_Env)>();
}
};
}

template <class _Rcvr>
struct __join_state : __join_state_base
Expand All @@ -141,7 +141,7 @@ namespace STDEXEC
void set_error(_Error&& __err) && noexcept
{
STDEXEC::set_error(std::move(__rcvr_), static_cast<_Error&&>(__err));
};
}

void set_stopped() && noexcept
{
Expand Down
2 changes: 1 addition & 1 deletion include/stdexec/__detail/__finally.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ namespace STDEXEC
_Receiver __rcvr_{};
STDEXEC_ATTRIBUTE(no_unique_address)
_Env2 const __env2_{};
_Storage __result_; // __variant<__tuple<set_tag, args...>, ...>
_Storage __result_{}; // __variant<__tuple<set_tag, args...>, ...>
};

using __mk_secondary_env_t =
Expand Down
2 changes: 1 addition & 1 deletion include/stdexec/__detail/__into_variant.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ namespace STDEXEC
{},
completion_signatures<set_value_t(__variant_t), set_error_t(std::exception_ptr)>());
}
};
}
};
} // namespace __into_variant

Expand Down
2 changes: 1 addition & 1 deletion include/stdexec/__detail/__read_env.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ namespace STDEXEC
_WITH_QUERY_(__query_t),
_WITH_ENVIRONMENT_(_Env)>();
}
};
}

static constexpr auto __connect =
[]<class _Self, class _Receiver>(_Self const &, _Receiver&& __rcvr) noexcept
Expand Down
4 changes: 4 additions & 0 deletions include/stdexec/__detail/__receiver_ref.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@

#include "__prologue.hpp"

// The left operand of the comma in __indirect_receiver::set_next has no effect,
// which -Wunused-value reports. It is only there to make the call depend on _Item.
STDEXEC_PRAGMA_IGNORE_GNU("-Wunused-value")

namespace STDEXEC
{
namespace __detail
Expand Down
2 changes: 1 addition & 1 deletion include/stdexec/__detail/__spawn_future.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -751,7 +751,7 @@ namespace STDEXEC
-> __completions_t<_Sender, _Env>
{
return {};
};
}

static constexpr auto __get_state =
[]<class _Sender, class _Receiver>(_Sender&& __sndr, _Receiver __rcvr) noexcept /* TODO */
Expand Down
2 changes: 1 addition & 1 deletion include/stdexec/__detail/__starts_on.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ namespace STDEXEC
using __sndr_t =
__detail::__transform_sender_result_t<starts_on_t, set_value_t, _Sender, env<>>;
return STDEXEC::get_completion_signatures<__sndr_t, _Env...>();
};
}
};
} // namespace STDEXEC

Expand Down
2 changes: 1 addition & 1 deletion include/stdexec/__detail/__stop_when.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ namespace STDEXEC
__call_result_t<__mk_env2_fn,
__call_result_t<__fuse_token_fn, __token_t, stop_token_of_t<_Env>>,
_Env>...>();
};
}
};
} // namespace __stop_when_

Expand Down
2 changes: 1 addition & 1 deletion include/stdexec/__detail/__then.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ namespace STDEXEC
return STDEXEC::__transform_completion_signatures(
STDEXEC::get_completion_signatures<__child_of<_Sender>, _Env...>(),
__transform_value_completion<__fn_t>());
};
}

struct __complete_fn
{
Expand Down
2 changes: 1 addition & 1 deletion include/stdexec/__detail/__transfer_just.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ namespace STDEXEC
using __sndr_t =
__detail::__transform_sender_result_t<__transfer_just_t, set_value_t, _Sender, env<>>;
return STDEXEC::get_completion_signatures<__sndr_t, _Env...>();
};
}
};
} // namespace STDEXEC

Expand Down
2 changes: 1 addition & 1 deletion include/stdexec/__detail/__upon_error.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ namespace STDEXEC
STDEXEC::get_completion_signatures<__child_of<_Sender>, _Env...>(),
{},
__transform_error_completion<__fn_t>());
};
}

static constexpr auto __complete =
[]<class _Tag, class _State, class... _Args>(__ignore,
Expand Down
2 changes: 1 addition & 1 deletion include/stdexec/__detail/__upon_stopped.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ namespace STDEXEC
{},
__always{__set_value_from_t<__fn_t>()},
__eptr_completion_unless_t<__mbool<__nothrow_callable<__fn_t>>>());
};
}

static constexpr auto __complete =
[]<class _Tag, class _State, class... _Args>(__ignore,
Expand Down
8 changes: 5 additions & 3 deletions include/stdexec/__detail/__when_all.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ import stdexec;

# include "__prologue.hpp"

STDEXEC_PRAGMA_IGNORE_GNU("-Wmissing-braces")

namespace STDEXEC
{
//////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -886,7 +888,7 @@ namespace STDEXEC
_Sender,
env<>>;
return STDEXEC::get_completion_signatures<__sndr_t, _Env...>();
};
}
};

struct __transfer_when_all_impl : __sexpr_defaults
Expand All @@ -906,7 +908,7 @@ namespace STDEXEC
using __sndr_t =
__detail::__transform_sender_result_t<__transfer_when_all_t, set_value_t, _Sender, env<>>;
return STDEXEC::get_completion_signatures<__sndr_t, _Env...>();
};
}
};

struct __transfer_when_all_with_variant_impl : __sexpr_defaults
Expand All @@ -927,7 +929,7 @@ namespace STDEXEC
_Sender,
env<>>;
return STDEXEC::get_completion_signatures<__sndr_t, _Env...>();
};
}
};
} // namespace __when_all

Expand Down
Loading