You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Issue description: As pointed out by user 0x5f3759df on Stack Overflow, the normative wording in [expr.throw] and [except.throw] respectively specify the type of the exception object and the fact that the exception object is copy-initialized, but do not appear to specify that the exception object is copy-initialized from the assignment-expression operand.
Suggested resolution: Edit [except.throw]/3:
Throwing an exceptionA throw-expression ([expr.throw]) with an operand copy-initializes (9.4, 11.4.5.3) a temporary object, called the exception object, from its operand. If the type of the exception object would be an incomplete type, an abstract class type (11.7.4), or a pointer to an incomplete type other than cvvoid the program is ill-formed.