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

P2497R0

Testing for success or failure of <charconv> functions

2023-06 (Varna)

Complete

18

P2592R3

Hashing support for std::chrono value classes

2023-06 (Varna)

P2587R3

to_string or not to_string

2023-06 (Varna)

P2562R1

constexpr Stable Sorting

2023-06 (Varna)

Complete

21

P2545R4

Read-Copy Update (RCU)

2023-06 (Varna)

P2530R3

Hazard Pointers for C++26

2023-06 (Varna)

P2538R1

ADL-proof std::projected

2023-06 (Varna)

Complete

18

P2495R3

Interfacing stringstreams with string_view

2023-06 (Varna)

Complete

19

P2510R3

Formatting pointers

2023-06 (Varna)

Complete

17

Implemented as a DR against C++20. (MSVC STL and libstdc++ will do the same.)

P2198R7

Freestanding Feature-Test Macros and Implementation-Defined Extensions

2023-06 (Varna)

P2338R4

Freestanding Library: Character primitives and the C library

2023-06 (Varna)

P2013R5

Freestanding Language: Optional ::operator new

2023-06 (Varna)

P2363R5

Extending associative containers with the remaining heterogeneous overloads

2023-06 (Varna)

P1901R2

Enabling the Use of weak_ptr as Keys in Unordered Associative Containers

2023-06 (Varna)

P1885R12

Naming Text Encodings to Demystify Them

2023-06 (Varna)

P0792R14

function_ref: a type-erased callable reference

2023-06 (Varna)

P2874R2

P2874R2: Mandating Annex D Require No More

2023-06 (Varna)

Complete

12

P2757R3

Type-checking format args

2023-06 (Varna)

P2637R3

Member visit

2023-06 (Varna)

Complete

19

Change of __cpp_lib_variant is completed in LLVM 20. Change of __cpp_lib_format is blocked by P2419R2.

P2641R4

Checking if a union alternative is active

2023-06 (Varna)

P1759R6

Native handles and file streams

2023-06 (Varna)

Complete

18

P2697R1

Interfacing bitset with string_view

2023-06 (Varna)

Complete

18

P1383R2

More constexpr for <cmath> and <complex>

2023-06 (Varna)

P2734R0

Adding the new SI prefixes

2023-06 (Varna)

Complete

17

P2548R6

copyable_function

2023-06 (Varna)

P2714R1

Bind front and back to NTTP callables

2023-06 (Varna)

Partial

20

P2630R4

submdspan

2023-06 (Varna)

P0543R3

Saturation arithmetic

2023-11 (Kona)

Complete

18

P2407R5

Freestanding Library: Partial Classes

2023-11 (Kona)

P2546R5

Debugging Support

2023-11 (Kona)

P2905R2

Runtime format strings

2023-11 (Kona)

Complete

18

P2918R2

Runtime format strings II

2023-11 (Kona)

Complete

18

P2909R4

Fix formatting of code units as integers (Dude, where’s my char?)

2023-11 (Kona)

Complete

18

P0952R2

A new specification for std::generate_canonical

2023-11 (Kona)

P2447R6

std::span over an initializer list

2023-11 (Kona)

Complete

18

P2821R5

span.at()

2023-11 (Kona)

Complete

18

P2868R3

Remove Deprecated std::allocator Typedef From C++26

2023-11 (Kona)

Complete

18

P2870R3

Remove basic_string::reserve() From C++26

2023-11 (Kona)

Complete

18

P2871R3

Remove Deprecated Unicode Conversion Facets from C++26

2023-11 (Kona)

Complete

18

P2819R2

Add tuple protocol to complex

2023-11 (Kona)

Complete

19

P2937R0

Freestanding: Remove strtok

2023-11 (Kona)

P2833R2

Freestanding Library: inout expected span

2023-11 (Kona)

P2836R1

std::basic_const_iterator should follow its underlying type’s convertibility

2023-11 (Kona)

P2264R7

Make assert() macro user friendly for C and C++

2023-11 (Kona)

P1673R13

A free function linear algebra interface based on the BLAS

2023-11 (Kona)

P2875R4

