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 |
|||
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 |
|||
LWG |
Range constructor for std::string_view |
June 2021 |
|||
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 |
|
Library Working Group Issues Status¶
Issue # |
Issue Name |
Meeting |
Status |
First released version |
---|---|---|---|---|
Self-move-assignment of library types, again |
November 2020 |
|||
Missing |
November 2020 |
|||
|
November 2020 |
|||
What is the stored pointer value of an empty weak_ptr? |
November 2020 |
|||
|
November 2020 |
|||
Random access iterator requirements lack limiting relational operators domain to comparing those from the same range |
November 2020 |
|||
|
November 2020 |
Fixed by LWG3435 |
||
|
November 2020 |
Complete |
13.0 |
|
Missing requirement for comparison_category |
November 2020 |
|||
Deduction guides for |
November 2020 |
|||
The const overloads of |
November 2020 |
|||
|
November 2020 |
|||
Existence of |
November 2020 |
|||
P0083R3 |
November 2020 |
|||
Clarify |
November 2020 |
|||
Unclear behavior of |
November 2020 |
|||
|
November 2020 |
|||
|
November 2020 |
|||
LWG2989 breaks |
November 2020 |
|||
|
November 2020 |
|||
Domain of |
November 2020 |
|||
Finish removing subrange’s conversions from pair-like |
November 2020 |
|||
|
November 2020 |
|||
|
November 2020 |
|||
[algorithms.requirements]/15 doesn’t reserve as many rights as it intends to |
November 2020 |
|||
cpp17-iterator should check that the type looks like an iterator first |
November 2020 |
|||
Imperfect ADL emulation for boolean-testable |
November 2020 |
|||
|
November 2020 |
|||
|
November 2020 |
|||
|
November 2020 |
|||
|
November 2020 |
|||
|
November 2020 |
|||
|
November 2020 |
|||
|
November 2020 |
|||
|
November 2020 |
|||
take_view and take_while_view’s |
November 2020 |
|||
Generic code cannot call |
November 2020 |
|||
Incorrect Postconditions on |
November 2020 |
Nothing To Do |
||
Unimplementable |
November 2020 |
|||
|
November 2020 |
|||
compare_partial_order_fallback requires |
November 2020 |
|||
Specify the requirements for |
November 2020 |
|||
|
November 2020 |
|||
|
November 2020 |
|||
Normative encouragement in non-normative note |
November 2020 |
|||
Nesting |
November 2020 |
|||
|
November 2020 |
|||
Simplify constraints for semiregular-box |
November 2020 |
|||
|
November 2020 |
|||
|
November 2020 |
|||
Problems with |
February 2021 |
|||
|
February 2021 |
|||
|
February 2021 |
|||
Minimal improvements to |
February 2021 |
|||
Allow ranges to be conditionally borrowed |
February 2021 |
Superseded by P2017R1 |
||
|
February 2021 |
|||
|
February 2021 |
|||
|
February 2021 |
|||
|
February 2021 |
|||
|
June 2021 |
|||
|
June 2021 |
|||
LWG 491 and the specification of |
June 2021 |
|||
|
June 2021 |
|||
|
June 2021 |
|||
§[formatter.requirements]: Formatter requirements forbid use of |
June 2021 |
|||
|
June 2021 |
|||
Missing allocator-extended constructors for |
June 2021 |
|||
|
June 2021 |
|||
Exception requirements on char trait operations unclear |
June 2021 |
|||
Incomplete synopses for <random> classes |
June 2021 |
|||
|
June 2021 |
|||
Overly strict requirements on |
June 2021 |
|||
Missing requirement on |
June 2021 |
|||
|
June 2021 |
|||
Return types of |
June 2021 |
|||
|
June 2021 |
|||
|
June 2021 |
|||
|
June 2021 |
|||
|
June 2021 |
|||
|
June 2021 |
|||
Make |
June 2021 |
|||
Should |
June 2021 |
|||
|
June 2021 |
|||
§[format.arg] There should be no const in |
June 2021 |
|||
|
June 2021 |
|||
|
June 2021 |
|||
Definition of when |
June 2021 |
|||
|
June 2021 |
|||
|
June 2021 |
|||
|
June 2021 |
|||
|
June 2021 |
|||
|
June 2021 |
|||
Parallel specialized memory algorithms should require forward iterators |
June 2021 |
|||
Useless constraint in |
June 2021 |
|||
|
June 2021 |
|||
Last Updated: 22-July-2021