1. Executive summary
We have not met in-person since the February 2020 meeting in Prague because of the global pandemic. We’re instead holding weekly teleconferences, as detailed in [P2145R1]. We focus on providing non-final guidance, and will use electronic straw polls as detailed in [P2195R0] to move papers and issues forward in a asynchronous manner.
Our main achievements have been:
Issue processing: most of the 50 language evolution issues have proposed resolutions.
C++23: we’ve started work on papers for C++23 and later.
Incubation: we’ve acted as EWG-I and "incubated" some early papers by providing early feedback to authors.
2. Paper of note
[P1000R4] C++ IS schedule
[P0592R4] To boldly suggest an overall plan for C++23
[P1999R0] Process: double-check evolutionary material via a Tentatively Ready status
[P2195R0] Electronic Straw Polls
[P2145R1] Evolving C++ Remotely
3. Tentatively ready papers
Following our process in [P1999R0], we usually mark papers as tentatively ready for CWG. We would usually take a brief look at the next meeting, and if nothing particular concerns anyone, send them to CWG. However, given the pandemic, we’ve decided to provide guidance only in virtual teleconferences, and have an asynchronous polling mechanism to officially send papers to CWG or other groups as detailed in [P2195R0]. This system hasn’t been used by EWG yet. We’re waiting for LEWG’s first successful attempt at using this system before using it ourselves.
You can follow the lists of papers on GitHub:
The current list of papers which EWG will poll are:
[P2223R0] Trimming whitespaces before line splicing
[P2201R0] Mixed string literal concatenation
[P2186R0] Removing Garbage Collection Support
[P2173R0] Attributes on Lambda-Expressions
[P2156R1] Allow Duplicate Attributes
[P2013R3] Freestanding Language: Optional
:: operator new
[P1949R6] C++ Identifier Syntax using Unicode Standard Annex 31
[P1847R3] Make declaration order layout mandated
[P1401R3] Narrowing contextual conversions to bool
[P1393R0] A General Property Customization Mechanism
We’ve also reviewed 50 Language Evolution issues at the Core groups' request, and have tentative resolutions for most. All of these issues will also be part of our asynchronous polling. Details on all these issues will be published in a separate paper.
Here are the minutes for the virtual discussions that were held since the Prague meeting in February 2020:
- 2020-04-09 Issue Processing
- 2020-04-15 Issue Processing
- 2020-04-23 Issue Processing
- 2020-04-29 Issue Processing
- 2020-05-07 Issue Processing
- 2020-05-13 Issue Processing
- 2020-05-21 A General Property Customization Mechanism—[P1393R0] (P1393 tracking issue)
- 2020-06-10 Reviewing Deprecated Facilities of C++20 for C++23—[P2139R1] (P2139 tracking issue)
- 2020-06-18 C++ Identifier Syntax using Unicode Standard Annex 31—[P1949R4] (P1949 tracking issue)
- 2020-06-24 Extended floating-point types and standard names—[P1467R4] (P1467 tracking issue)
- 2020-07-02 Allow Duplicate Attributes, Attributes on Lambda-Expressions—[P2156R0] (P2156 tracking issue) and [P2173R0] (P2173 tracking issue)
- 2020-07-08 Pointer lifetime-end zap and provenance, too—[P1726R3] (P1726 tracking issue)
- 2020-07-16 Guaranteed copy elision for return variables—[P2025R1] (P2025 tracking issue)
- 2020-07-30 Reviewing Deprecated Facilities of C++20 for C++23, Removing Garbage Collection Support—[P2139R2] (P2139 tracking issue) and [P2186R0] (P2186 tracking issue)
- 2020-08-05 Transactional Memory Lite Support in C++—[P1875R0] (P1875 tracking issue)
- 2020-08-19 Freestanding Language: Optional
, Mixed string literal concatenation—[P2013R2] (P2013 tracking issue) and [P2201R0] (P2201 tracking issue)
:: operator new
- 2020-08-27 Exhaustiveness Checking for Pattern Matching—[P1371R3] (P1371 tracking issue)
- a simple, scannable preprocessor-based resource acquisition method—[P1967R2] (P1967 tracking issue)
- 2020-09-10 A pipeline-rewrite operator—[P2011R1] (P2011 tracking issue)
- 2020-09-16 Pattern matching: inspect is always an expression—[P1371R3] (P1371 tracking issue)
- 2020-09-24 C++ Identifier Syntax using Unicode Standard Annex 31, Member Templates for Local Classes—[P1949R6] (P1949 tracking issue) and [P2044R0] (P2044 tracking issue)
- 2020-09-30 Narrowing contextual conversions to bool, Generalized pack declaration and usage—[P1401R3] (P1401 tracking issue) and [P1858R2] (P1858 tracking issue)
- 2020-10-08 Compound Literals,
—[P2174R0] (P2174 tracking issue) and [P1938R1] (P1938 tracking issue)
- 2020-10-14 Inline Namespaces: Fragility Bites, Trimming whitespaces before line splicing—[P1701R1] (P1701 tracking issue) and [P2223R0] (P2223 tracking issue)
- 2020-10-22 Issues Processing
- 2020-10-28 Issues Processing
5. Near-future EWG plans
We will continue to work on issue resolution and C++23, prioritizing according to [P0592R4].
The Language Evolution meetings have attracted a mean of 31.9 attendees per meeting, with a median of 30.