-
stoppable_token::stop_possible()
andstoppable_token::stop_requested()
are now required to return preciselybool
, notboolean-testable
. -
The syntactic requirements for the
stoppable_token
have been relaxed such that an implementation is not required to check for callback constructibility from all permutations ofconst
and&
. Theconst&
one is required and the rest become semantic constraints. -
We added a type alias
stop_callback_for_t
such thatstop_callback_for_t<T, CB>
is an alias fortypename T::template callback_type<CB>
. -
The
bool
-returning member functions ofnever_stop_token
are made[[nodiscard]]
for consistency with[[stop_token]]
. -
The behavior of
in_place_stop_source::stop_possible()
is changed to reflect the fact that anin_place_stop_source
always has "ownership" of a stop state (there is nostd::nostopstate_t
constructor). This is for consistency withstd::stop_source
. -
Sender queries are moved into a separate queryable "attributes" object that is accessed by passing the sender to
get_attrs()
. Thesender
concept is reexpressed to requireget_attrs()
and separated from a newsender_in<Snd, Env>
concept for checking whether a type is a sender within a particular execution environment. -
The placeholder types
no_env
anddependent_completion_signatures<>
are no longer needed and are dropped. -
ensure_started
andsplit
are changed to persist the result of callingget_attrs()
on the input sender. -
ask LEWG about renaming
set_value_t
toset_value_tag