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

#105357

P2592R3

Hashing support for std::chrono value classes

2023-06 (Varna)

#105358

P2587R3

to_string or not to_string

2023-06 (Varna)

#105359

P2562R1

constexpr Stable Sorting

2023-06 (Varna)

Complete

21

#105360

P2545R4

Read-Copy Update (RCU)

2023-06 (Varna)

#105361

P2530R3

Hazard Pointers for C++26

2023-06 (Varna)

#105362

P2538R1

ADL-proof std::projected

2023-06 (Varna)

Complete

18

#105363

P2495R3

Interfacing stringstreams with string_view

2023-06 (Varna)

Complete

19

#105364

P2510R3

Formatting pointers

2023-06 (Varna)

Complete

17

#105365

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)

#105368

P2338R4

Freestanding Library: Character primitives and the C library

2023-06 (Varna)

#105369

P2013R5

Freestanding Language: Optional ::operator new

2023-06 (Varna)

#105370

P2363R5

Extending associative containers with the remaining heterogeneous overloads

2023-06 (Varna)

#105371

P1901R2

Enabling the Use of weak_ptr as Keys in Unordered Associative Containers

2023-06 (Varna)

#105372

P1885R12

Naming Text Encodings to Demystify Them

2023-06 (Varna)

#105373

P0792R14

function_ref: a type-erased callable reference

2023-06 (Varna)

#105376

P2874R2

P2874R2: Mandating Annex D Require No More

2023-06 (Varna)

Complete

12

#105377

P2757R3

Type-checking format args

2023-06 (Varna)

#105378

P2637R3

Member visit

2023-06 (Varna)

Complete

19

#105380

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)

#105381

P1759R6

Native handles and file streams

2023-06 (Varna)

Complete

18

#105382

P2697R1

Interfacing bitset with string_view

2023-06 (Varna)

Complete

18

#105384

P1383R2

More constexpr for <cmath> and <complex>

2023-06 (Varna)

#105385

P2734R0

Adding the new SI prefixes

2023-06 (Varna)

Complete

17

#105386

P2548R6

copyable_function

2023-06 (Varna)

#105387

P2714R1

Bind front and back to NTTP callables

2023-06 (Varna)

Partial

20

#105388

P2630R4

submdspan

2023-06 (Varna)

#105389

P0543R3

Saturation arithmetic

2023-11 (Kona)

Complete

18

#105390

P2407R5

Freestanding Library: Partial Classes

2023-11 (Kona)

#105391

P2546R5

Debugging Support

2023-11 (Kona)

#105392

P2905R2

Runtime format strings

2023-11 (Kona)

Complete

18

#105393

P2918R2

Runtime format strings II

2023-11 (Kona)

Complete

18

#105394

P2909R4

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

2023-11 (Kona)

Complete

18

#105395

P0952R2

A new specification for std::generate_canonical

2023-11 (Kona)

#105396

P2447R6

std::span over an initializer list

2023-11 (Kona)

Complete

18

#105397

P2821R5

span.at()

2023-11 (Kona)

Complete

18

#105399

P2868R3

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

2023-11 (Kona)

Complete

18

#105400

P2870R3

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

2023-11 (Kona)

Complete

18

#105401

P2871R3

Remove Deprecated Unicode Conversion Facets from C++26

2023-11 (Kona)

Complete

18

#105402

P2819R2

Add tuple protocol to complex

2023-11 (Kona)

Complete

19

#105403

P2937R0

Freestanding: Remove strtok

2023-11 (Kona)

#105404

P2833R2

Freestanding Library: inout expected span

2023-11 (Kona)

#105405

P2836R1

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

2023-11 (Kona)

#105406

P2264R7

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

2023-11 (Kona)

#105407

P1673R13

A free function linear algebra interface based on the BLAS

2023-11 (Kona)

#105408

P2875R4

Undeprecate polymorphic_allocator::destroy for C++26

2024-03 (Tokyo)

Complete

15

#105410

P2867R2

Remove Deprecated strstreams From C++26

2024-03 (Tokyo)

Complete

19

#105411

P2869R4

Remove Deprecated shared_ptr Atomic Access APIs from C++26

2024-03 (Tokyo)

#105412

P2872R3

Remove wstring_convert From C++26

2024-03 (Tokyo)

Complete

19

#105413

P3107R5

Permit an efficient implementation of std::print

2024-03 (Tokyo)

#105414

P3142R0

Printing Blank Lines with println

