diff --git a/execution.html b/execution.html index 40044a5..9897d8b 100644 --- a/execution.html +++ b/execution.html @@ -2386,7 +2386,7 @@

P2300R9
std::execution

-

Published Proposal,

+

Published Proposal,

Authors: @@ -2766,7 +2766,7 @@

Table of Contents

34.11 Execution contexts [exec.ctx]
  1. - 34.11.1 run_loop [exec.run.loop] + 34.11.1 execution::run_loop [exec.run.loop]
    1. 34.11.1.1 Associated types [exec.run.loop.types]
    2. 34.11.1.2 Constructor and destructor [exec.run.loop.ctor] @@ -7615,7 +7615,10 @@

      sends its results by way of the asynchronous operation(s) +sender or the receiver from which it was created. A sender is started when +it is connected to a receiver and the resulting asynchronous operation is +started. A sender’s async result is the async result of an asynchronous +operation created by connecting it to a receiver. A sender sends its results by way of the asynchronous operation(s) it produces, and a receiver receives those results. A sender is either valid or invalid; it becomes invalid when its parent sender (see below) becomes invalid.

    3. @@ -9734,11 +9737,20 @@
      sndr completed.

    4. -

      The name on denotes a pipeable sender adaptor object. For subexpressions sch and sndr, if decltype((sch)) does not satisfy scheduler, or decltype((sndr)) does not satisfy sender, on(sch, sndr) is ill-formed. -If sndr is a pipeable sender adaptor closure object, on(sch, sndr) is -ambiguous with the partial application of the overload described below.

      +

      The name on denotes a pipeable sender adaptor object. For subexpressions sch and sndr, on(sch, sndr) is ill-formed if any of the following +are true:

      +
        +
      • +

        If decltype((sch)) does not satisfy scheduler, or

        +
      • +

        If decltype((sndr)) does not satisfy sender and sndr is not + a pipeable sender adaptor closure object ([exec.adapt.objects]), or

        +
      • +

        If decltype((sndr)) satisfies sender and sndr is also + a pipeable sender adaptor closure object.

        +
    5. -

      Otherwise, the expression on(sch, sndr) is expression-equivalent to:

      +

      Otherwise, if decltype((sndr)) satisfies sender, the expression on(sch, sndr) is expression-equivalent to:

      transform_sender(
         query-or-default(get_domain, sch, default_domain()),
         make-sender(on, sch, sndr))
      @@ -11122,7 +11134,7 @@ 

      34.11. Execution contexts [exec.ctx]

      -

      34.11.1. run_loop [exec.run.loop]

      +

      34.11.1. execution::run_loop [exec.run.loop]

      1. A run_loop is an execution resource on which work can be scheduled. It @@ -11424,7 +11436,7 @@

        is-awaitable<A, Promise> is true, where A is the type of the expression above.

      2. -

        Otherwise, void(p), expr if is-awaitable<Expr, U> is true, where U is an unspecified class type that +

        Otherwise, (void(p), expr) if is-awaitable<Expr, U> is true, where U is an unspecified class type that is not Promise and that lacks a member named await_transform.

        • @@ -11436,7 +11448,7 @@

          sender-awaitable{expr, p} if awaitable-sender<Expr, Promise> is true.

        • -

          Otherwise, void(p), expr.

          +

          Otherwise, (void(p), expr).

      except that the evaluations of expr and p are indeterminately sequenced.