Open wg21bot opened 9 months ago
Note: One of the action items requested for Library functions is suggested in P3068
Part of the changes in library are done by paper https://github.com/cplusplus/papers/issues/1769
This was discussed in EWG on Tuesday afternoon in Tokyo. The following poll was taken:
D3068R1 Allowing exception throwing in constant-evaluation: forward to CWG for inclusion in C++26.
SF | F | N | A | SA |
---|---|---|---|---|
4 | 15 | 5 | 9 | 0 |
Result: Not Consensus
P3068R1 Allowing exception throwing in constant-evaluation. (Hana Dusíková)
P3068R2 Allowing exception throwing in constant-evaluation (Hana Dusíková)
Poll: P3068R2 — Allowing exception throwing in constant-evaluation, forward to LEWG and CWG for inclusion in C++26.
SF | F | N | A | SA |
---|---|---|---|---|
11 | 17 | 1 | 0 | 0 |
CWG 2024-06-26 in St. Louis: Reviewed, needs updates.
Seen again in EWG in St Louis to answer a question for CWG:
Poll: P3068R2 — Allowing exception throwing in constant-evaluation, allow constexpr throwing in dynamic_cast and typeid as well.
SF | F | N | A | SA |
---|---|---|---|---|
9 | 15 | 1 | 0 | 0 |
Updated wording is uploaded on CWG wiki.
P3068R3: Allowing exception throwing in constant-evaluation
2024-06-27 Library Evolution St. Louis Minutes
POLL: Forward "P3068R3: Allowing exception throwing in constant-evaluation" to LWG for C++26 (to be confirmed by an electronic poll)
SF | F | N | A | SA |
---|---|---|---|---|
14 | 10 | 1 | 1 | 0 |
Attendance: 24 + 7
# of Authors: 1
Author's Position: SF
Outcome: Strong consensus in favour
P3068R3 was forwarded to LWG for C++26 (as B3 - addition) (to be confirmed by an LEWG electronic poll).
std::exception::what()
strings are now suggested to be considered for compiler diagnostics. Assigning to SG16 for consideration of the encoding aspects.
Waiting for SG16's input on the returned string from constexpr const char* what() const noexcept override;
(to avoid circling back through LEWG).
@tahonermann, if possible, please see this and give a recommendation before 2024-08-15 (if no change is requested, P3068R3 will be added to the next electronic poll).
P3068R3 Allowing exception throwing in constant-evaluation (Hana Dusíková)
See also LWG4087, tracked by cplusplus/papers#1895.
Per LEWG's request, SG16 saw P3068R3 and recommended wording fix to enable correct constexpr
encoding and management in runtime.
The wording change was applied on P3068R4, LEWG will briefly see the wording (scheduled for 2024-08-20) before R4 of the paper will be added to our next EP.
P3068R4 Allowing exception throwing in constant-evaluation (Hana Dusíková)
P3068R4 Allowing exception throwing in constant-evaluation
2024-08-20 Library Evolution Telecon Minutes
Champion: Hana Dusíková Chair: Fabio Fracassi Minute Taker: Daveed Vandevoorde
POLL: We approve of the change requested by SG16 to P3068R3 as applied in P3068R4 (make exception .what() return a literal encoding)
SF | F | N | A | SA |
---|---|---|---|---|
6 | 5 | 1 | 0 | 0 |
Attendance: 20
# of Authors: 1
Author's Position: SF
Outcome: Strong consensus in favour
As of the decision from: https://github.com/cplusplus/papers/issues/1754#issuecomment-2195429730 P3068R4 will be added to the next LEWG electronic poll.
SG16 reviewed P3068R2 during its 2024-07-31 meeting. No polls were taken as attendance was low for that meeting and we didn't have quorum. General agreement was expressed for the message text returned by the what()
virtual member function of a std::exception
derived type being encoded in the ordinary literal encoding if the exception object is created during constant evaluation. Additional discussion concerned support for localized messages; it was observed that a different message or a differently encoded message could still be used for an exception thrown outside of constant evaluation. It was noted that a non-localized message could still be observed if the message from an exception thrown during constant evaluation was used to initialize a constexpr
variable, but no strong concerns about this possibility were expressed.
Approved by LWG for Core to move in plenary
CWG 2024-11-19 in Wroclaw: Approved D3068R5.
P3068R0 Allowing exception throwing in constant-evaluation. (Hana Dusíková)