Let
CHECKED-COMPLSIGS(e) be
e
if
e is a core constant expression whose
type satisfies
valid-completion-signatures;
otherwise, it is the following expression:
(e, throw except, completion_signatures())
Let
get-complsigs<Sndr, Env...>()
be expression-equivalent to
remove_reference_t<Sndr>::template get_completion_signatures<Sndr, Env...>(). Let NewSndr be Sndr
if sizeof...(Env) == 0 is true;
otherwise, decltype(s)
where s is the following expression:
transform_sender(
get-domain-late(declval<Sndr>(), declval<Env>()...),
declval<Sndr>(),
declval<Env>()...)