Undeprecate polymorphic_allocator::destroy for C++26

2024-03 (Tokyo)

Complete

15

P2867R2

Remove Deprecated strstreams From C++26

2024-03 (Tokyo)

Complete

19

P2869R4

Remove Deprecated shared_ptr Atomic Access APIs from C++26

2024-03 (Tokyo)

P2872R3

Remove wstring_convert From C++26

2024-03 (Tokyo)

Complete

19

P3107R5

Permit an efficient implementation of std::print

2024-03 (Tokyo)

P3142R0

Printing Blank Lines with println

2024-03 (Tokyo)

Complete

19

Implemented as a DR against C++23. (MSVC STL and libstdc++ will do the same.)

P2845R8

Formatting of std::filesystem::path

2024-03 (Tokyo)

P0493R5

Atomic minimum/maximum

2024-03 (Tokyo)

P2542R8

views::concat

2024-03 (Tokyo)

P2591R5

Concatenation of strings and string views

2024-03 (Tokyo)

Complete

19

P2248R8

Enabling list-initialization for algorithms

2024-03 (Tokyo)

P2810R4

is_debugger_present is_replaceable

2024-03 (Tokyo)

P1068R11

Vector API for random number generation

2024-03 (Tokyo)

P2944R3

Comparisons for reference_wrapper

2024-03 (Tokyo)

Complete

21

P2642R6

Padded mdspan layouts

2024-03 (Tokyo)

P3029R1

Better mdspan’s CTAD

2024-03 (Tokyo)

Complete

19

P2747R2

constexpr placement new

2024-06 (St. Louis)

Complete

20

P2997R1

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.)

P2389R2

dextents Index Type Parameter

2024-06 (St. Louis)

Complete

19

P3168R2

Give std::optional Range Support

2024-06 (St. Louis)

Complete

22

P3217R0

Adjoints to ‘Enabling list-initialization for algorithms’: find_last

2024-06 (St. Louis)

P2985R0

A type trait for detecting virtual base classes

2024-06 (St. Louis)

Complete

20

P0843R14

inplace_vector

2024-06 (St. Louis)

P3235R3

std::print more types faster with less memory

2024-06 (St. Louis)

P2968R2

Make std::ignore a first-class object

2024-06 (St. Louis)

Complete

19

P2075R6

Philox as an extension of the C++ RNG engines

2024-06 (St. Louis)

P2422R1

Remove nodiscard annotations from the standard library specification

2024-06 (St. Louis)

Complete

19

nodiscard attributes were kept as a conforming extension

P2300R10

std::execution

2024-06 (St. Louis)

P3136R1

Retiring niebloids

2024-11 (Wrocław)

Complete

14

P3138R5

views::cache_latest

2024-11 (Wrocław)

P3379R0

Constrain std::expected equality operators

2024-11 (Wrocław)

Complete

21

P2862R1

text_encoding::name() should never return null values

2024-11 (Wrocław)

P2897R7

aligned_accessor: An mdspan accessor expressing pointer over-alignment

2024-11 (Wrocław)

Complete

21

P3355R1

Fix submdspan for C++26

2024-11 (Wrocław)

P3222R0

Fix C++26 by adding transposed special cases for P2642 layouts

2024-11 (Wrocław)

P3050R2

Fix C++26 by optimizing linalg::conjugated for noncomplex value types

2024-11 (Wrocław)

P3396R1

std::execution wording fixes

2024-11 (Wrocław)

P2835R7

Expose std::atomic_ref’s object address

2024-11 (Wrocław)

P3323R1

cv-qualified types in atomic and atomic_ref

2024-11 (Wrocław)

P3508R0

Wording for “constexpr for specialized memory algorithms”

2024-11 (Wrocław)

P3369R0

constexpr for uninitialized_default_construct

2024-11 (Wrocław)

P3370R1

Add new library headers from C23

2024-11 (Wrocław)

P3309R3

constexpr atomic and atomic_ref

2024-11 (Wrocław)

P1928R15

std::simd — merge data-parallel types from the Parallelism TS 2

2024-11 (Wrocław)

P3325R5

A Utility for Creating Execution Environments

