Title
Sender spec depends on unspecified order of evaluation
Status
new
Section
[exec.snd]
Submitter
Frank Birbacher

Created on 2025-02-14.00:00:00 last changed 1 month ago

Messages

Date: 2025-02-14.00:00:00

In certain clauses for defining senders the unspecified order of evaluation of function arguments can lead to retrieving values from a move-from state of a sender. An example is [exec.continues.on] where paragraph 3 states:

transform_sender(get-domain-early(sndr), make-sender(continues_on, sch, sndr))

In this expression the evaluation of get-domain-early(sndr) can happen before or after the make-sender. The latter can steal the value from `sndr` by moving from it. So get-domain-early may see the moved-from state of `sndr` and fail to obtain anything.

Repetitions are at least in:

  1. [exec.then] p3

  2. [exec.let] p4

  3. [exec.bulk] p2

  4. [exec.split] p4

  5. [exec.when.all] p3

  6. [exec.into.variant] p3

  7. [exec.stopped.opt] p2

  8. [exec.stopped.err] p2

  9. [exec.sync.wait.var] p1

History
Date User Action Args
2025-02-14 00:00:00admincreate