Let
completion-fn be a completion function (
[exec.async.ops]);
let
completion-tag be the associated completion tag of
completion-fn;
let
args and
envs be packs of subexpressions; and
let
sndr be a subexpression such that
sender<decltype((sndr))> is
true and
get_completion_domain<completion-tag>(get_env(sndr), envs...)
is well-formed and denotes a domain tag
D. If an asynchronous operation created by connecting
sndr with a receiver
rcvr
causes the evaluation of
completion-fn(rcvr, args...),
the behavior is undefined
unless the evaluation happens on an execution agent of an execution resource
whose associated execution domain tag is
D.