Skip to content

Commit f83d270

Browse files
committed
fixup: add 34.9.10.1
1 parent 2a96f74 commit f83d270

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

source/exec.tex

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2567,7 +2567,47 @@
25672567

25682568
\rSec3[exec.adapt.general]{General}
25692569

2570+
\pnum
2571+
Subclause \ref{exec.adapt} specifies a set of sender adaptors.
2572+
2573+
\pnum
2574+
The bitwise inclusive \logop{or} operator is overloaded
2575+
for the purpose of creating sender chains.
2576+
The adaptors also support function call syntax with equivalent semantics.
25702577

2578+
\pnum
2579+
Unless otherwise specified:
2580+
\begin{itemize}
2581+
\item
2582+
A sender adaptor is prohibited from causing observable effects,
2583+
apart from moving and copying its arguments,
2584+
before the returned sender is connected with a receiver using \tcode{connect},
2585+
and \tcode{start} is called on the resulting operation state.
2586+
\item
2587+
A parent sender\iref{exec.async.ops} with a single child sender \tcode{sndr} has
2588+
an associated attribute object equal to
2589+
\tcode{\exposid{FWD-ENV}(get_env(sndr))}\iref{exec.fwd.env}.
2590+
\item
2591+
A parent sender with more than one child sender has
2592+
an associated attributes object equal to \tcode{empty_env\{\}}.
2593+
\item
2594+
When a parent sender is connected to a receiver \tcode{rcvr},
2595+
any receiver used to connect a child sender has
2596+
an associated environment equal to \tcode{\exposid{FWD-ENV}(get_env(rcvr))}.
2597+
\item
2598+
These requirements apply to any function
2599+
that is selected by the implementation of the sender adaptor.
2600+
\end{itemize}
2601+
2602+
\pnum
2603+
If a sender returned from a sender adaptor specified in \ref{exec.adapt}
2604+
is specified to include \tcode{set_error_t(Err)}
2605+
among its set of completion signatures
2606+
where \tcode{decay_t<Err>} denotes the type \tcode{exception_ptr},
2607+
but the implementation does not potentially evaluate
2608+
an error completion operation with an \tcode{exception_ptr} argument,
2609+
the implementation is allowed to omit
2610+
the \tcode{exception_ptr} error completion signature from the set.
25712611

25722612
\rSec1[exec.util]{Sender/receiver utilities}
25732613

0 commit comments

Comments
 (0)