Created on 2025-08-31.00:00:00 last changed 5 days ago
Proposed resolution:
In the synopsis in [task.promise] add noexcept
to the declaration of task::promise_type::unhandled_stopped():
namespace std::execution {
template<class T, class Environment>
class task<T, Environment>::promise_type {
...
coroutine_handle<> unhandled_stopped() noexcept;
...
};
}
In the specification in [task.promise] paragraph 13 add noexcept:
coroutine_handle<> unhandled_stopped() noexcept;-13- Effects: Completes the asynchronous operation associated with
STATE(*this)by invokingset_stopped(std::move(RCVR(*this))).
[ Kona 2025-11-08; Status changed: Voting → WP. ]
[ 2025-10-17; Reflector poll. ]
Set status to Tentatively Ready after five votes in favour during reflector poll.
The function task::promise_type::unhandled_stopped()
is called from set_stopped() of a receiver and calls
set_stopped itself. These functions are required to
be noexcept. Thus, unhandled_stopped()
can't throw an exception and should be marked noexcept.
All other declarations of unhandled_stopped() are
already marked noexcept but
task::promise_type::unhandled_stopped() isn't.
| 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: + msg15444 |
| 2025-10-17 15:01:38 | admin | set | messages: + msg15239 |
| 2025-10-17 15:01:38 | admin | set | status: new -> ready |
| 2025-09-01 17:02:55 | admin | set | messages: + msg14996 |
| 2025-08-31 00:00:00 | admin | create | |