-
Notifications
You must be signed in to change notification settings - Fork 0
/
DxxxxR0_P1949_as_DR.fiets
51 lines (28 loc) · 3.06 KB
/
DxxxxR0_P1949_as_DR.fiets
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
P1949 should be retroactively applied to C++11, 14, 17 and 20 as a defect report
| Document # | DxxxxR0 |
| Date | 2020-02-16 |
| Project | Programming Language C++ |
| Targeted subgroups | SG16, EWG, CWG |
| Reply-to | Peter Bindels <dascandy@gmail.com> |
# Abstract
In Prague we decided that P1949 is a good idea and tentatively ready to apply to C++23. This indicates that we have an evolutionary agreement that this is the solution that we decide we want.
Prague vote in EWG: D1949R2 is tentatively ready to go to CWG for C++23
| SF | F | N | A | SA|
|-|-|-|-|-|
| 12 | 8 | 1 | 0 | 0 |
The current status of support for compilers is that they must do what C++11-20 indicated in terms of Unicode support, including the now disallowed ranges, up to and including C++20, then to switch over in C++23 to the new set of support. This makes it likely people will write code in C++11, 14, 17 or 20 in the coming few years that will then be declared invalid by C++23. Additionally, it adds an implementation burden on the implementers to keep supporting the old, now known to be troublesome, set of characters as specified in C++11-20.
This paper proposes to take the solution that was agreed upon and applies it to C++11, C++14, C++17 and C++20 (the IS variants of ISO/IEC 14882 from 2011, 2014, 2017, 2020). The targeted result of that is a simplified implementation for implementers, and less surprise for users.
# Requested feedback
## SG16
- As the Unicode study group we believe it is in the best interest of the current state and future of C++ to apply P1949 retroactively, as a defect report, to C++ going back to the original introduction of the Unicode ranges in the specification.
If the Unicode study group believes we should keep this to C++23 and beyond, it would be hard to argue in Evolution. This poll is to provide SG16 with an official poll to influence EWG in the direction they believe is best.
## EWG
- We believe that it is in the best interest of C++ to apply P1949 to C++20 as a Defect Report.
The intent of this poll is for the decision to be taken at Varna, making it a defect report released simultaneously with the standard release, allowing compiler implementers to accelerate deployment of P1949 for C++23 without breaking C++20.
- We believe that it is in the best interest of C++ to apply P1949 to C++11, 14 and 17 as a Defect Report.
The intent of this poll is to see if we want to amend the existing standard (possibly down to a different cutoff release) to simplify the implementation and end-user understanding.
## CWG
- Is it possible to amend the existing C++11/14/17 standard with this defect report to refer to the Unicode standards available now, so that the references required by P1949 exist?
If it\'s impossible to adjust a 2011 standard to refer to a newer release of Unicode, this makes the approach proposed herein unusable.
# Wording
See P1949, taking into account that the Annex C modification would then need to be adjusted to a different year, or otherwise differently formulated as the behavior it is removing is then retroactively not in the older standard.