2024-03 (Tokyo)

Complete

19

#105415

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

P2845R8

Formatting of std::filesystem::path

2024-03 (Tokyo)

#105416

P0493R5

Atomic minimum/maximum

2024-03 (Tokyo)

#105418

P2542R8

views::concat

2024-03 (Tokyo)

#105419

P2591R5

Concatenation of strings and string views

2024-03 (Tokyo)

Complete

19

#105420

P2248R8

Enabling list-initialization for algorithms

2024-03 (Tokyo)

#105421

P2810R4

is_debugger_present is_replaceable

2024-03 (Tokyo)

#105422

P1068R11

Vector API for random number generation

2024-03 (Tokyo)

#105423

P2944R3

Comparisons for reference_wrapper

2024-03 (Tokyo)

Complete

21

#105424

The changes to tuple’s equality overload from P2165R4 are not yet implemented.

P2642R6

Padded mdspan layouts

2024-03 (Tokyo)

#105425

P3029R1

Better mdspan’s CTAD

2024-03 (Tokyo)

Complete

19

#105426

P2747R2

constexpr placement new

2024-06 (St. Louis)

Complete

20

#105427

P2997R1

Removing the common reference requirement from the indirectly invocable concepts

2024-06 (St. Louis)

Complete

19

#105428

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

#105429

P3168R2

Give std::optional Range Support

2024-06 (St. Louis)

Complete

22

#105430

P3217R0

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

2024-06 (St. Louis)

#105431

P2985R0

A type trait for detecting virtual base classes

2024-06 (St. Louis)

Complete

20

#105432

P0843R14

inplace_vector

2024-06 (St. Louis)

#105433

P3235R3

std::print more types faster with less memory

2024-06 (St. Louis)

#105435

P2968R2

Make std::ignore a first-class object

2024-06 (St. Louis)

Complete

19

#105436

P2075R6

Philox as an extension of the C++ RNG engines

2024-06 (St. Louis)

#105437

P2422R1

Remove nodiscard annotations from the standard library specification

2024-06 (St. Louis)

Complete

19

#105438

nodiscard attributes were kept as a conforming extension

P2300R10

std::execution

2024-06 (St. Louis)

#105440

P3136R1

Retiring niebloids

2024-11 (Wrocław)

Complete

14

#118133

P3138R5

views::cache_latest

2024-11 (Wrocław)

#118134

P3379R0

Constrain std::expected equality operators

2024-11 (Wrocław)

Complete

21

#118135

P2862R1

text_encoding::name() should never return null values

2024-11 (Wrocław)

#118371

P2897R7

aligned_accessor: An mdspan accessor expressing pointer over-alignment

2024-11 (Wrocław)

Complete

21

#118372

P3355R1

Fix submdspan for C++26

2024-11 (Wrocław)

#118373

P3222R0

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

2024-11 (Wrocław)

#118374

P3050R2

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

2024-11 (Wrocław)

#118375

P3396R1

std::execution wording fixes

2024-11 (Wrocław)

#118376

P2835R7

Expose std::atomic_ref’s object address

2024-11 (Wrocław)

#118377

P3323R1

cv-qualified types in atomic and atomic_ref

2024-11 (Wrocław)

#118378

P3508R0

Wording for “constexpr for specialized memory algorithms”

2024-11 (Wrocław)

#118379

P3369R0

constexpr for uninitialized_default_construct

2024-11 (Wrocław)

#118380

P3370R1

Add new library headers from C23

2024-11 (Wrocław)

#118381

P3309R3

constexpr atomic and atomic_ref

2024-11 (Wrocław)

#118382

P1928R15

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

2024-11 (Wrocław)

#118384

P3325R5

A Utility for Creating Execution Environments

2024-11 (Wrocław)

#118385

P3068R6

Allowing exception throwing in constant-evaluation

2024-11 (Wrocław)

#118386

P3247R2

Deprecate the notion of trivial types

2024-11 (Wrocław)

Complete

21

#118387

P3074R7

trivial unions (was std::uninitialized)

2025-02 (Hagenberg)

#127868

P1494R5

Partial program correctness

2025-02 (Hagenberg)

#127869

P2900R14

Contracts for C++

2025-02 (Hagenberg)

#127870

P3475R2

Defang and deprecate memory_order::consume

2025-02 (Hagenberg)

#127871

P2786R13

Trivial Relocatability For C++26

2025-02 (Hagenberg)

#127872

P3137R3

