C++ Standard Library Issues List (Revision D126)

Table of Contents

Reference ISO/IEC IS 14882:2024(E)

This document is the Table of Contents for the Library Active Issues List, Library Defect Reports and Accepted Issues, and Library Closed Issues List.

Revised 2025-11-08 at 03:10:52 UTC

Issue Status Section Title Proposed Resolution Priority Duplicates
2991(i) Voting 22.6.3.2 [variant.ctor] variant copy constructor missing noexcept(see below) Yes
3090(i) Voting 30.5.2 [time.duration.cons] What is §[time.duration.cons]p4's "no overflow is induced in the conversion" intended to mean? Yes 3
3343(i) Immediate 32.7.3 [thread.condition.nonmember] Ordering of calls to unlock() and notify_all() in Effects element of notify_all_at_thread_exit() should be reversed Yes 3
3454(i) Immediate 20.2.3 [pointer.traits] pointer_traits::pointer_to should be constexpr Yes 4
3627(i) Voting 22.5.10 [optional.specalg] Inconsistent specifications for std::make_optional overloads Yes 3
4015(i) Immediate 22.5.3.8 [optional.monadic] LWG 3973 broke const overloads of std::optional monadic operations Yes 1
4020(i) Voting 23.7.3.3.2 [mdspan.extents.expo] extents::index-cast weirdness Yes
4136(i) Voting 29.9.3 [linalg.general] Specify behavior of [linalg] Hermitian algorithms on diagonal with nonzero imaginary part Yes
4137(i) Voting 29.9.14 [linalg.algs.blas2] Fix Mandates, Preconditions, and Complexity elements of [linalg] algorithms Yes
4166(i) Voting 25.7.18.2 [range.concat.view] concat_view::end() should be more constrained in order to support noncopyable iterators Yes
4230(i) Immediate 29.10.8.4 [simd.complex.access] simd<complex>::real/imag is overconstrained Yes 2
4243(i) Voting 23.7.2.3 [span.objectrep] as_bytes/as_writable_bytes is broken with span<volatile T> Yes 4
4251(i) Immediate 20.4.1.5 [indirect.assign] Move assignment for indirect unnecessarily requires copy construction Yes 1
4253(i) Voting 24.5.3.3 [const.iterators.iterator] basic_const_iterator should provide iterator_type Yes
4255(i) Voting 22.10.17.4.3 [func.wrap.move.ctor] move_only_function constructor should recognize empty copyable_functions Yes
4256(i) Voting 22.10.17.6.3 [func.wrap.ref.ctor] Incorrect constrains for function_ref constructors from nontype_t Yes
4257(i) Voting 30.7.9 [time.clock.local] Stream insertion for chrono::local_time should be constrained Yes
4260(i) Immediate 33.2.1 [exec.queryable.general] Query objects must be default constructible Yes 2
4265(i) Voting 26.10.16 [numeric.ops.midpoint] std::midpoint should not accept const bool Yes
4266(i) Voting 23.7.3.4.7 [mdspan.layout.stride] layout_stride::mapping should treat empty mappings as exhaustive Yes
4269(i) Voting 26.7.9 [alg.unique] unique_copy passes arguments to its predicate backwards Yes
4272(i) Immediate 23.7.3.4 [mdspan.layout] For rank == 0, layout_stride is atypically convertible Yes 2
4274(i) Voting 30.9.2 [time.hms.members] The chrono::hh_mm_ss constructor is ill-formed for unsigned durations Yes
4275(i) Voting 23.7.3.2 [mdspan.syn] std::dynamic_extent should also be defined in <mdspan> Yes 3
4276(i) Voting 23.3.3.5 [array.zero] front() and back() are not hardened for zero-length std::arrays Yes
4280(i) Voting 29.10.8.7 [simd.loadstore] simd::partial_load uses undefined identifier T Yes
4286(i) Voting 17.3.2 [version.syn] Some more feature-test macros for fully freestanding features are not marked freestanding Yes
4291(i) Voting 23.4.3.1 [map.overview] explicit map(const Allocator&) should be constexpr Yes
4292(i) Voting 23.5.3.1 [unord.map.overview] Unordered container local iterators should be constexpr iterators Yes
4293(i) Voting 23.7.2.2.4 [span.sub] span::subspan/first/last chooses wrong constructor when T is const-qualified bool Yes
4294(i) Voting 22.9.2.2 [bitset.cons] bitset(const CharT*) constructor needs to be constrained Yes
4297(i) Voting 26.4 [algorithm.syn] Missing permutable constraint for iterator overloads in Parallel Range Algorithms Yes
4299(i) Voting 22.5.4.7 [optional.ref.monadic] Missing Mandates: part in optional<T&>::transform Yes
4300(i) Voting 22.5.4.3 [optional.ref.assign] Missing Returns: element in optional<T&>::emplace Yes
4301(i) Voting 32.7.4 [thread.condition.condvar] condition_variable{_any}::wait_{for, until} should take timeout by value Yes
4302(i) Immediate 29.9.13.8 [linalg.algs.blas1.ssq] Problematic vector_sum_of_squares wording Yes 1
4304(i) Immediate 22.5.4.6 [optional.ref.observe] std::optional<NonReturnable&> is ill-formed due to value_or Yes 1
4305(i) Voting 17.12.7 [compare.type] Missing user requirements on type_order template Yes
4308(i) Immediate 22.5.4.5 [optional.ref.iterators] std::optional<T&>::iterator can't be a contiguous iterator for some T Yes 1
4312(i) Voting 20.2.8.2 [allocator.uses.construction] Const and value category mismatch for allocator_arg_t/allocator_arg in the description of uses-allocator construction Yes
4315(i) Voting 29.9.13.9 [linalg.algs.blas1.nrm2] Insufficient specification of vector_two_norm and matrix_frob_norm Yes
4316(i) Immediate 21.4.13 [meta.reflection.substitute] {can_}substitute specification is ill-formed Yes 1
4317(i) Voting 16.4.4.2 [utility.arg.requirements] The meaning of "resource" in the Cpp17Destructible requirements is undefined Yes
4318(i) Voting 23.3.9.6 [hive.erasure] Have hive::erase_if reevaluate end() to avoid UB Yes
4328(i) Voting 33.6 [exec.sched] Remove note in §[exec.sched] regarding waiting for completion of scheduled operations Yes
4340(i) Voting 33.13.6.5 [task.promise] task::promise_type::unhandled_stopped() should be noexcept Yes
4341(i) Voting 33.13.6.2 [task.class] Missing rvalue reference qualification for task::connect() Yes
4342(i) Voting 33.13.5 [exec.task.scheduler] Missing rvalue reference qualification for task_scheduler::ts-sender::connect() Yes
4343(i) Voting 33.13.6.2 [task.class] Missing default template arguments for task Yes
4345(i) Voting 33.13.6.5 [task.promise] task::promise_type::return_value default template parameter Yes
4346(i) Voting 33.13.6.5 [task.promise] task::promise_type::return_void/value lack a specification Yes
4349(i) Voting 33.13.6.5 [task.promise] task is not actually started lazily Yes
4351(i) Voting 23.7.2.1 [span.syn] integral-constant-like needs more remove_cvref_t Yes
4358(i) Immediate 33.13.1 [exec.as.awaitable] §[exec.as.awaitable] is using "Preconditions:" when it should probably be described in the constraint Yes 2
4360(i) Immediate 33.13.1 [exec.as.awaitable] awaitable-sender concept should qualify use of awaitable-receiver type Yes 2
4366(i) Voting 22.8.6.8 [expected.object.eq] Heterogeneous comparison of expected may be ill-formed Yes
4369(i) Immediate 33.9.12.9 [exec.then] check-types function for upon_error and upon_stopped is wrong Yes 2
4370(i) Voting 22.5.9 [optional.comp.with.t] Comparison of optional<T> to T may be ill-formed Yes
4372(i) Voting 23.7.3.4.8.1 [mdspan.layout.leftpad.overview] Weaken Mandates: for dynamic padding values in padded layouts Yes
4375(i) Voting 29.10.8.15 [simd.bit] std::simd::bit_ceil should not be noexcept Yes
4376(i) Immediate 29.10.9.4 [simd.mask.unary] ABI tag in return type of [simd.mask.unary] is overconstrained Yes 1
4377(i) Voting 32.5.7.2 [atomics.ref.ops] Misleading note about lock-free property of std::atomic_ref Yes
4382(i) Voting 29.10.9.2 [simd.mask.ctor] The simd::basic_mask(bool) overload needs to be more constrained Yes
4383(i) Immediate 21.3.5 [const.wrap.class] constant_wrapper's pseudo-mutators are underconstrained Yes 1
4384(i) Voting 23.6.11.2 [flat.set.defn] flat_set::erase(iterator) is underconstrained Yes
4388(i) Immediate 17.14.2 [cstdarg.syn] Align new definition of va_start with C23 Yes 1
4396(i) Immediate 23.2.4 [sequence.reqmts] Improve inplace_vector(from_range_t, R&& rg) Yes 3
4398(i) Voting 23.6.2 [queue.syn] enable_nonlocking_formatter_optimization should be disabled for container adaptors Yes 2
4399(i) Voting 28.5.9 [format.tuple] enable_nonlocking_formatter_optimization for pair and tuple needs remove_cvref_t Yes
4403(i) Voting 29.10.7.2 [simd.ctor] simd::basic_vec CTAD misses difference type casting Yes
4407(i) Voting 29.10.7.2 [simd.ctor] constexpr-wrapper-like needs remove_cvref_t in simd::basic_vec constructor Yes
4412(i) Voting 29.10.3 [simd.syn] Fix declaration of zero_element and uninit_element Yes
4413(i) Voting 29.10.4 [simd.traits] Unused/left-over simd::alignment specialization for basic_mask Yes
4415(i) Voting 33.13.6.5 [task.promise] task::promise_type::uncaught_exception seems to be misnamed Yes
4416(i) Voting 21.4.1 [meta.syn] <meta> should include <compare> Yes
4420(i) Immediate 29.10 [simd] §[simd] conversions (constructor, load, stores, gather, and scatter) are incorrectly constrained for <stdfloat> types Yes 1
4422(i) Voting 21.4.8 [meta.reflection.access.context] meta::access_context should be a consteval-only type Yes 2
4423(i) Voting 21.4.16 [meta.reflection.define.aggregate] meta::data_member_spec allows negative bit-field widths Yes
4424(i) Immediate 21.4.16 [meta.reflection.define.aggregate] meta::define_aggregate should require a class type Yes 1
4425(i) Voting 22.10.17.6.5 [func.wrap.ref.deduct] CTAD function_ref of data member pointer should produce noexcept signature Yes
4426(i) Voting 21.4.15 [meta.reflection.array] Clarify what meta::reflect_constant_string considers a string literal Yes
4427(i) Immediate 21.4.7 [meta.reflection.queries] meta::dealias needs to work with things that aren't entities Yes
4428(i) Immediate 21.4.9 [meta.reflection.access.queries] Metafunctions should not be defined in terms of constant subexpressions Yes
4429(i) Immediate 21.4.11 [meta.reflection.layout] meta::alignment_of should exclude data member description of bit-field Yes
4430(i) Immediate 28.2.3 [charconv.from.chars] from_chars should not parse "0b" base prefixes Yes
4431(i) Immediate 20.2.2 [memory.syn] Parallel std::ranges::destroy should allow exceptions Yes
4432(i) Immediate 21.4.3 [meta.define.static] Clarify element initialization for meta::reflect_constant_array Yes
4433(i) Immediate 21.4.7 [meta.reflection.queries] Incorrect query for C language linkage Yes
4434(i) Immediate 21.4.9 [meta.reflection.access.queries] meta::is_accessible does not need to consider incomplete D Yes
4435(i) Immediate 21.4.6 [meta.reflection.names] meta::has_identifier doesn't handle all types Yes 2
4438(i) Immediate 33.9.12.12 [exec.when.all] Bad expression in [exec.when.all] Yes
4439(i) Immediate 22.5.4.4 [optional.ref.swap] std::optional<T&>::swap possibly selects ADL-found swap Yes
4440(i) Immediate 17.3.2 [version.syn] Forward declarations of entities need also in entries Yes
4441(i) Immediate 26.7.11 [alg.rotate] ranges::rotate do not handle sized-but-not-sized-sentinel ranges correctly Yes
4442(i) Immediate 21.4.14 [meta.reflection.result] Clarify expr and fn for meta::reflect_object and meta::reflect_function Yes
4443(i) Immediate 21.4.16 [meta.reflection.define.aggregate] Clean up identifier comparisons in meta::define_aggregate Yes
4444(i) Immediate 26.7.5 [alg.replace] Fix default template arguments for ranges::replace and ranges::replace_if Yes
4445(i) Immediate 33.13.5 [exec.task.scheduler] sch_ must not be in moved-from state Yes
4446(i) Immediate 33.13.5 [exec.task.scheduler] Bad phrasing for SCHED(s) Yes
4447(i) Immediate 33.4 [execution.syn] Remove unnecessary sizeof…(Env) > 1 condition Yes
4448(i) Immediate 33.10 [exec.cmplsig] Do not forward fn in completion_signatures Yes
4449(i) Immediate 21.4.16 [meta.reflection.define.aggregate] define_aggregate members must be public Yes
4450(i) Immediate 32.5.7.3 [atomics.ref.int] std::atomic_ref<T>::store_key should be disabled for const T Yes
4451(i) Immediate 20.3.2.2.7 [util.smartptr.shared.create] make_shared should not refer to a type U[N] for runtime N Yes
4452(i) Immediate 26.11.1 [specialized.algorithms.general] Make deref-move constexpr Yes
4455(i) Immediate 33.9.2 [exec.snd.expos] Add missing constraint to basic-sender::get_completion_signatures definition Yes
4456(i) Immediate 33.9.2 [exec.snd.expos] Decay Data and Child in make-sender Yes
4459(i) Immediate 33.9.2 [exec.snd.expos] Protect get_completion_signatures fold expression from overloaded commas Yes
4461(i) Immediate 33.9.12.17 [exec.stop.when] stop-when needs to evaluate unstoppable tokens Yes
4462(i) Immediate 26.2 [algorithms.requirements] Algorithm requirements don't describe semantics of s - i well Yes
4463(i) Immediate 26.3.2 [algorithms.parallel.user] Change wording to 'model' from 'subsumes' in [algorithms.parallel.user] Yes
4464(i) Immediate 26.8.6 [alg.merge] §[alg.merge] Wording tweaks Yes
4465(i) Immediate 26.8.5 [alg.partitions] §[alg.partitions] Clarify Returns: element Yes