This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.
dependent_sender_errorSection: 33.9.9 [exec.getcomplsigs] Status: New Submitter: Robert Leahy Opened: 2026-09-29 Last modified: 2026-11-12
Priority: Not Prioritized
View all issues with New status.
Discussion:
33.9.9 [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 33.9.3 [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
(33.9.1 [exec.snd.general]):
unspecified-exception.
Proposed resolution:
This wording is relative to N5054.
Modify 33.9.9 [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())