2024-11 (Wrocław)

P3068R6

Allowing exception throwing in constant-evaluation

2024-11 (Wrocław)

P3247R2

Deprecate the notion of trivial types

2024-11 (Wrocław)

Complete

21

P3074R7

trivial unions (was std::uninitialized)

2025-02 (Hagenberg)

P1494R5

Partial program correctness

2025-02 (Hagenberg)

P2900R14

Contracts for C++

2025-02 (Hagenberg)

P3475R2

Defang and deprecate memory_order::consume

2025-02 (Hagenberg)

P2786R13

Trivial Relocatability For C++26

2025-02 (Hagenberg)

P3137R3

views::to_input

2025-02 (Hagenberg)

P0472R3

Put std::monostate in <utility>

2025-02 (Hagenberg)

Complete

21

P3349R1

Converting contiguous iterators to pointers

2025-02 (Hagenberg)

P3372R3

constexpr containers and adaptors

2025-02 (Hagenberg)

In Progress

P3378R2

constexpr exception types

2025-02 (Hagenberg)

P3441R2

Rename simd_split to simd_chunk

2025-02 (Hagenberg)

P3287R3

Exploration of namespaces for std::simd

2025-02 (Hagenberg)

P2976R1

Freestanding Library: algorithm, numeric, and random

2025-02 (Hagenberg)

P3430R3

simd issues: explicit, unsequenced, identity-element position, and members of disabled simd

2025-02 (Hagenberg)

P2663R7

Interleaved complex values support in std::simd

2025-02 (Hagenberg)

P2933R4

Extend <bit> header function with overloads for std::simd

2025-02 (Hagenberg)

P2846R6

reserve_hint: Eagerly reserving memory for not-quite-sized lazy ranges

2025-02 (Hagenberg)

P3471R4

Standard Library Hardening

2025-02 (Hagenberg)

P0447R28

Introduction of std::hive to the standard library

2025-02 (Hagenberg)

P3019R14

indirect and polymorphic: Vocabulary Types for Composite Class Design

2025-02 (Hagenberg)

P2996R13

Reflection for C++26

2025-06 (Sofia)

P3394R4

Annotations for Reflection

2025-06 (Sofia)

P3293R3

Splicing a base class subobject

2025-06 (Sofia)

P3491R3

define_static_{string,object,array}

2025-06 (Sofia)

P3096R12

Function Parameter Reflection in Reflection for C++26

2025-06 (Sofia)

P2988R12

std::optional<T&>

2025-06 (Sofia)

P3348R4

C++26 should refer to C23 not C17

2025-06 (Sofia)

P3037R6

constexpr std::shared_ptr and friends

2025-06 (Sofia)

P3284R4

write_env and unstoppable Sender Adaptors

2025-06 (Sofia)

P3179R9

Parallel Range Algorithms

2025-06 (Sofia)

P3709R2

Reconsider parallel ranges::rotate_copy and ranges::reverse_copy

2025-06 (Sofia)

P3641R0

Rename std::observable to std::observable_checkpoint, and add a feature-test macro

2025-06 (Sofia)

P3044R2

sub-string_view from string

2025-06 (Sofia)

P2876R3

Proposal to extend std::simd with more constructors and accessors

2025-06 (Sofia)

P3480R6

std::simd is a range

2025-06 (Sofia)

P2664R11

Extend std::simd with permutation API

2025-06 (Sofia)

P3691R1

Reconsider naming of the namespace for std::simd

2025-06 (Sofia)

P3383R3

mdspan.at()

2025-06 (Sofia)

P2927R3

Inspecting exception_ptr

2025-06 (Sofia)

P3748R0

Inspecting exception_ptr should be constexpr

2025-06 (Sofia)

P2830R10

Standardized Constexpr Type Ordering

2025-06 (Sofia)

P3570R2

optional variants in sender/receiver

2025-06 (Sofia)

P3481R5

std::execution::bulk() issues

2025-06 (Sofia)

P3433R1

Allocator Support for Operation States

2025-06 (Sofia)

P3149R11

async_scope - Creating scopes for non-sequential concurrency

2025-06 (Sofia)