views::to_input

2025-02 (Hagenberg)

#127873

P0472R3

Put std::monostate in <utility>

2025-02 (Hagenberg)

Complete

21

#127874

P3349R1

Converting contiguous iterators to pointers

2025-02 (Hagenberg)

#127875

P3372R3

constexpr containers and adaptors

2025-02 (Hagenberg)

In Progress

#127876

P3378R2

constexpr exception types

2025-02 (Hagenberg)

#127877

P3441R2

Rename simd_split to simd_chunk

2025-02 (Hagenberg)

#127878

P3287R3

Exploration of namespaces for std::simd

2025-02 (Hagenberg)

#127879

P2976R1

Freestanding Library: algorithm, numeric, and random

2025-02 (Hagenberg)

#127880

P3430R3

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

2025-02 (Hagenberg)

#127881

P2663R7

Interleaved complex values support in std::simd

2025-02 (Hagenberg)

#127882

P2933R4

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

2025-02 (Hagenberg)

#127883

P2846R6

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

2025-02 (Hagenberg)

#127884

P3471R4

Standard Library Hardening

2025-02 (Hagenberg)

#127885

P0447R28

Introduction of std::hive to the standard library

2025-02 (Hagenberg)

#127886

P3019R14

indirect and polymorphic: Vocabulary Types for Composite Class Design

2025-02 (Hagenberg)

#127887

P2996R13

Reflection for C++26

2025-06 (Sofia)

#148123

P3394R4

Annotations for Reflection

2025-06 (Sofia)

#148124

P3293R3

Splicing a base class subobject

2025-06 (Sofia)

#148125

P3491R3

define_static_{string,object,array}

2025-06 (Sofia)

#148126

P3096R12

Function Parameter Reflection in Reflection for C++26

2025-06 (Sofia)

#148127

P2988R12

std::optional<T&>

2025-06 (Sofia)

#148131

P3348R4

C++26 should refer to C23 not C17

2025-06 (Sofia)

#148133

P3037R6

constexpr std::shared_ptr and friends

2025-06 (Sofia)

#148135

P3284R4

write_env and unstoppable Sender Adaptors

2025-06 (Sofia)

#148136

P3179R9

Parallel Range Algorithms

2025-06 (Sofia)

#148137

P3709R2

Reconsider parallel ranges::rotate_copy and ranges::reverse_copy

2025-06 (Sofia)

#148138

P3641R0

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

2025-06 (Sofia)

#148139

P3044R2

sub-string_view from string

2025-06 (Sofia)

Complete

22

#148140

P2876R3

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

2025-06 (Sofia)

#148143

P3480R6

std::simd is a range

2025-06 (Sofia)

#148144

P2664R11

Extend std::simd with permutation API

2025-06 (Sofia)

#148145

P3691R1

Reconsider naming of the namespace for std::simd

2025-06 (Sofia)

#148148

P3383R3

mdspan.at()

2025-06 (Sofia)

#148149

P2927R3

Inspecting exception_ptr

2025-06 (Sofia)

#148150

P3748R0

Inspecting exception_ptr should be constexpr

2025-06 (Sofia)

#148151

P2830R10

Standardized Constexpr Type Ordering

2025-06 (Sofia)

#148152

P3570R2

optional variants in sender/receiver

2025-06 (Sofia)

#148153

P3481R5

std::execution::bulk() issues

2025-06 (Sofia)

#148155

P3433R1

Allocator Support for Operation States

2025-06 (Sofia)

#148157

P3149R11

async_scope - Creating scopes for non-sequential concurrency

2025-06 (Sofia)

#148158

P3682R0

Remove std::execution::split

2025-06 (Sofia)

#148160

P2079R10

Parallel scheduler

2025-06 (Sofia)

#148161

P3557R3

High-Quality Sender Diagnostics with Constexpr Exceptions

2025-06 (Sofia)

#148162

P3560R2

Error Handling in Reflection

2025-06 (Sofia)

#148128

P3503R3

Make type-erased allocator use in promise and packaged_task consistent

2025-06 (Sofia)

#148164

P3008R6

Atomic floating-point min/max

2025-06 (Sofia)

#148168

P3111R8

Atomic Reduction Operations

2025-06 (Sofia)

#148174

P3060R3

Add std::views::indices(n)

2025-06 (Sofia)

Complete

22

#148175

P2319R5

Prevent path presentation problems

2025-06 (Sofia)

#148177

P3223R2

