Title
Missing rvalue reference qualification for task_scheduler::ts-sender::connect()
Status
wp
Section
[exec.task.scheduler]
Submitter
Dietmar Kühl

Created on 2025-09-01.00:00:00 last changed 5 days ago

Messages

Date: 2025-10-27.09:58:11

Proposed resolution:

Add an rvalue qualifier to the declaration of connect in [exec.task.scheduler] paragraph 8:

namespace std::execution {
  class task_scheduler::ts-sender {     // exposition only
  public:
    using sender_concept = sender_t;

    template<receiver Rcvr>
      state<Rcvr> connect(Rcvr&& rcvr) &&;
  };
}

In the specification in [exec.task.scheduler] paragraph 10 add an rvalue qualifier to connect:

template<receiver Rcvr>
  state<Rcvr> connect(Rcvr&& rcvr) &&;

-10- Effects: Let r be an object of a type that models receiver and whose completion handlers result in invoking the corresponding completion handlers of rcvr or copy thereof. Returns an object of type state<Rcvr> containing an operation state object initialized with connect(SENDER(*this), std::move(r)).

Date: 2025-11-11.10:48:16

[ Kona 2025-11-08; Status changed: Voting → WP. ]

Date: 2025-10-15.00:00:00

[ 2025-10-17; Reflector poll. ]

Set status to Tentatively Ready after six votes in favour during reflector poll.

Date: 2025-10-27.16:17:32
Addresses US 237-369

The result of schedule(sched) for a scheduler sched is only required to be movable. An object of this type may need to be forwarded to an operation state constructor by task_scheduler::ts-sender::connect. Thus, this function should be qualified with an rvalue reference.

History
Date User Action Args
2025-11-11 10:48:16adminsetstatus: voting -> wp
2025-10-30 17:45:31adminsetstatus: ready -> voting
2025-10-27 09:58:11adminsetmessages: + msg15446
2025-10-17 14:48:47adminsetmessages: + msg15234
2025-10-17 14:48:47adminsetstatus: new -> ready
2025-09-01 20:15:39adminsetmessages: + msg15000
2025-09-01 00:00:00admincreate