P3682R0

Remove std::execution::split

2025-06 (Sofia)

P2079R10

Parallel scheduler

2025-06 (Sofia)

P3557R3

High-Quality Sender Diagnostics with Constexpr Exceptions

2025-06 (Sofia)

P3560R2

Error Handling in Reflection

2025-06 (Sofia)

P3503R3

Make type-erased allocator use in promise and packaged_task consistent

2025-06 (Sofia)

P3008R6

Atomic floating-point min/max

2025-06 (Sofia)

P3111R8

Atomic Reduction Operations

2025-06 (Sofia)

P3060R3

Add std::views::indices(n)

2025-06 (Sofia)

P2319R5

Prevent path presentation problems

2025-06 (Sofia)

P3223R2

Making std::istream::ignore less surprising

2025-06 (Sofia)

P2781R9

std::constant_wrapper

2025-06 (Sofia)

P3697R1

Minor additions to C++26 standard library hardening

2025-06 (Sofia)

P3552R3

Add a Coroutine Task Type

2025-06 (Sofia)

P1317R2

Remove return type deduction in std::apply

2025-06 (Sofia)

Library Working Group Issues Status

Issue #

Issue Name

Meeting

Status

First released version

Notes

LWG2994

Needless UB for basic_string and basic_string_view

2023-06 (Varna)

Complete

5

LWG3884

flat_foo is missing allocator-extended copy/move constructors

2023-06 (Varna)

LWG3885

op should be in [zombie.names]

2023-06 (Varna)

Nothing To Do

LWG3887

Version macro for allocate_at_least

2023-06 (Varna)

Complete

19

LWG3893

LWG 3661 broke atomic<shared_ptr<T>> a; a = nullptr;

2023-06 (Varna)

LWG3894

generator::promise_type::yield_value(ranges::elements_of<Rng, Alloc>) should not be noexcept

2023-06 (Varna)

LWG3903

span destructor is redundantly noexcept

2023-06 (Varna)

Complete

7

LWG3904

lazy_split_view::outer-iterator’s const-converting constructor isn’t setting trailing_empty_

2023-06 (Varna)

LWG3905

Type of std::fexcept_t

2023-06 (Varna)

Complete

3.4

LWG3912

enumerate_view::iterator::operator- should be noexcept

2023-06 (Varna)

LWG3914

Inconsistent template-head of ranges::enumerate_view

2023-06 (Varna)

LWG3915

Redundant paragraph about expression variations

2023-06 (Varna)

LWG3925

Concept formattable’s definition is incorrect

2023-06 (Varna)

Complete

17

LWG3927

Unclear preconditions for operator[] for sequence containers

2023-06 (Varna)

Nothing To Do

LWG3935

template<class X> constexpr complex& operator=(const complex<X>&) has no specification

2023-06 (Varna)

Complete

3.4

LWG3938

Cannot use std::expected monadic ops with move-only error_type

2023-06 (Varna)

Complete

18

LWG3940

std::expected<void, E>::value() also needs E to be copy constructible

2023-06 (Varna)

Complete

18

LWG2392

“character type” is used but not defined

2023-11 (Kona)

LWG3203

span element access invalidation

2023-11 (Kona)

Nothing To Do

LWG3305

any_cast<void>

2023-11 (Kona)

Complete

18

LWG3431

<=> for containers should require three_way_comparable<T> instead of <=>

2023-11 (Kona)

LWG3749

common_iterator should handle integer-class difference types

2023-11 (Kona)

LWG3809

Is std::subtract_with_carry_engine<uint16_t> supposed to work

2023-11 (Kona)

LWG3892

Incorrect formatting of nested ranges and tuples

2023-11 (Kona)

Complete

17

LWG3897

inout_ptr will not update raw pointer to 0

2023-11 (Kona)

Complete

19

LWG3946

The definition of const_iterator_t should be reworked

2023-11 (Kona)

LWG3947

Unexpected constraints on adjacent_transform_view::base()

2023-11 (Kona)

LWG3948

possibly-const-range and as-const-pointer should be noexcept

2023-11 (Kona)

LWG3949