Making std::istream::ignore less surprising

2025-06 (Sofia)

Complete

22

#148178

P2781R9

std::constant_wrapper

2025-06 (Sofia)

#148179

P3697R1

Minor additions to C++26 standard library hardening

2025-06 (Sofia)

#148180

P3552R3

Add a Coroutine Task Type

2025-06 (Sofia)

#148182

P1317R2

Remove return type deduction in std::apply

2025-06 (Sofia)

#148183

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

#105268

LWG3884

flat_foo is missing allocator-extended copy/move constructors

2023-06 (Varna)

#105269

LWG3885

op should be in [zombie.names]

2023-06 (Varna)

Nothing To Do

#105270

LWG3887

Version macro for allocate_at_least

2023-06 (Varna)

Complete

19

#105271

LWG3893

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

2023-06 (Varna)

#105273

LWG3894

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

2023-06 (Varna)

#105274

LWG3903

span destructor is redundantly noexcept

2023-06 (Varna)

Complete

7

#105275

LWG3904

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

2023-06 (Varna)

#105276

LWG3905

Type of std::fexcept_t

2023-06 (Varna)

Complete

3.4

#105277

LWG3912

enumerate_view::iterator::operator- should be noexcept

2023-06 (Varna)

#105279

LWG3914

Inconsistent template-head of ranges::enumerate_view

2023-06 (Varna)

#105280

LWG3915

Redundant paragraph about expression variations

2023-06 (Varna)

#105281

LWG3925

Concept formattable’s definition is incorrect

2023-06 (Varna)

Complete

17

#105282

LWG3927

Unclear preconditions for operator[] for sequence containers

2023-06 (Varna)

Nothing To Do

#105283

LWG3935

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

2023-06 (Varna)

Complete

3.4

#105284

LWG3938

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

2023-06 (Varna)

Complete

18

#105285

LWG3940

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

2023-06 (Varna)

Complete

18

#105286

LWG2392

“character type” is used but not defined

2023-11 (Kona)

#105287

LWG3203

span element access invalidation

2023-11 (Kona)

Nothing To Do

#105288

LWG3305

any_cast<void>

2023-11 (Kona)

Complete

18

#105289

LWG3431

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

2023-11 (Kona)

#105290

LWG3749

common_iterator should handle integer-class difference types

2023-11 (Kona)

#105291

LWG3809

Is std::subtract_with_carry_engine<uint16_t> supposed to work

2023-11 (Kona)

#105295

LWG3892

Incorrect formatting of nested ranges and tuples

2023-11 (Kona)

Complete

17

#105296

LWG3897

inout_ptr will not update raw pointer to 0

2023-11 (Kona)

Complete

19

#105297

LWG3946

The definition of const_iterator_t should be reworked

2023-11 (Kona)

#105298

LWG3947

Unexpected constraints on adjacent_transform_view::base()

2023-11 (Kona)

#105299

LWG3948

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

2023-11 (Kona)

#105300

LWG3949

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

2023-11 (Kona)

#105301

LWG3951

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

2023-11 (Kona)

Complete

16

#105302

LWG3953

iter_move for common_iterator and counted_iterator should return decltype(auto)

2023-11 (Kona)

Complete

20

#105303

LWG3957

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

2023-11 (Kona)

#105304

LWG3965

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

2023-11 (Kona)

Complete

19

#105305

LWG3970

[mdspan.syn] Missing definition of full_extent_t and full_extent

2023-11 (Kona)

#105306

LWG3973

Monadic operations should be ADL-proof

2023-11 (Kona)

#105307

LWG3974

mdspan::operator[] should not copy OtherIndexTypes

2023-11 (Kona)

#105308

LWG3987

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

2023-11 (Kona)

Complete

#105309

LWG3990

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

2023-11 (Kona)

Complete

21

#105310

LWG4001

iota_view should provide empty

2023-11 (Kona)

Complete

19

#105311

LWG3767

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

2024-03 (Tokyo)

#105313

LWG3919

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

2024-03 (Tokyo)

#105315

LWG3950

std::basic_string_view comparison operators are overspecified

2024-03 (Tokyo)

Complete

18

#105316

LWG3975

Specializations of basic_format_context should not be permitted

2024-03 (Tokyo)

Nothing To Do

#105317

LWG3984

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

2024-03 (Tokyo)

Complete

19

#105318

LWG4011

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

2024-03 (Tokyo)

Nothing To Do

#105319

