P1018R5
Language Evolution status after Belfast 2019

Published Proposal,

This version:
http://wg21.link/P1018r5
Author:
(Apple)
Audience:
WG21, EWG
Project:
ISO/IEC JTC1/SC22/WG21 14882: Programming Language — C++
Source:
github.com/jfbastien/papers/blob/master/source/P1018r5.bs

Abstract

This paper is a collection of items that language Evolution has worked on in the latest C++ meeting, their status, and plans for the future.

1. Executive summary

Most time was spent in ballot resolution for C++20, to address National Body comments in [N4844].

2. Work highlights

Language Evolution received roughly 100 National Body comments. We did at least one round of discussion on all of these comments.

3. National Body comment details

Miscellaneous NB comments:

using enum:

Non-type template parameters:

Concepts:

Coroutines:

Undefined Behavior:

Modules: seen by SG2, mostly accepted their recommendations.

Unicode:

Feature test macros:

All addressed by [P1902r1].

4. C++23 discussions

We started discussing a few papers which could make it to C++23.

5. Near-future EWG plans

There will still be some ballot resolution work in Prague, to address comments which we discussed but haven’t resolved in Belfast. There will be no further ballot resolution after Prague.

Ballot resolution will likely take a small portion of our time. Once that is done, Language Evolution will switch into full C++23 mode, likely following the plans outlined in [P0592r3]. These plans were discussed in multiple groups and received strong support.

References

Informative References

[N4844]
Barry Hedquist. Collated CD 14882 Comments. 22 October 2019. URL: https://wg21.link/n4844
[P0592r3]
Ville Voutilainen. To boldly suggest an overall plan for C++23. 7 October 2019. URL: https://wg21.link/p0592r3
[P0876r9]
Oliver Kowalke, Nat Goodspeed. fiber_context - fibers without scheduler. 6 October 2019. URL: https://wg21.link/p0876r9
[P1040r4]
JeanHeyd Meneide. std::embed. 21 January 2019. URL: https://wg21.link/p1040r4
[P1046r1]
David Stone. Automatically Generate More Operators. 26 September 2019. URL: https://wg21.link/p1046r1
[P1061r1]
Barry Revzin, Jonathan Wakely. Structured Bindings can introduce a Pack. 7 October 2019. URL: https://wg21.link/p1061r1
[P1097r2]
R. Martinho Fernandes. Named character escapes. 21 January 2019. URL: https://wg21.link/p1097r2
[P1105r1]
Ben Craig, Ben Saks. Leaving no room for a lower-level language: A C++ Subset. 6 October 2018. URL: https://wg21.link/p1105r1
[P1219r2]
James Touton. Homogeneous variadic function parameters. 6 October 2019. URL: https://wg21.link/p1219r2
[P1365r0]
Gor Nishanov. Using Coroutine TS with zero dynamic allocations. 24 November 2018. URL: https://wg21.link/p1365r0
[P1371r1]
Sergei Murzin, Michael Park, David Sankel, Dan Sarginson. Pattern Matching. 17 June 2019. URL: https://wg21.link/p1371r1
[P1467r2]
Michał Dominiak, David Olsen. Extended floating-point types. 7 October 2019. URL: https://wg21.link/p1467r2
[P1468r2]
Michał Dominiak, David Olsen, Boris Fomitchev, Sergei Nikolaev. Fixed-layout floating-point type aliases. 7 October 2019. URL: https://wg21.link/p1468r2
[P1676r0]
Gor Nishanov. C++ Exception Optimizations. An experiment.. 17 June 2019. URL: https://wg21.link/p1676r0
[P1839r1]
Krystian Stasiowski. Accessing Object Representations. 2 October 2019. URL: https://wg21.link/p1839r1
[P1895r0]
Lewis Baker, Eric Niebler, Kirk Shoop. tag_invoke: A general pattern for supporting customisable functions. 8 October 2019. URL: https://wg21.link/p1895r0
[P1902r1]
Barry Revzin. Missing feature-test macros 2017-2019. 25 November 2019. URL: https://wg21.link/p1902r1
[P1908r0]
Corentin Jabot. Reserving Attribute Names for Future Use. 6 October 2019. URL: https://wg21.link/p1908r0