std::atomic<bool>’s trivial destructor dropped in C++17 spec wording

2023-11 (Kona)

LWG3951

[expected.object.swap]: Using value() instead of has_value()

2023-11 (Kona)

Complete

16

LWG3953

iter_move for common_iterator and counted_iterator should return decltype(auto)

2023-11 (Kona)

Complete

20

LWG3957

[container.alloc.reqmts] The value category of v should be claimed

2023-11 (Kona)

LWG3965

Incorrect example in [format.string.escaped] p3 for formatting of combining characters

2023-11 (Kona)

Complete

19

LWG3970

[mdspan.syn] Missing definition of full_extent_t and full_extent

2023-11 (Kona)

LWG3973

Monadic operations should be ADL-proof

2023-11 (Kona)

LWG3974

mdspan::operator[] should not copy OtherIndexTypes

2023-11 (Kona)

LWG3987

Including <flat_foo> doesn’t provide std::begin/end

2023-11 (Kona)

Complete

LWG3990

Program-defined specializations of std::tuple and std::variant can’t be properly supported

2023-11 (Kona)

Complete

21

LWG4001

iota_view should provide empty

2023-11 (Kona)

Complete

19

LWG3767

codecvt<charN_t, char8_t, mbstate_t> incorrectly added to locale

2024-03 (Tokyo)

LWG3919

enumerate_view may invoke UB for sized common non-forward underlying ranges

2024-03 (Tokyo)

LWG3950

std::basic_string_view comparison operators are overspecified

2024-03 (Tokyo)

Complete

18

LWG3975

Specializations of basic_format_context should not be permitted

2024-03 (Tokyo)

Nothing To Do

LWG3984

ranges::to’s recursion branch may be ill-formed

2024-03 (Tokyo)

Complete

19

LWG4011

Effects: Equivalent to return” in [span.elem]

2024-03 (Tokyo)

Nothing To Do

LWG4012

common_view::begin/end are missing the simple-view check

2024-03 (Tokyo)

LWG4013

lazy_split_view::outer-iterator::value_type should not provide default constructor

2024-03 (Tokyo)

LWG4016

container-insertable checks do not match what container-inserter does

2024-03 (Tokyo)

Complete

20

LWG4023

Preconditions of std::basic_streambuf::setg/setp

2024-03 (Tokyo)

Complete

19

LWG4025

Move assignment operator of std::expected<cv void, E> should not be conditionally deleted

2024-03 (Tokyo)

Complete

20

LWG4030

Clarify whether arithmetic expressions in [numeric.sat.func] are mathematical or C++

2024-03 (Tokyo)

Nothing To Do

LWG4031

bad_expected_access<void> member functions should be noexcept

2024-03 (Tokyo)

Complete

16

LWG4035

single_view should provide empty

2024-03 (Tokyo)

Complete

19

LWG4036

__alignof_is_defined is only implicitly specified in C++ and not yet deprecated

2024-03 (Tokyo)

LWG4037

Static data members of ctype_base are not yet required to be usable in constant expressions

2024-03 (Tokyo)

LWG4038

std::text_encoding::aliases_view should have constexpr iterators

2024-03 (Tokyo)

LWG4043

“ASCII” is not a registered character encoding

2024-03 (Tokyo)

Nothing To Do

LWG4045

tuple can create dangling references from tuple-like

2024-03 (Tokyo)

LWG4053

Unary call to std::views::repeat does not decay the argument

2024-03 (Tokyo)

Complete

19

LWG4054

Repeating a repeat_view should repeat the view

2024-03 (Tokyo)

Complete

19

LWG3944

Formatters converting sequences of char to sequences of wchar_t

2024-06 (St. Louis)

Complete

21

LWG4060

submdspan preconditions do not forbid creating invalid pointer

2024-06 (St. Louis)

LWG4061

Should std::basic_format_context be default-constructible/copyable/movable?

2024-06 (St. Louis)

Complete

19

LWG4071

reference_wrapper comparisons are not SFINAE-friendly

2024-06 (St. Louis)

Complete

19

LWG4074

compatible-joinable-ranges is underconstrained

2024-06 (St. Louis)

