This paper is a collection of items that the C++ Language Evolution group has worked on in the latest meeting, their status, and plans for the future.
1. Executive summary
The Evolution Working Group did not meet in-person between the February 2020 meeting in Prague, until November 2022 in Kona. You will find EWG’s pandemic activities in [P1018r18].
This paper summarizes all of the work that was performed in the November 2022 Kona meeting.
2. Work Performed
This meeting was the first towards finalizing C++23, see [P1000r4] for the full schedule. In the ISO process, we received a variety of comments from different National Bodies. The full list is tracked as GitHub issues. EWG received 33 National Body comments. Of those, 16 were closed as duplicates, and 17 were reviewed with the following outcomes:
Separately from finalizing C++23, we’ve continued early work towards C++26 and later. We track outstanding proposals in GitHub as well, here are the ones for EWG which are ready to review. EWG and its incubator EWGI started the week with 83 papers to review (some not for the first time), EWG therefore had to prioritize using a variety of criteria such as the C++ Direction Group’s recommendations in [P2000r4]. During the week forwarded the following papers to CWG for C++26:
[P1061R0] Structured Bindings can introduce a Pack
[P2686R0] Updated wording and implementation experience for P1481 (constexpr structured bindings)
[P1967R0] #embed - a simple, scannable preprocessor-based resource acquisition method
[P2593R0] Allowing static_assert(false): To be forwarded after the next meeting unless a better proposal comes up
This doesn’t mean that they will all be in C++26, they are only tentatively on track to be in C++26.
The following papers were reviewed and forwarded to LEWG, the library evolution group, meaning that either EWG sees no need for language input, or provided language input to the library group, or requests library input to further the language work:
[P2641R0] Checking if a union alternative is active
[P2381R0] Pattern Matching with Exception Handling
CWG asked for EWG feedback on:
[CWG2463] Conditions for trivially copyable classes, the conclusion was that a paper was needed to address the issue
The committee also tracks defects through various groups. EWG issues were tracked in [P1018r18], and will shortly move to GitHub. This week we reviewed EWG issues as follows:
2 Marked Resolved
1 Marked as “Needs a Paper”
17 Closed as “Not A Defect”
EWG hosted an evening session on “the future of C++”. The results in a few weeks (once the committee discussed internally, based on the survey feedback that sent attendees). It was well attended with 100+ participants, and much frank discussion.
A session on [P2676r0] he Val object model was held, so that C++ committee members learn about the work David Abrahams is doing at Adobe on the Val language. We separately heard from Herb Sutter on CppFront. We also had good engagement from a few folks who have worked on the Carbon programming language. As this is the C++ committee, we also often talk about languages such as Rust, Circle, Zig and others.