Created on 2025-09-01.00:00:00 last changed 5 days ago
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
rcvror copy thereof. Returns an object of typestate<Rcvr>containing an operation state object initialized withconnect(SENDER(*this), std::move(r)).
[ Kona 2025-11-08; Status changed: Voting → WP. ]
[ 2025-10-17; Reflector poll. ]
Set status to Tentatively Ready after six votes in favour during reflector poll.
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:16 | admin | set | status: voting -> wp |
| 2025-10-30 17:45:31 | admin | set | status: ready -> voting |
| 2025-10-27 09:58:11 | admin | set | messages: + msg15446 |
| 2025-10-17 14:48:47 | admin | set | messages: + msg15234 |
| 2025-10-17 14:48:47 | admin | set | status: new -> ready |
| 2025-09-01 20:15:39 | admin | set | messages: + msg15000 |
| 2025-09-01 00:00:00 | admin | create | |