Complete

21

LWG4076

concat_view should be freestanding

2024-06 (St. Louis)

LWG4079

Missing Preconditions in concat_view::iterator`s conversion constructor

2024-06 (St. Louis)

LWG4082

views::concat(r) is well-formed when r is an output_range

2024-06 (St. Louis)

LWG4083

views::as_rvalue should reject non-input ranges

2024-06 (St. Louis)

LWG4096

views::iota(views::iota(0)) should be rejected

2024-06 (St. Louis)

Complete

22

LWG4098

views::adjacent<0> should reject non-forward ranges

2024-06 (St. Louis)

LWG4105

ranges::ends_with`s Returns misses difference casting

2024-06 (St. Louis)

LWG4106

basic_format_args should not be default-constructible

2024-06 (St. Louis)

Complete

19

LWG3216

Rebinding the allocator before calling construct/destroy in allocate_shared

2024-11 (Wrocław)

LWG3436

std::construct_at should support arrays

2024-11 (Wrocław)

LWG3886

Monad mo’ problems

2024-11 (Wrocław)

LWG3899

co_yielding elements of an lvalue generator is unnecessarily inefficient

2024-11 (Wrocław)

LWG3900

The allocator_arg_t overloads of generator::promise_type::operator new should not be constrained

2024-11 (Wrocław)

LWG3918

std::uninitialized_move/_n and guaranteed copy elision

2024-11 (Wrocław)

LWG4014

LWG 3809 changes behavior of some existing std::subtract_with_carry_engine code

2024-11 (Wrocław)

LWG4024

Underspecified destruction of objects created in std::make_shared_for_overwrite/std::allocate_shared_for_overwrite

2024-11 (Wrocław)

Complete

16

LWG4027

possibly-const-range should prefer returning const R&

2024-11 (Wrocław)

LWG4044

Confusing requirements for std::print on POSIX platforms

2024-11 (Wrocław)

LWG4064

Clarify that std::launder is not needed when using the result of std::memcpy

2024-11 (Wrocław)

LWG4072

std::optional comparisons: constrain harder

2024-11 (Wrocław)

LWG4084

std::fixed ignores std::uppercase

2024-11 (Wrocław)

LWG4085

ranges::generate_random’s helper lambda should specify the return type

2024-11 (Wrocław)

LWG4088

println ignores the locale imbued in std::ostream

2024-11 (Wrocław)

Complete

18

LWG4112

has-arrow should required operator->() to be const-qualified

2024-11 (Wrocław)

LWG4113

Disallow has_unique_object_representations<Incomplete[]>

2024-11 (Wrocław)

Complete

LWG4119

generator::promise_type::yield_value(ranges::elements_of<R, Alloc>)’s nested generator may be ill-formed

2024-11 (Wrocław)

LWG4124

Cannot format zoned_time with resolution coarser than seconds

2024-11 (Wrocław)

LWG4126

Some feature-test macros for fully freestanding features are not yet marked freestanding

2024-11 (Wrocław)

LWG4134

Issue with Philox algorithm specification

2024-11 (Wrocław)

LWG4135

The helper lambda of std::erase for list should specify return type as bool

2024-11 (Wrocław)

Complete

21

LWG4140

Useless default constructors for bit reference types

2024-11 (Wrocław)

Complete

LWG4141

Improve prohibitions on “additional storage”

2024-11 (Wrocław)

LWG4142

format_parse_context::check_dynamic_spec should require at least one type

2024-11 (Wrocław)

LWG4144

Disallow unique_ptr<T&, D>

2024-11 (Wrocław)

LWG4147

Precondition on inplace_vector::emplace

2024-11 (Wrocław)

LWG4148

unique_ptr::operator* should not allow dangling references

2024-11 (Wrocław)

LWG4153

Fix extra “-1” for philox_engine::max()

2024-11 (Wrocław)

LWG4154

The Mandates for std::packaged_task’s constructor from a callable entity should consider decaying

2024-11 (Wrocław)

LWG4157

The resolution of LWG3465 was damaged by P2167R3

2024-11 (Wrocław)

Complete

20

LWG4164

