Let sndr be an expression of type run-loop-sender,
let rcvr be an expression
such that receiver_of<decltype((rcvr)), CS> is true
where CS is the completion_signatures specialization above.
The expression connect(sndr, rcvr)
has type run-loop-opstate<decay_t<decltype((rcvr))>>
and is potentially-throwing if and only if
(void(sndr), auto(rcvr)) is potentially-throwing.
The expression get_completion_scheduler<C>(get_env(sndr))
is potentially-throwing if and only if sndr is potentially-throwing,
has type run-loop-scheduler, and
compares equal to the run-loop- scheduler instance
from which sndr was obtained.
Let o be a non-const lvalue of type run-loop-opstate<Rcvr>,
and let REC(o) be a non-const lvalue reference to an instance of type Rcvr
that was initialized with the expression rcvr
passed to the invocation of connect that returned o.
The type run-loop-opstate<Rcvr> overrides
run-loop-opstate-base::execute()
such that o.execute() is equivalent to:
if(get_stop_token(REC(o)).stop_requested()){
set_stopped(std::move(REC(o)));
}else{
set_value(std::move(REC(o)));
}