LWG4012

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

2024-03 (Tokyo)

#105320

LWG4013

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

2024-03 (Tokyo)

#105321

LWG4016

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

2024-03 (Tokyo)

Complete

20

#105322

LWG4023

Preconditions of std::basic_streambuf::setg/setp

2024-03 (Tokyo)

Complete

19

#105323

LWG4025

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

2024-03 (Tokyo)

Complete

20

#105324

LWG4030

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

2024-03 (Tokyo)

Nothing To Do

#105325

LWG4031

bad_expected_access<void> member functions should be noexcept

2024-03 (Tokyo)

Complete

16

#105326

LWG4035

single_view should provide empty

2024-03 (Tokyo)

Complete

19

#105328

LWG4036

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

2024-03 (Tokyo)

#105329

LWG4037

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

2024-03 (Tokyo)

#105330

LWG4038

std::text_encoding::aliases_view should have constexpr iterators

2024-03 (Tokyo)

#105332

LWG4043

“ASCII” is not a registered character encoding

2024-03 (Tokyo)

Nothing To Do

#105335

LWG4045

tuple can create dangling references from tuple-like

2024-03 (Tokyo)

#105337

LWG4053

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

2024-03 (Tokyo)

Complete

19

#105338

LWG4054

Repeating a repeat_view should repeat the view

2024-03 (Tokyo)

Complete

19

#105340

LWG3944

Formatters converting sequences of char to sequences of wchar_t

2024-06 (St. Louis)

Complete

21

#105342

LWG4060

submdspan preconditions do not forbid creating invalid pointer

2024-06 (St. Louis)

#105343

LWG4061

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

2024-06 (St. Louis)

Complete

19

#105344

LWG4071

reference_wrapper comparisons are not SFINAE-friendly

2024-06 (St. Louis)

Complete

19

#105345

LWG4074

compatible-joinable-ranges is underconstrained

2024-06 (St. Louis)

Complete

21

#105346

LWG4076

concat_view should be freestanding

2024-06 (St. Louis)

#105347

LWG4079

Missing Preconditions in concat_view::iterator`s conversion constructor

2024-06 (St. Louis)

#105348

LWG4082

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

2024-06 (St. Louis)

#105349

LWG4083

views::as_rvalue should reject non-input ranges

2024-06 (St. Louis)

Complete

22

#105351

LWG4096

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

2024-06 (St. Louis)

Complete

22

#105352

LWG4098

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

2024-06 (St. Louis)

#105353

LWG4105

ranges::ends_with`s Returns misses difference casting

2024-06 (St. Louis)

#105354

LWG4106

basic_format_args should not be default-constructible

2024-06 (St. Louis)

Complete

19

#105355

LWG3216

Rebinding the allocator before calling construct/destroy in allocate_shared

2024-11 (Wrocław)

#118332

LWG3436

std::construct_at should support arrays

2024-11 (Wrocław)

#118335

LWG3886

Monad mo’ problems

2024-11 (Wrocław)

Complete

22

#118336

LWG3899

co_yielding elements of an lvalue generator is unnecessarily inefficient

2024-11 (Wrocław)

#118337

LWG3900

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

2024-11 (Wrocław)

#118338

LWG3918

std::uninitialized_move/_n and guaranteed copy elision

2024-11 (Wrocław)

#118339

LWG4014

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

2024-11 (Wrocław)

#118340

LWG4024

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

2024-11 (Wrocław)

Complete

16

#118341

LWG4027

possibly-const-range should prefer returning const R&

2024-11 (Wrocław)

#118342

LWG4044

Confusing requirements for std::print on POSIX platforms

2024-11 (Wrocław)

#118343

LWG4064

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

2024-11 (Wrocław)

#118344

LWG4072

std::optional comparisons: constrain harder

2024-11 (Wrocław)

#118345

LWG4084

std::fixed ignores std::uppercase

2024-11 (Wrocław)

#118346

LWG4085

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

2024-11 (Wrocław)

#118347

LWG4088

println ignores the locale imbued in std::ostream

2024-11 (Wrocław)

Complete

18

#118348

LWG4112

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

2024-11 (Wrocław)

#118349

LWG4113

Disallow has_unique_object_representations<Incomplete[]>

2024-11 (Wrocław)

Complete

#118350

LWG4119

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

2024-11 (Wrocław)

#118351

LWG4124

Cannot format zoned_time with resolution coarser than seconds

2024-11 (Wrocław)

#118352

