Created on 2026-09-29.00:00:00 last changed 2 days ago
Proposed resolution:
This wording is relative to N5054.
Modify [exec.getcomplsigs] as indicated:
Let except be an rvalue subexpression of an unspecified class type Except such thatLetmove_constructible<Except> && derived_from<Except, exception>istrue.CHECKED-COMPLSIGS(e)be e if e is a core constant expression whose type satisfiesvalid-completion-signatures; otherwise, it is the following expression:
(e, throwexceptunspecified-exception(), completion_signatures())[...]
- Otherwise,
(throwexceptunspecified-exception(), completion_signatures())
[exec.getcomplsigs]
specifies that when completion signatures are not valid an exception of
"unspecified class type Except"
is thrown.
However, this does not prevent Except from being
dependent_sender_error, or from being publicly and unambiguously
derived from dependent_sender_error.
In either case, the handler in [exec.snd.concepts] would interpret
the exception as indicating that the sender is dependent, rather than that its
completion signatures are invalid for the given cv- and/or ref-qualification
and/or environment.
Tim Song has pointed out that wording technology already exists to solve this
([exec.snd.general]):
unspecified-exception.
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2026-11-12 21:25:48 | admin | set | messages: + msg16651 |
| 2026-09-29 00:00:00 | admin | create | |