Missing guarantees for forward_list modifiers

2024-11 (Wrocław)

Complete

21

LWG4169

std::atomic<T>’s default constructor should be constrained

2024-11 (Wrocław)

LWG4170

contiguous_iterator should require to_address(I{})

2024-11 (Wrocław)

LWG3578

Iterator SCARYness in the context of associative container merging

2025-02 (Hagenberg)

LWG3956

chrono::parse uses from_stream as a customization point

2025-02 (Hagenberg)

LWG4172

unique_lock self-move-assignment is broken

2025-02 (Hagenberg)

LWG4175

get_env() specified in terms of as_const() but this doesn’t work with rvalue senders

2025-02 (Hagenberg)

LWG4179

Wrong range in [alg.search]

2025-02 (Hagenberg)

LWG4186

regex_traits::transform_primary mistakenly detects typeid of a function

2025-02 (Hagenberg)

LWG4189

cache_latest_view should be freestanding

2025-02 (Hagenberg)

LWG4191

P1467 changed the return type of pow(complex<float>, int)

2025-02 (Hagenberg)

LWG4196

Complexity of inplace_merge() is incorrect

2025-02 (Hagenberg)

LWG4198

schedule_from isn’t starting the schedule sender if decay-copying results throws

2025-06 (Sofia)

LWG4202

enable-sender should be a variable template

2025-06 (Sofia)

LWG4203

Constraints on get-state functions are incorrect

2025-06 (Sofia)

LWG4204

specification of as-sndr2(Sig) in [exec.let] is incomplete

2025-06 (Sofia)

LWG4205

let_[*].transform_env is specified in terms of the let_* sender itself instead of its child

2025-06 (Sofia)

LWG4208

Wording needs to ensure that in connect(sndr, rcvr) that rcvr expression is only evaluated once

2025-06 (Sofia)

LWG4209

default_domain::transform_env should be returning FWD-ENV(env)

2025-06 (Sofia)

LWG4188

ostream::sentry destructor should handle exceptions

2025-06 (Sofia)

LWG4200

The operation_state concept can be simplified

2025-06 (Sofia)

LWG4201

with-await-transform::await_transform should not use a deduced return type

2025-06 (Sofia)

LWG4217

Clarify mdspan layout mapping requirements for rank == 0

2025-06 (Sofia)

LWG4222

expected constructor from a single value missing a constraint

2025-06 (Sofia)

Complete

22

LWG4224

Philox engines should be freestanding

2025-06 (Sofia)

LWG4227

Missing noexcept operator in [exec.when.all]

2025-06 (Sofia)

LWG4231

datapar::chunk<N> should use simd-size-type instead of size_t

2025-06 (Sofia)

LWG4232

datapar::resize does not resize

2025-06 (Sofia)

LWG4233

The helper lambda of std::erase for hive should specify return type as bool

2025-06 (Sofia)

LWG4234

Including <hive> doesn’t provide std::begin/end

2025-06 (Sofia)

LWG4235

cache_latest_view and to_input_view miss reserve_hint

2025-06 (Sofia)

LWG4236

chunk_view::outer-iterator::value_type should provide reserve_hint

2025-06 (Sofia)

LWG4239

flat_map’s transparent comparator no longer works for string literals

2025-06 (Sofia)

LWG4242

ranges::distance does not work with volatile iterators

2025-06 (Sofia)

LWG4245

Operators that interact with counted_iterator and default_sentinel_t should be noexcept

2025-06 (Sofia)

LWG4247

Header <stdbit.h> is not yet freestanding

2025-06 (Sofia)

LWG3343

Ordering of calls to unlock() and notify_all() in Effects element of notify_all_at_thread_exit() should be reversed

Not Adopted Yet

Complete

16

LWG4139

§[time.zone.leap] recursive constraint in <=>

Not Adopted Yet

Complete

20

LWG3456

Pattern used by std::from_chars is underspecified (option B)

Not Adopted Yet

Complete

20

LWG3882

tuple relational operators have confused friendships

Not Adopted Yet

Complete

21

The comparsion operators are constrained harder than the proposed resolution. libstdc++ and MSVC STL do the same.