LWG4126

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

2024-11 (Wrocław)

#118353

LWG4134

Issue with Philox algorithm specification

2024-11 (Wrocław)

#118354

LWG4135

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

2024-11 (Wrocław)

Complete

21

#118355

LWG4140

Useless default constructors for bit reference types

2024-11 (Wrocław)

Complete

#118356

LWG4141

Improve prohibitions on “additional storage”

2024-11 (Wrocław)

#118357

LWG4142

format_parse_context::check_dynamic_spec should require at least one type

2024-11 (Wrocław)

#118358

LWG4144

Disallow unique_ptr<T&, D>

2024-11 (Wrocław)

#118359

LWG4147

Precondition on inplace_vector::emplace

2024-11 (Wrocław)

#118361

LWG4148

unique_ptr::operator* should not allow dangling references

2024-11 (Wrocław)

#118362

LWG4153

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

2024-11 (Wrocław)

#118363

LWG4154

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

2024-11 (Wrocław)

#118364

LWG4157

The resolution of LWG3465 was damaged by P2167R3

2024-11 (Wrocław)

Complete

20

#118365

LWG4164

Missing guarantees for forward_list modifiers

2024-11 (Wrocław)

Complete

21

#118366

LWG4169

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

2024-11 (Wrocław)

#118367

LWG4170

contiguous_iterator should require to_address(I{})

2024-11 (Wrocław)

#118368

LWG3578

Iterator SCARYness in the context of associative container merging

2025-02 (Hagenberg)

#127859

LWG3956

chrono::parse uses from_stream as a customization point

2025-02 (Hagenberg)

#127860

LWG4172

unique_lock self-move-assignment is broken

2025-02 (Hagenberg)

#127861

LWG4175

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

2025-02 (Hagenberg)

#127862

LWG4179

Wrong range in [alg.search]

2025-02 (Hagenberg)

#127863

LWG4186

regex_traits::transform_primary mistakenly detects typeid of a function

2025-02 (Hagenberg)

#127864

LWG4189

cache_latest_view should be freestanding

2025-02 (Hagenberg)

#127865

LWG4191

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

2025-02 (Hagenberg)

#127866

LWG4196

Complexity of inplace_merge() is incorrect

2025-02 (Hagenberg)

#127867

LWG4198

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

2025-06 (Sofia)

#148188

LWG4202

enable-sender should be a variable template

2025-06 (Sofia)

#148189

LWG4203

Constraints on get-state functions are incorrect

2025-06 (Sofia)

#148190

LWG4204

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

2025-06 (Sofia)

#148192

LWG4205

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

2025-06 (Sofia)

#148193

LWG4208

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

2025-06 (Sofia)

#148194

LWG4209

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

2025-06 (Sofia)

#148196

LWG4188

ostream::sentry destructor should handle exceptions

2025-06 (Sofia)

#148200

LWG4200

The operation_state concept can be simplified

2025-06 (Sofia)

#148201

LWG4201

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

2025-06 (Sofia)

#148202

LWG4217

Clarify mdspan layout mapping requirements for rank == 0

2025-06 (Sofia)

#148203

LWG4222

expected constructor from a single value missing a constraint

2025-06 (Sofia)

Complete

22

#148208

LWG4224

Philox engines should be freestanding

2025-06 (Sofia)

#148210

LWG4227

Missing noexcept operator in [exec.when.all]

2025-06 (Sofia)

#148211

LWG4231

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

2025-06 (Sofia)

#148215

LWG4232

datapar::resize does not resize

2025-06 (Sofia)

#148216

LWG4233

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

2025-06 (Sofia)

#148217

LWG4234

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

2025-06 (Sofia)

#148218

LWG4235

cache_latest_view and to_input_view miss reserve_hint

2025-06 (Sofia)

#148219

LWG4236

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

2025-06 (Sofia)

#148220

LWG4239

flat_map’s transparent comparator no longer works for string literals

2025-06 (Sofia)

#148223

LWG4242

ranges::distance does not work with volatile iterators

2025-06 (Sofia)

#148224

LWG4245

Operators that interact with counted_iterator and default_sentinel_t should be noexcept

2025-06 (Sofia)

#148226

LWG4247

Header <stdbit.h> is not yet freestanding

2025-06 (Sofia)

#148227

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

#105356

LWG4139

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

Not Adopted Yet

Complete

20

#118369

LWG3456

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

Not Adopted Yet

Complete

20

#118370

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.