libc++ C++2b Status¶
Overview¶
In November 2020, the C++ standard committee adopted the first changes to the next version of the C++ standard, known here as “C++2b” (probably to be C++23).
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 # |
Group |
Paper Name |
Meeting |
Status |
First released version |
---|---|---|---|---|---|
LWG |
A Proposal to add stacktrace library |
Autumn 2020 |
|||
LWG |
Support C atomics in C++ |
Autumn 2020 |
|||
LWG |
A proposal for a type trait to detect scoped enumerations |
Autumn 2020 |
Complete |
12.0 |
|
LWG |
string contains function |
Autumn 2020 |
Complete |
12.0 |
|
LWG |
std::to_underlying for enumerations |
February 2021 |
Complete |
13.0 |
|
LWG |
Conditionally borrowed ranges |
February 2021 |
|||
LWG |
Locks lock lockables |
February 2021 |
|||
LWG |
Inheriting from std::variant |
February 2021 |
Complete |
13.0 |
|
LWG |
Relax Requirements for time_point::clock |
February 2021 |
|||
LWG |
Repairing input range adaptors and counted_iterator |
February 2021 |
|||
LWG |
Providing size feedback in the Allocator interface |
June 2021 |
|||
LWG |
A strstream replacement using span<charT> as buffer |
June 2021 |
|||
LWG |
out_ptr - a scalable output pointer abstraction |
June 2021 |
|||
LWG |
Making std::type_info::operator== constexpr |
June 2021 |
|||
LWG |
Iterators pair constructors for stack and queue |
June 2021 |
Complete |
14.0 |
|
LWG |
Stop overconstraining allocators in container deduction guides |
June 2021 |
Complete |
13.0 |
|
LWG |
starts_with and ends_with |
June 2021 |
|||
LWG |
Default Arguments for pair Forwarding Constructor |
June 2021 |
Complete |
14.0 |
|
LWG |
Range constructor for std::string_view |
June 2021 |
Complete |
14.0 |
|
LWG |
invoke_r |
June 2021 |
|||
LWG |
A Proposal to Prohibit std::basic_string and std::basic_string_view construction from nullptr |
June 2021 |
Complete |
13.0 |
|
LWG |
|
October 2021 |
|||
LWG |
Monadic operations for |
October 2021 |
Complete |
14.0 |
|
LWG |
|
October 2021 |
Complete |
14.0 |
|
LWG |
|
October 2021 |
Complete |
14.0 |
|
LWG |
Printing |
October 2021 |
Complete |
14.0 |
|
LWG |
Byteswapping for fun&&nuf |
October 2021 |
Complete |
14.0 |
|
LWG |
|
October 2021 |
|||
LWG |
Heterogeneous erasure overloads for associative containers |
October 2021 |
|||
LWG |
Require |
October 2021 |
Complete |
14.0 |
|
LWG |
Add a |
October 2021 |
|||
LWG |
|
October 2021 |
In Progress |
||
LWG |
Clarifying the status of the ‘C headers’ |
October 2021 |
|||
LWG |
Cleaning up |
October 2021 |
|||
LWG |
Add a conditional |
October 2021 |
Complete |
14.0 |
|
Library Working Group Issues Status¶
Issue # |
Issue Name |
Meeting |
Status |
First released version |
Labels |
---|---|---|---|---|---|
Self-move-assignment of library types, again |
November 2020 |
Nothing To Do |
|||
Missing |
November 2020 |
||||
|
November 2020 |
||||
What is the stored pointer value of an empty |
November 2020 |
Nothing To Do |
|||
|
November 2020 |
Complete |
9.0 |
||
Random access iterator requirements lack limiting relational operators domain to comparing those from the same range |
November 2020 |
Nothing To Do |
ranges |
||
|
November 2020 |
Fixed by LWG3435 |
|||
|
November 2020 |
Complete |
13.0 |
||
Missing requirement for |
November 2020 |
spaceship |
|||
Deduction guides for |
November 2020 |
Complete |
14.0 |
||
The const overloads of |
November 2020 |
ranges |
|||
|
November 2020 |
||||
Existence of |
November 2020 |
Complete |
5.0 |
||
P0083R3 |
November 2020 |
Nothing To Do |
|||
Clarify |
November 2020 |
Nothing To Do |
|||
Unclear behavior of |
November 2020 |
||||
|
November 2020 |
||||
|
November 2020 |
||||
LWG2989 breaks |
November 2020 |
Complete |
14.0 |
||
|
November 2020 |
Complete |
14.0 |
ranges |
|
Domain of |
November 2020 |
ranges |
|||
Finish removing subrange’s conversions from pair-like |
November 2020 |
ranges |
|||
|
November 2020 |
Complete |
14.0 |
ranges |
|
|
November 2020 |
ranges |
|||
[algorithms.requirements]/15 doesn’t reserve as many rights as it intends to |
November 2020 |
Nothing To Do |
|||
cpp17-iterator should check that the type looks like an iterator first |
November 2020 |
Complete |
14.0 |
ranges |
|
Imperfect ADL emulation for boolean-testable |
November 2020 |
Nothing To Do |
ranges |
||
|
November 2020 |
Nothing To Do |
|||
|
November 2020 |
spaceship |
|||
|
November 2020 |
spaceship |
|||
|
November 2020 |
Complete |
14.0 |
ranges |
|
|
November 2020 |
Nothing To Do |
|||
|
November 2020 |
Complete |
14.0 |
||
|
November 2020 |
Complete |
14.0 |
ranges |
|
|
November 2020 |
ranges |
|||
|
November 2020 |
ranges |
|||
Generic code cannot call |
November 2020 |
Nothing To Do |
ranges |
||
Incorrect Postconditions on |
November 2020 |
Nothing To Do |
|||
Unimplementable |
November 2020 |
Complete |
14.0 |
||
|
November 2020 |
Nothing To Do |
|||
|
November 2020 |
Complete |
14.0 |
spaceship |
|
Specify the requirements for |
November 2020 |
Nothing To Do |
|||
|
November 2020 |
Complete |
14.0 |
||
|
November 2020 |
Complete |
14.0 |
ranges |
|
Normative encouragement in non-normative note |
November 2020 |
Nothing To Do |
format |
||
Nesting |
November 2020 |
ranges |
|||
|
November 2020 |
||||
Simplify constraints for |
November 2020 |
ranges |
|||
|
November 2020 |
Complete |
14.0 |
ranges |
|
|
November 2020 |
Complete |
14.0 |
ranges |
|
Problems with |
February 2021 |
ranges |
|||
|
February 2021 |
Complete |
14.0 |
ranges |
|
|
February 2021 |
Nothing To Do |
ranges |
||
Minimal improvements to |
February 2021 |
ranges |
|||
Allow ranges to be conditionally borrowed |
February 2021 |
Superseded by P2017R1 |
ranges |
||
|
February 2021 |
Nothing To Do |
|||
|
February 2021 |
ranges |
|||
|
February 2021 |
ranges |
|||
|
February 2021 |
ranges |
|||
|
June 2021 |
||||
|
June 2021 |
Nothing To Do |
|||
LWG 491 and the specification of |
June 2021 |
||||
|
June 2021 |
spaceship |
|||
|
June 2021 |
||||
§[formatter.requirements]: Formatter requirements forbid use of |
June 2021 |
format |
|||
|
June 2021 |
Superseded by P2415R2 |
ranges |
||
Missing allocator-extended constructors for |
June 2021 |
Complete |
14.0 |
||
|
June 2021 |
ranges |
|||
Exception requirements on char trait operations unclear |
June 2021 |
Nothing To Do |
|||
Incomplete synopses for |
June 2021 |
||||
|
June 2021 |
Complete |
14.0 |
ranges |
|
Overly strict requirements on |
June 2021 |
Nothing To Do |
|||
Missing requirement on |
June 2021 |
Complete |
14.0 |
ranges |
|
|
June 2021 |
ranges |
|||
Return types of |
June 2021 |
||||
|
June 2021 |
||||
|
June 2021 |
||||
|
June 2021 |
Complete |
14.0 |
||
|
June 2021 |
||||
|
June 2021 |
ranges |
|||
Make |
June 2021 |
Complete |
14.0 |
ranges |
|
Should |
June 2021 |
chrono |
|||
|
June 2021 |
format |
|||
§[format.arg] There should be no const in |
June 2021 |
Complete |
14.0 |
format |
|
|
June 2021 |
Complete |
14.0 |
ranges |
|
|
June 2021 |
Complete |
14.0 |
format |
|
Definition of when |
June 2021 |
Nothing To Do |
ranges |
||
|
June 2021 |
Complete |
14.0 |
format |
|
|
June 2021 |
ranges |
|||
|
June 2021 |
||||
|
June 2021 |
Complete |
14.0 |
ranges |
|
|
June 2021 |
Nothing To Do |
ranges |
||
Parallel specialized memory algorithms should require forward iterators |
June 2021 |
||||
Useless constraint in |
June 2021 |
ranges |
|||
|
June 2021 |
ranges |
|||
Incorrect specification of |
October 2021 |
Nothing To Do |
|||
Inconsistency in parsing floating point numbers |
October 2021 |
||||
|
October 2021 |
||||
|
October 2021 |
||||
|
October 2021 |
chrono |
|||
Excessive unwrapping in |
October 2021 |
Complete |
14.0 |
||
|
October 2021 |
||||
|
October 2021 |
ranges |
|||
|
October 2021 |
Nothing To Do |
ranges |
||
|
October 2021 |
Complete |
14.0 |
ranges |
|
Some problems with the wording changes of P1739R4 |
October 2021 |
ranges |
|||
Issues of |
October 2021 |
Complete |
14.0 |
||
|
October 2021 |
Complete |
14.0 |
ranges |
|
|
October 2021 |
Complete |
14.0 |
ranges |
|
Inconsistent |
October 2021 |
||||
|
October 2021 |
ranges |
|||
|
October 2021 |
chrono |
|||
The |
October 2021 |
Complete |
14.0 |
||
Semantic requirements of |
October 2021 |
Nothing To Do |
ranges |
||
|
October 2021 |
ranges |
|||
Issue with internal counter in |
October 2021 |
||||
|
October 2021 |
ranges |
|||
Constraint recursion for |
October 2021 |
spaceship |
|||
Formatting move-only iterators take two |
October 2021 |
format |
|||
|
October 2021 |
ranges |
|||
|
October 2021 |
||||
|
October 2021 |
||||
|
October 2021 |
Complete |
14.0 |
ranges |
|
Missing Throws element for |
October 2021 |
Complete |
14.0 |
||
|
October 2021 |
Complete |
14.0 |
ranges |
|
|
October 2021 |
Complete |
14.0 |
ranges |
|
The range constructor makes |
October 2021 |
Complete |
14.0 |
ranges |
|
|
October 2021 |
||||
The |
October 2021 |
Complete |
14.0 |
ranges |
|
|
October 2021 |
ranges |
|||
|
October 2021 |
ranges |
|||
|
October 2021 |
ranges |
|||
Several iterators’ |
October 2021 |
ranges |
|||
Exposition-only classes proxy and postfix-proxy for |
October 2021 |
Complete |
14.0 |
ranges |
|
|
Not voted in |
Complete |
14.0 |
||