libc++ C++2c Status¶
Overview¶
In June 2023, the C++ standard committee adopted the first changes to the next version of the C++ standard, known here as “C++2c” (probably to be C++26).
This page shows the status of libc++; the status of clang’s support of the language features is here.
Attention
Features in unreleased drafts of the standard are subject to change.
The groups that have contributed papers:
CWG - Core Language Working group
LWG - Library working group
SG1 - Study group #1 (Concurrency working group)
Note
“Nothing to do” means that no library changes were needed to implement this change.
Paper Status¶
Paper # |
Paper Name |
Meeting |
Status |
First released version |
Notes |
---|---|---|---|---|---|
Testing for success or failure of |
2023-06 (Varna) |
Complete |
18 |
||
Hashing support for |
2023-06 (Varna) |
||||
|
2023-06 (Varna) |
||||
|
2023-06 (Varna) |
||||
Read-Copy Update (RCU) |
2023-06 (Varna) |
||||
Hazard Pointers for C++26 |
2023-06 (Varna) |
||||
ADL-proof |
2023-06 (Varna) |
Complete |
18 |
||
Interfacing |
2023-06 (Varna) |
Complete |
19 |
||
Formatting pointers |
2023-06 (Varna) |
Complete |
17 |
Implemented as a DR against C++20. (MSVC STL and libstdc++ will do the same.) |
|
Freestanding Feature-Test Macros and Implementation-Defined Extensions |
2023-06 (Varna) |
||||
Freestanding Library: Character primitives and the C library |
2023-06 (Varna) |
||||
Freestanding Language: Optional |
2023-06 (Varna) |
||||
Extending associative containers with the remaining heterogeneous overloads |
2023-06 (Varna) |
||||
Enabling the Use of |
2023-06 (Varna) |
||||
Naming Text Encodings to Demystify Them |
2023-06 (Varna) |
||||
|
2023-06 (Varna) |
||||
Mandating Annex D Require No More |
2023-06 (Varna) |
||||
Type-checking format args |
2023-06 (Varna) |
||||
Member |
2023-06 (Varna) |
Complete |
19 |
Change of |
|
Checking if a |
2023-06 (Varna) |
||||
Native handles and file streams |
2023-06 (Varna) |
Complete |
18 |
||
Interfacing |
2023-06 (Varna) |
Complete |
18 |
||
More |
2023-06 (Varna) |
||||
Adding the new SI prefixes |
2023-06 (Varna) |
Complete |
17 |
||
|
2023-06 (Varna) |
||||
Bind front and back to NTTP callables |
2023-06 (Varna) |
||||
|
2023-06 (Varna) |
||||
Saturation arithmetic |
2023-11 (Kona) |
Complete |
18 |
||
Freestanding Library: Partial Classes |
2023-11 (Kona) |
||||
Debugging Support |
2023-11 (Kona) |
||||
Runtime format strings |
2023-11 (Kona) |
Complete |
18 |
||
Runtime format strings II |
2023-11 (Kona) |
Complete |
18 |
||
Fix formatting of code units as integers (Dude, where’s my |
2023-11 (Kona) |
Complete |
18 |
||
A new specification for |
2023-11 (Kona) |
||||
|
2023-11 (Kona) |
Complete |
18 |
||
|
2023-11 (Kona) |
Complete |
18 |
||
Remove Deprecated |
2023-11 (Kona) |
Complete |
18 |
||
Remove |
2023-11 (Kona) |
Complete |
18 |
||
Remove Deprecated Unicode Conversion Facets from C++26 |
2023-11 (Kona) |
Complete |
18 |
||
Add tuple protocol to complex |
2023-11 (Kona) |
Complete |
19 |
||
Freestanding: Remove |
2023-11 (Kona) |
||||
Freestanding Library: inout expected span |
2023-11 (Kona) |
||||
|
2023-11 (Kona) |
||||
Make |
2023-11 (Kona) |
||||
A free function linear algebra interface based on the BLAS |
2023-11 (Kona) |
||||
Undeprecate |
2024-03 (Tokyo) |
Complete |
15 |
||
Remove Deprecated |
2024-03 (Tokyo) |
Complete |
19 |
||
Remove Deprecated |
2024-03 (Tokyo) |
||||
Remove |
2024-03 (Tokyo) |
Complete |
19 |
||
Permit an efficient implementation of |
2024-03 (Tokyo) |
||||
Printing Blank Lines with |
2024-03 (Tokyo) |
Complete |
19 |
Implemented as a DR against C++23. (MSVC STL and libstdc++ will do the same.) |
|
Formatting of |
2024-03 (Tokyo) |
||||
Atomic minimum/maximum |
2024-03 (Tokyo) |
||||
|
2024-03 (Tokyo) |
||||
Concatenation of strings and string views |
2024-03 (Tokyo) |
Complete |
19 |
||
Enabling list-initialization for algorithms |
2024-03 (Tokyo) |
||||
|
2024-03 (Tokyo) |
||||
Vector API for random number generation |
2024-03 (Tokyo) |
||||
Comparisons for |
2024-03 (Tokyo) |
Partial |
19 |
Implemented comparisons for |
|
Padded |
2024-03 (Tokyo) |
||||
Better |
2024-03 (Tokyo) |
Complete |
19 |
||
|
2024-06 (St. Louis) |
Complete |
20 |
||
Removing the common reference requirement from the indirectly invocable concepts |
2024-06 (St. Louis) |
Complete |
19 |
Implemented as a DR against C++20. (MSVC STL and libstdc++ will do the same.) |
|
|
2024-06 (St. Louis) |
Complete |
19 |
||
Give |
2024-06 (St. Louis) |
||||
Adjoints to ‘Enabling list-initialization for algorithms’: find_last |
2024-06 (St. Louis) |
||||
A type trait for detecting virtual base classes |
2024-06 (St. Louis) |
Complete |
20 |
||
|
2024-06 (St. Louis) |
||||
|
2024-06 (St. Louis) |
||||
Make |
2024-06 (St. Louis) |
Complete |
19 |
||
Philox as an extension of the C++ RNG engines |
2024-06 (St. Louis) |
||||
Remove |
2024-06 (St. Louis) |
Complete |
19 |
|
|
|
2024-06 (St. Louis) |
||||
Library Working Group Issues Status¶
Issue # |
Issue Name |
Meeting |
Status |
First released version |
Notes |
|
---|---|---|---|---|---|---|
Needless UB for |
2023-06 (Varna) |
Complete |
5 |
|||
|
2023-06 (Varna) |
|||||
|
2023-06 (Varna) |
Nothing To Do |
||||
Version macro for |
2023-06 (Varna) |
Complete |
19 |
|||
LWG 3661 broke |
2023-06 (Varna) |
|||||
|
2023-06 (Varna) |
|||||
span destructor is redundantly noexcept |
2023-06 (Varna) |
Complete |
7 |
|||
|
2023-06 (Varna) |
|||||
Type of |
2023-06 (Varna) |
Complete |
3.4 |
|||
|
2023-06 (Varna) |
|||||
Inconsistent template-head of |
2023-06 (Varna) |
|||||
Redundant paragraph about expression variations |
2023-06 (Varna) |
|||||
Concept |
2023-06 (Varna) |
Complete |
17 |
|||
Unclear preconditions for |
2023-06 (Varna) |
Nothing To Do |
||||
|
2023-06 (Varna) |
Complete |
3.4 |
|||
Cannot use |
2023-06 (Varna) |
Complete |
18 |
|||
|
2023-06 (Varna) |
Complete |
18 |
|||
“character type” is used but not defined |
2023-11 (Kona) |
|||||
|
2023-11 (Kona) |
Nothing To Do |
||||
|
2023-11 (Kona) |
Complete |
18 |
|||
|
2023-11 (Kona) |
|||||
|
2023-11 (Kona) |
|||||
Is |
2023-11 (Kona) |
|||||
Incorrect formatting of nested ranges and tuples |
2023-11 (Kona) |
Complete |
17 |
|||
|
2023-11 (Kona) |
Complete |
19 |
|||
The definition of |
2023-11 (Kona) |
|||||
Unexpected constraints on |
2023-11 (Kona) |
|||||
|
2023-11 (Kona) |
|||||
|
2023-11 (Kona) |
|||||
[expected.object.swap]: Using |
2023-11 (Kona) |
Complete |
16 |
|||
|
2023-11 (Kona) |
Complete |
20 |
|||
[container.alloc.reqmts] The value category of v should be claimed |
2023-11 (Kona) |
|||||
Incorrect example in [format.string.escaped] p3 for formatting of combining characters |
2023-11 (Kona) |
Complete |
19 |
|||
[mdspan.syn] Missing definition of |
2023-11 (Kona) |
|||||
Monadic operations should be ADL-proof |
2023-11 (Kona) |
|||||
|
2023-11 (Kona) |
|||||
Including |
2023-11 (Kona) |
|||||
Program-defined specializations of |
2023-11 (Kona) |
|||||
|
2023-11 (Kona) |
Complete |
19 |
|||
|
2024-03 (Tokyo) |
|||||
|
2024-03 (Tokyo) |
|||||
|
2024-03 (Tokyo) |
Complete |
18 |
|||
Specializations of |
2024-03 (Tokyo) |
Nothing To Do |
||||
|
2024-03 (Tokyo) |
Complete |
19 |
|||
|
2024-03 (Tokyo) |
Nothing To Do |
||||
|
2024-03 (Tokyo) |
|||||
|
2024-03 (Tokyo) |
|||||
container-insertable checks do not match what container-inserter does |
2024-03 (Tokyo) |
Complete |
20 |
|||
Preconditions of |
2024-03 (Tokyo) |
Complete |
19 |
|||
Move assignment operator of |
2024-03 (Tokyo) |
Complete |
20 |
|||
Clarify whether arithmetic expressions in |
2024-03 (Tokyo) |
Nothing To Do |
||||
|
2024-03 (Tokyo) |
Complete |
16 |
|||
|
2024-03 (Tokyo) |
Complete |
19 |
|||
|
2024-03 (Tokyo) |
|||||
Static data members of |
2024-03 (Tokyo) |
|||||
|
2024-03 (Tokyo) |
|||||
“ASCII” is not a registered character encoding |
2024-03 (Tokyo) |
Nothing To Do |
||||
|
2024-03 (Tokyo) |
|||||
Unary call to |
2024-03 (Tokyo) |
Complete |
19 |
|||
Repeating a |
2024-03 (Tokyo) |
Complete |
19 |
|||
Formatters converting sequences of |
2024-06 (St. Louis) |
|||||
|
2024-06 (St. Louis) |
|||||
Should |
2024-06 (St. Louis) |
Complete |
19 |
|||
|
2024-06 (St. Louis) |
Complete |
19 |
|||
|
2024-06 (St. Louis) |
|||||
|
2024-06 (St. Louis) |
|||||
Missing Preconditions in |
2024-06 (St. Louis) |
|||||
|
2024-06 (St. Louis) |
|||||
|
2024-06 (St. Louis) |
|||||
|
2024-06 (St. Louis) |
|||||
|
2024-06 (St. Louis) |
|||||
|
2024-06 (St. Louis) |
|||||
|
2024-06 (St. Louis) |
Complete |
19 |
|||
Ordering of calls to |
Not Adopted Yet |
Complete |
16 |
|||
§[time.zone.leap] recursive constraint in <=> |
Not Adopted Yet |
Complete |
20 |
|||
Pattern used by std::from_chars is underspecified (option B) |
Not Yet Adopted |
Complete |
20 |
|||