Movatterモバイル変換


[0]ホーム

URL:


C++ Standard Library Issues List (Revision D126)

Index by Section

Reference ISO/IEC IS 14882:2024(E)

This document is the Index by Section for theLibrary Active Issues List.

Index by Section (non-Ready active issues only)

(view all issues)

Revised 2025-11-06 at 11:30:26 UTC

Section 3 (2 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3513(i)New3.43 [defns.prog.def.type]Fix definition of program-defined based on its usesYes3
4005(i)New3.48 [defns.required.behavior]"Required behavior" too narrowly definedNo2

Section 4 (1 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3669(i)New4.1.2 [intro.abstract]std::filesystem operations should be observable behaviourNo3

Section 6 (1 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2506(i)SG16.10.2 [intro.multithread]Underspecification of atomicsNo3

Section 16 (46 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3105(i)New16 [library]T1 is convertible toT2No3
2949(i)New16 [library]Unclear complexity requirements: space vs. timeNo4
3538(i)New16.2 [library.c]§[library.c] C library functions are not addressableNo2
2136(i)Open16.3.2 [structure]Postconditions vs. exceptionsYes3
3556(i)New16.3.2.3 [structure.requirements]Specification of when semantic constraints are imposed by use of conceptsis unclearNo3
3193(i)New16.3.2.4 [structure.specifications]Mandates: andExpects: elements are not defined for typesYes3
3401(i)New16.3.2.4 [structure.specifications]Is "as if by" equivalent to "equivalent to"?No3
3977(i)New16.3.3.3.3 [bitmask.types]constexpr andnoexcept for operators for bitmask typesYes3
3092(i)Open16.3.3.3.3 [bitmask.types]Unclear semantics ofenum class bitmask typesYes3
3620(i)New16.3.3.3.4.1 [character.seq.general]What are execution character sets and execution wide-character sets (after P2314R4)?No3
4049(i)New16.4.2 [organization]C<foo.h> headers not in freestandingYes3
3690(i)New16.4.2.2 [contents]std::make_from_tuple etc. should find all tuple-likestd::get overloadsYes3
3240(i)New16.4.3.2 [using.headers]Headers declare more than entitiesNo3
3640(i)New16.4.4 [utility.requirements]Clarify which exceptions are propagatedYes3
4075(i)SG116.4.4 [utility.requirements]Thread stability requirement on constructors and destructorsNo3
2146(i)Open16.4.4.2 [utility.arg.requirements]Are reference typesCopyConstructible/MoveConstructible/CopyAssignable/MoveAssignable/Destructible?No3
2152(i)LEWG16.4.4.3 [swappable.requirements]Instances of standard container types are not swappableYes3
4155(i)New16.4.4.4 [nullablepointer.requirements]Cpp17NullablePointer should require that some expression can be contextually converted to boolYes3
4296(i)New16.4.4.5 [hash.requirements]Clarify that Cpp17Hash does not imply statelessNo3
3044(i)New16.4.4.6 [allocator.requirements]Strange specification ofmax_size() for an allocatorYes3
3267(i)New16.4.4.6 [allocator.requirements]Rebound allocators andis_always_equalYes4
3157(i)New16.4.4.6 [allocator.requirements]Allocatordestroy and fancy pointer operations must be non-throwingYes3
2461(i)New16.4.4.6 [allocator.requirements]Interaction between allocators and container exception safety guaranteesNo3
4258(i)New16.4.4.6.1 [allocator.requirements.general]Size type mismatch in constraints involvingCpp17AllocatorNo4
4128(i)New16.4.4.6.1 [allocator.requirements.general]Allocator requirements should not allow rebinding conversions to be explicitYes3
4065(i)New16.4.4.6.1 [allocator.requirements.general]Requirements for fancy pointers might be insufficient for self-referential implementation of containersYes3
3682(i)New16.4.4.6.1 [allocator.requirements.general]ACpp17Allocator type can't silently ignore an unsupported alignmentNo3
4047(i)New16.4.5.2.1 [namespace.std]Explicitly specifying template arguments forstd::swap should not be supportedNo4
3926(i)New16.4.5.2.1 [namespace.std]Which namespacestd is the mentioned one?Yes4
3928(i)New16.4.5.2.2 [namespace.posix]Non-top-level namespaceposix shouldn't be reservedYes3
3550(i)New16.4.5.3 [reserved.names]Names reserved by C for standard library not reserved by C++No3
4033(i)New16.4.5.3.3 [macro.names]§[macro.names] defining macros after importing the standard libraryYes3
3920(i)New16.4.5.3.4 [extern.names]Bad footnotes claiming external linkage for entities defined as macrosNo3
3142(i)New16.4.5.8 [res.on.functions]std::foo<incomplete> should be ill-formed NDRYes3
3511(i)New16.4.5.9 [res.on.arguments]Clarify global permission to moveYes3
4068(i)New16.4.5.11 [res.on.requirements]Terminology for objects whose types model a conceptNo3
3429(i)New16.4.5.11 [res.on.requirements]"models" should subsume like "satisfies"Yes3
4100(i)New16.4.6.4 [global.functions]Default arguments and signatures of standard library non-member functionsYes3
4306(i)New16.4.6.5 [member.functions]Interaction between LWG 2259 andConstraints of member functionsNo3
2695(i)New16.4.6.5 [member.functions]"As if" unclear in [member.functions]No3
2414(i)Open16.4.6.9 [reentrancy]Member function reentrancy should be implementation-definedYes3
4129(i)New16.4.6.10 [res.on.data.races]Possibly incorrect wording for data race avoidanceYes3
4145(i)New16.4.6.10 [res.on.data.races]Unclear how [res.on.data.races] apply to templated functionsNo3
4252(i)New16.4.6.13 [derivation]Are exposition-only classes considered specified for the purpose offinal?Yes3
3854(i)New16.4.6.14 [res.on.exception.handling]§[res.on.exception.handling]/3 should not be applied to all standard library typesNo3
3229(i)New16.4.6.14 [res.on.exception.handling]§[res.on.exception.handling]#3 cannot apply to types with implicitly declared destructorsYes3

Section 17 (33 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
4182(i)New17.2.3 [support.types.nullptr]Definition ofNULL is too broadYes3
3217(i)New17.3.1 [support.limits.general]<memory> and<execution> should define__cpp_lib_parallel_algorithmYes3
4411(i)New17.3.2 [version.syn]Even more feature-test macros for fully freestanding features are not marked freestandingNo2
3931(i)New17.3.2 [version.syn]Too many paper bump__cpp_lib_rangesYes3
2248(i)New17.3.5 [numeric.limits]numeric_limits::is_iec559 misnamedNo4
2730(i)Open17.3.5 [numeric.limits]numeric_limits primary template definitionNo3
3922(i)New17.3.5.1 [numeric.limits.general]It's unclear whethernumeric_limits can be specialized by usersYes3
3923(i)New17.3.5.1 [numeric.limits.general]The specification ofnumeric_limits doesn't clearly distinguish between implementation requirementsand user requirementsYes3
3370(i)New17.4.1 [cstdint.syn]§[cstdint.syn]p2 and §[headers]p5 are not sufficiently clearNo3
3084(i)New17.5 [support.start.term]Termination in C++ is unclearNo3
2815(i)New17.5 [support.start.term]quick_exit can deadlockYes3
3086(i)New17.6.3.2 [new.delete.single]Possible problem in §[new.delete.single]Yes3
2737(i)New17.6.3.2 [new.delete.single]Consider relaxing object size restrictions for single-object allocation functionsNo3
2303(i)New17.6.3.4 [new.delete.placement]Explicit instantiation ofstd::vector<UserType> broken?No3
2508(i)New17.6.3.5 [new.delete.dataraces]§[new.delete.dataraces] wording needs to be updatedNo3
4130(i)Open17.6.5 [ptr.launder]Preconditions forstd::launder might be overly strictYes3
3624(i)New17.7 [support.rtti]Inconsistency of<typeinfo>,<initializer_list>, and<compare> in the standard libraryYes3
2398(i)Open17.7.3 [type.info]type_info's destructor shouldn't be required to be virtualYes3
4207(i)New17.8.2.2 [support.srcloc.cons]Point of reference forsource_location is not specified when used in an default template argumentYes3
4087(i)SG1617.9.3 [exception]Standard exception messages have unspecified encodingYes3
2453(i)New17.11 [support.initlist]§[iterator.range] and now [iterator.container] aren't available via<initializer_list>No3
2493(i)New17.11 [support.initlist]initializer_list supports incomplete classesNo4
4051(i)New17.12.2 [cmp.categories]A less hacky and more useful way to compare comparison category typesYes3
3584(i)New17.12.3 [cmp.common]Clarify common comparison category conversionsYes3
3587(i)New17.12.4 [cmp.concept]std::three_way_comparable_with<T, U, void> can be satisfied but can't be modeledNo3
3932(i)New17.12.6 [cmp.alg]Expression-equivalence is sometimes unimplementable when passing prvalue expressions to comparison CPOsNo3
3491(i)New17.12.6 [cmp.alg]What is a "decayed type"?No3
3653(i)New17.13.2 [coroutine.syn]<coroutine> is freestanding, but usesstd::hash which is notNo3
3945(i)New17.14.2 [cstdarg.syn]§[cstdarg.syn] 'Compatible types' are undefinedNo3
3954(i)New17.15.1 [support.c.headers.general]Feature-test macros in C headers (<stddef.h> etc.)No3
3883(i)New17.15.7 [support.c.headers.other]§[support.c.headers.other] Ambiguity in the requirements for includesYes4
3799(i)New17.15.7 [support.c.headers.other]Should<math.h> provide 3-argument::hypot overloads?No3
3484(i)New17.15.7 [support.c.headers.other]Should<stddef.h> declare::nullptr_t?Yes3

Section 18 (5 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3895(i)New18.3 [concepts.syn]Various relation concepts are missing default values of the second template parametersYes3
3608(i)New18.4.4 [concept.convertible]convertible_to and temporary-bound referencesNo3
3459(i)New18.4.4 [concept.convertible]Why doesn'tstd::convertible_to have semantic requirement whenTo is reference-to-function type?No3
4165(i)New18.4.9 [concept.swappable]Should swapping a built-in array orstd::array with itself result in UB?No3
4041(i)New18.4.9 [concept.swappable]The requirements on literal type in [concept.swappable] should be removedYes4

Section 19 (9 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3011(i)Open19.3 [assertions]Requirements forassert(E) inconsistent with CNo2
4454(i)New19.3.3 [assertions.assert]assert should forbidco_await andco_yieldNo1
4156(i)SG1619.5.3.2 [syserr.errcat.virtuals]error_category messages have unspecified encodingYes3
3019(i)New19.5.3.4 [syserr.errcat.derived]Presentation of "program defined classes derived fromerror_category" [syserr.errcat.derived] unclear and contains mistakesNo3
3053(i)New19.5.4.1 [syserr.errcode.overview]Prohibiterror_code construction from rvalues oferror_categoryYes3
3162(i)New19.5.8.2 [syserr.syserr.members]system_error::system_error(error_code ec) not explicitYes3
3625(i)Open19.6.2 [stacktrace.syn]Should<stacktrace> provide range access function templates?Yes3
3507(i)Open19.6.3.4 [stacktrace.entry.query]P0881R7 ("stacktrace") does not define "actual file name", "actual line number"No2
3626(i)New19.6.4.1 [stacktrace.basic.overview]Isstd::basic_stacktrace required to use contiguous storage?Yes3

Section 20 (31 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
4431(i)New20.2.2 [memory.syn]Parallelstd::ranges::destroy should allow exceptionsYes
4058(i)LEWG20.2.4 [pointer.conversion]std::to_address() should be SFINAE-friendlyYes3
4290(i)New20.2.5 [ptr.align]MissingMandates clauses onis_sufficiently_alignedYes2
2421(i)New20.2.5 [ptr.align]Non-specification of handling zero size instd::align [ptr.align]No3
4283(i)New20.2.6 [obj.lifetime]std::trivially_relocate needs stronger preconditions on "nested" objects with dynamic lifetimeYes2
4168(i)New20.2.6 [obj.lifetime]std::start_lifetime_as inadvertently has undefined behavior due to use ofstd::bit_castYes3
4282(i)New20.2.6 [obj.lifetime]ImpreciseThrows: clause instd::relocateYes2
3192(i)New20.2.8.2 [allocator.uses.construction]§[allocator.uses.construction] functions misbehave forconst typesYes3
3665(i)New20.2.9.2 [allocator.traits.types]Isstd::allocator_traits<Alloc>::rebind_alloc SFINAE-friendly?No3
3916(i)New20.2.10 [default.allocator]allocator,polymorphic_allocator, and containers should forbidcv-qualified typesNo3
3917(i)New20.2.10 [default.allocator]Validity ofallocator<void> and possiblypolymorphic_allocator<void> should be clarifiedYes3
3684(i)New20.2.10.2 [allocator.members]std::allocator<T>::allocate_at_least in constant evaluationYes3
3159(i)New20.3.1.3 [unique.ptr.single]§[unique.ptr.single] requirements on deleter may be too strictNo3
2262(i)Open20.3.1.3 [unique.ptr.single]Requirement forunique_ptr<T>::get_deleter()(p) to be able to destroy theunique_ptrYes3
4324(i)New20.3.1.3.5 [unique.ptr.single.observers]unique_ptr<void>::operator* is not SFINAE-friendlyYes3
3911(i)New20.3.1.3.5 [unique.ptr.single.observers]unique_ptr'soperator* is missing a mandateYes3
2594(i)New20.3.2.2 [util.smartptr.shared]Contradicting definition of emptyshared_ptr onshared_ptr(nullptr, d)Yes3
4110(i)New20.3.2.2.2 [util.smartptr.shared.const]shared_ptr(nullptr_t, Deleter) is overconstrained, breaking some sensible deletersYes3
4032(i)New20.3.2.2.2 [util.smartptr.shared.const]Possibly invalid types in the constraints of constructors ofstd::shared_ptrYes4
2906(i)New20.3.2.2.2 [util.smartptr.shared.const]There is no ability to supply an allocator for the control block when constructing ashared_ptr from aunique_ptrNo3
2751(i)New20.3.2.2.3 [util.smartptr.shared.dest]shared_ptr deleter not specified to observe expiredweak_ptr instancesNo4
4451(i)New20.3.2.2.7 [util.smartptr.shared.create]make_shared should not refer to a typeU[N] for runtime NYes
3210(i)New20.3.2.2.7 [util.smartptr.shared.create]allocate_shared is inconsistent about removingconst from the pointerpassed to allocatorconstruct anddestroyYes3
4322(i)New20.4 [mem.composite.types]ProblematicConstraints on incomplete types in indirect and polymorphicYes2
4250(i)LEWG20.4.1.7 [indirect.swap]swap overloads forindirect andpolymorphic only found by ADLYes2
4325(i)New20.4.1.8 [indirect.relops]std::indirect'soperator== still does not support incomplete typesYes2
3681(i)New20.5.1 [mem.res.syn]Further considerations on LWG 3679 (usingpmr::vector without including<memory_resource>)No4
3637(i)New20.5.2 [mem.res.class]pmr::memory_resource::do_allocate needs clarificationNo3
4311(i)New20.5.3.3 [mem.poly.allocator.mem]Canstd::pmr::polymorphic_allocator::construct just callstd::uninitialized_construct_using_allocator?Yes3
3634(i)New20.5.4 [mem.res.global]When are static-durationmemory_resource objects destroyed?No3
2848(i)New20.5.5.2 [mem.res.pool.options]Pass-through threshold for pool allocatorNo3

Section 21 (25 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2290(i)Open21 [meta]Top-level "SFINAE"-based constraints should get a separate definition in Clause 17Yes3
2452(i)Core21 [meta]is_constructible, etc. and default argumentsNo3
2845(i)New21.3.2 [meta.rqmts]enable_if,result_of,common_type andaligned_storage do not meet the definition ofTransformationTraitNo3
3099(i)Open21.3.3 [meta.type.synop]is_assignable<Incomplete&, Incomplete&>Yes2
2939(i)Open21.3.3 [meta.type.synop]Some type-completeness constraints of traits are overspecifiedYes2
4383(i)New21.3.5 [const.wrap.class]constant_wrapper's pseudo-mutators are underconstrainedYes1
3967(i)New21.3.6.4 [meta.unary.prop]The specification forstd::is_nothrow_* traits may be ambiguous in some cases involvingnoexcept(false)Yes3
3929(i)New21.3.6.4 [meta.unary.prop]Preconditions for type traits should beMandatesYes3
2827(i)New21.3.6.4 [meta.unary.prop]is_trivially_constructible and non-trivial destructorsNo3
3697(i)New21.3.6.4 [meta.unary.prop]Preconditions ofreference_constructs_from_temporary/reference_converts_from_temporary seem wrongYes3
2496(i)New21.3.6.4 [meta.unary.prop]Certain hard-to-avoid errors not in the immediate context are not allowed to be triggered by the evaluation of type traitsNo3
2116(i)Open21.3.6.4 [meta.unary.prop]is_nothrow_constructible and destructorsNo3
2358(i)Open21.3.6.4 [meta.unary.prop]Apparently-bogus definition ofis_empty type traitYes3
2077(i)Open21.3.6.4 [meta.unary.prop]Further incomplete constraints for type traitsNo3
3486(i)LEWG21.3.6.4 [meta.unary.prop]is_constructible<T[], T...> may be misleading in C++20No4
4028(i)New21.3.8 [meta.rel]std::is_(nothrow_)convertible should be reworded to avoid dependence on thereturn statementYes2
3400(i)New21.3.8 [meta.rel]Doesis_nothrow_convertible consider destruction of the destination type?No3
3174(i)New21.3.8 [meta.rel]Precondition onis_convertible is too strongYes3
3205(i)New21.3.9.7 [meta.trans.other]decay_t in the newcommon_type fallback should beremove_cvref_tYes3
4138(i)New21.3.12 [meta.const.eval]is_within_lifetime should mandateis_objectYes3
4435(i)New21.4.6 [meta.reflection.names]meta::has_identifier doesn't handle all typesYes2
4437(i)New21.4.7 [meta.reflection.queries]constant_of(^^v) for variablev of array type produces reflection of pointer constantYes
4428(i)New21.4.9 [meta.reflection.access.queries]Metafunctions should not be defined in terms of constant subexpressionsYes
4434(i)New21.4.9 [meta.reflection.access.queries]meta::is_accessible does not need to consider incompleteDYes
4298(i)New21.4.12 [meta.reflection.extract]§[meta.reflection.extract] Malformed "F noexcept" typeYes3

Section 22 (58 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2153(i)LEWG22.2.2 [utility.swap]Narrowing of the non-memberswap contractNo2
3902(i)New22.2.6 [declval]Return type ofstd::declval<cv void> should be (cv-unqualified)voidYes4
2599(i)New22.2.6 [declval]Library incomplete type permission phrase is unclearNo3
3342(i)New22.3.2 [pairs.pair]Library wording uses "initializesx withy", which is underspecifiedNo3
2289(i)Open22.3.2 [pairs.pair]constexpr guarantees of defaulted functions still insufficientNo3
2766(i)New22.3.3 [pairs.spec]Swapping non-swappable typesYes3
3166(i)New22.3.4 [pair.astuple]No such descriptive element asValue:No3
3378(i)New22.4.2 [tuple.syn]tuple_size_v/tuple_element_t should be available whentuple_size/tuple_element areYes3
4267(i)New22.4.4.2 [tuple.cnstr]Uses-allocator construction is meaningless for tuple of referencesYes3
4313(i)New22.4.4.2 [tuple.cnstr]Uses-allocator construction ofpair intuple'sallocator_arg_t constructorsYes3
3583(i)New22.4.4.2 [tuple.cnstr]Clarify if/when short circuiting applies to conditions inConstraints: elementsNo3
2528(i)New22.4.4.2 [tuple.cnstr]Order ofstd::tuple construction unspecifiedNo3
4040(i)New22.4.7 [tuple.helper]Contradictory specification ofstd::tuple_sizeNo3
3882(i)New22.4.9 [tuple.rel]tuple relational operators have confused friendshipsYes3
3728(i)New22.4.9 [tuple.rel]Can't make neither head nor tail of the description ofoperator<=>(tuple, tuple)Yes4
2472(i)New22.4.9 [tuple.rel]Heterogeneous comparisons in the standard library can result in ambiguitiesNo3
2990(i)Open22.5.3 [optional.optional]optional::value_type is not always a value typeYes3
2811(i)New22.5.3.2 [optional.ctor]"Selected constructor" wording is incorrect foroptional/variant/anyYes3
2746(i)New22.5.3.4 [optional.assign]Inconsistency between requirements foremplace betweenoptional andvariantYes3
4281(i)New22.5.3.7 [optional.observe]Inconsistency betweenvalue_or() anderror_or() instd::expectedNo3
4406(i)New22.5.3.7 [optional.observe]optional::value_or return statement is inconsistent withMandatesYes3
3424(i)New22.5.3.7 [optional.observe]optional::value_or should never return acv-qualified typeYes3
2829(i)Open22.5.3.7 [optional.observe]LWG 2740 leaves behind vacuous wordsNo2
4439(i)New22.5.4.4 [optional.ref.swap]std::optional<T&>::swap possibly selects ADL-foundswapYes
4308(i)New22.5.4.5 [optional.ref.iterators]std::optional<T&>::iterator can't be a contiguous iterator for someTYes1
4367(i)New22.5.4.7 [optional.ref.monadic]Improveoptional<T&>::or_elseYes4
3613(i)New22.5.5 [optional.nullopt]Specify thatnullopt_t is copyableYes3
2881(i)New22.6.3 [variant.variant]Adopt section III of P0308R0No3
3215(i)New22.6.3.2 [variant.ctor]variant default constructor has vagueconstexpr requirementsNo2
2833(i)Open22.6.3.2 [variant.ctor]Library needs to specify what it means when it declares a functionconstexprYes2
3991(i)New22.6.3.4 [variant.assign]variant's move assignment should not be guaranteed to produce a valueless by exception stateYes3
3069(i)New22.6.3.4 [variant.assign]Move assigningvariant's subobject corrupts dataYes3
4197(i)New22.6.7 [variant.visit]Complexity ofstd::visit with immediate functionsYes2
3416(i)New22.7.4 [any.class]TheThrows: specification ofstd::any does not mention allocationNo3
3423(i)New22.7.5 [any.nonmembers]std::any_cast should never return acv-qualified typeYes3
3688(i)New22.8.4 [expected.bad]Exception specifications of copy/move member functions ofstd::bad_expected_accessNo2
3891(i)New22.8.6.1 [expected.object.general]LWG 3870 breaksstd::expected<cv T, E>Yes2
4195(i)New22.8.6.4 [expected.object.assign]expected<int, int> isn't specified to be trivially assignableYes2
4026(i)New22.8.6.4 [expected.object.assign]Assignment operators ofstd::expected should propagate trivialityYes2
4187(i)New22.9.2 [template.bitset]bitset::reference should be const-assignableYes3
2348(i)Open22.9.2 [template.bitset]charT('1') is not the wide equivalent of'1'Yes3
3805(i)New22.10 [function.objects]Expression evaluating to a call wrapper is a prvalue, not an objectNo4
4268(i)New22.10.4 [func.require]function<void()> suppressesnodiscard warningsNo3
4319(i)New22.10.4 [func.require]Supporting copy-elision in function wrappersYes3
4007(i)New22.10.4 [func.require]Mystic prohibition of calling avolatile-qualified perfect forwarding call wrapperYes3
3046(i)New22.10.6 [refwrap]Do not requirereference_wrapper to support non-referenceable function typesYes3
2491(i)New22.10.8 [comparisons]std::less<T*> in constant expressionYes3
2547(i)New22.10.8 [comparisons]Container requirements (and other library text) should say "strict total order", not just "total order"No3
3979(i)New22.10.13 [func.not.fn]Should we rejectstd::bind_front<42>() and its friends?Yes4
4264(i)New22.10.17.1 [func.wrap.general]Skipping indirection is not allowed forfunction_refYes2
3493(i)New22.10.17.3.2 [func.wrap.func.con]The constructor ofstd::function taking anF is missing a constraintYes3
3680(i)New22.10.17.4.3 [func.wrap.move.ctor]Constructor ofmove_only_function with emptyref-qualifier is over-constrainedYes2
3642(i)New22.10.17.4.3 [func.wrap.move.ctor]move_only_function assignment operators seem to be defined suboptimalYes3
4373(i)New22.10.17.6.2 [func.wrap.ref.class]function_ref should provideresult_typeYes3
4127(i)New22.10.18.3 [func.search.bm]The Standard Library should not use predicates of the formpred(*i) != falseYes3
4365(i)LEWG22.10.18.3 [func.search.bm]boyer_moore_searcher andboyer_moore_horspool_searcher should beconstexpr-friendlyYes4
3512(i)New22.10.19 [unord.hash]Incorrect exception safety guarantee for unordered containersNo3
3968(i)New22.11.8 [bit.endian]std::endian::native value should be more specific about object representationsYes4

Section 23 (71 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
4173(i)New23 [containers]Better term for "references, pointers and iterators to elements"No4
4176(i)New23 [containers]Refer back to container requirements when extending themNo4
2884(i)LEWG23 [containers]Relational operators for containers should sfinae; if the underlying type is not comparable, neither should the container beNo4
2307(i)LEWG23 [containers]Should the Standard Library useexplicit only when necessary?No2
3059(i)New23.2 [container.requirements]Wrong requirements for map-like associative container assignment?No3
2269(i)New23.2.2 [container.requirements.general]Container iterators and argument-dependent lookupNo4
2321(i)Open23.2.2 [container.requirements.general]Moving containers should (usually) be required to preserve iteratorsYes3
1521(i)Open23.2.2 [container.requirements.general]Requirements on internal pointer representations in containersYes3
3976(i)New23.2.2.5 [container.alloc.reqmts]What does it mean for a type to be "allocator aware"?No4
3297(i)New23.2.4 [sequence.reqmts]Useless sequence container requirementYes3
2705(i)New23.2.4 [sequence.reqmts]Questionable precondition on Sequence containersa.assign(n, t)Yes3
2206(i)Open23.2.4 [sequence.reqmts]Inaccuracy ininitializer_list constructor requirementsYes3
4159(i)New23.2.5 [container.node]Uses-allocator construction mechanisms should be opted out for node handlesYes3
3438(i)New23.2.5.1 [container.node.overview]§[container.node.overview] missingmultiset/map casesNo3
3227(i)New23.2.7 [associative.reqmts]Ambiguity issue forextract in ordered and unordered associative containersYes3
2362(i)New23.2.7 [associative.reqmts]unique, associativeemplace() should not move/copy themapped_type constructor arguments when no insertion happensNo3
2844(i)Open23.2.7 [associative.reqmts]Stability ofa_uniq.insert(i, j)No3
2227(i)Open23.2.7 [associative.reqmts]Stateful comparison objects in associative containersNo3
2215(i)Open23.2.7 [associative.reqmts](unordered) associative container functors should beCopyConstructibleYes3
4132(i)New23.2.7.1 [associative.reqmts.general]Throws specifications need to includeboolean-testable operationsYes3
3577(i)New23.2.7.1 [associative.reqmts.general]Merging an (unordered) associative container with itselfNo3
3691(i)New23.2.7.1 [associative.reqmts.general]Replacement of keys in associative containersYes3
4046(i)New23.2.7.2 [associative.reqmts.except]Effects of inserting into or erasing from flat container adaptors when an exception is thrown need to be more permissiveNo2
1175(i)Open23.2.8 [unord.req]unordered complexityYes3
2198(i)Open23.2.8 [unord.req]max_load_factor(z) makes no strong guarantees, but bans useful behaviorYes3
2189(i)Open23.2.8.2 [unord.req.except]Throwingswap breaks unordered containers' stateNo3
617(i)Open23.3.3 [array]std::array is a sequence that doesn't satisfy the sequence requirements?No3
3219(i)New23.3.3.1 [array.overview]std::array overview container requirements are incorrectYes3
2823(i)Open23.3.3.1 [array.overview]std::array initialization is still not permissive enoughYes3
3488(i)Open23.3.3.4 [array.special]Isarray<const int, 0> swappable or not?Yes3
2157(i)Open23.3.3.5 [array.zero]How doesstd::array<T,0> initialization work whenT is not default-constructible?Yes3
4225(i)New23.3.5.3 [deque.capacity]What should happen when an exception is thrown on resizingstd::deque,std::forward_list, orstd::list?Yes3
4123(i)New23.3.5.4 [deque.modifiers]Container effects use "the assignment operator or move assignment operator"Yes3
3308(i)New23.3.5.4 [deque.modifiers]vector anddeque iteratorerase invalidates elements even when no change occursYes3
4320(i)New23.3.9 [hive]hive operations involving insertion/erasure should have𝒪(log n) time complexityYes
4379(i)New23.3.9.3 [hive.capacity]hive::reserve() needsThrows: element adjusted to match block min/max considerationsYes3
4380(i)New23.3.9.3 [hive.capacity]hive::reserve() complexity does not reflect potential deallocation of blocksYes3
4323(i)New23.3.9.5 [hive.operations]hive::unique time complexity should incorporate potential block removal complexityYes3
3758(i)New23.3.13.3 [vector.capacity]Element-relocating operations ofstd::vector andstd::deque should conditionally requireCpp17CopyInsertable in their preconditionsNo3
2158(i)Open23.3.13.3 [vector.capacity]Conditional copy/move instd::vectorYes3
1102(i)Open23.3.13.3 [vector.capacity]std::vector's reallocation policy still unclearYes3
4219(i)Tentatively NAD23.3.13.6 [vector.erasure]std::vector::erase[_if] should be based on rangesremoveYes
3638(i)New23.3.14 [vector.bool]vector<bool>::swap(reference, reference) is uselessYes3
1422(i)Open23.3.14 [vector.bool]vector<bool> iterators are not random accessNo3
4228(i)Tentatively NAD23.3.14.1 [vector.bool.pspc]Doesvector<bool, Allocator> mandate thatAllocator::value_type isbool?No
4122(i)New23.3.16.1 [inplace.vector.overview]Ill-formedoperator<=> can cause hard error when instantiatingstd::inplace_vectorYes2
4151(i)New23.3.16.5 [inplace.vector.modifiers]Precondition ofinplace_vector::swapYes2
4223(i)New23.4.1 [associative.general]Deduction guides for maps are mishandling tuples and referencesYes2
3531(i)New23.4.3.1 [map.overview]LWG 3025 broke previous valid codeYes3
2713(i)New23.5 [unord]More missing allocator-extended constructors for unordered containersYes3
4371(i)Tentatively NAD23.6.3.1 [queue.defn]Container adaptor'sempty/size should benoexceptYes
3189(i)New23.6.4 [priority.queue]Missing requirement forstd::priority_queueNo3
3161(i)Open23.6.6 [stack]Container adapters mandate use ofemplace_back but don't require itYes3
3959(i)New23.6.8 [flat.map]Should the comparator ofstd::flat_map/std::flat_multimap be copied twice in some operations?No3
3802(i)New23.6.8 [flat.map]flat_foo allocator-extended constructors lack move semanticsNo2
3804(i)New23.6.8 [flat.map]flat_foo missing some allocator-extended deduction guidesNo2
4350(i)LEWG23.6.8 [flat.map]Should flat adaptors useinsert_range when available?No2
3966(i)New23.6.8.1 [flat.map.overview]Thevalue_type andreference members ofstd::flat_(multi)map::(const_)iterator are unclearNo3
3963(i)New23.6.8.2 [flat.map.defn]Differentstd::flat_map/std::flat_multimap specializations should be able to share same nested classesYes3
4374(i)New23.6.8.7 [flat.map.modifiers]flat_meow range insertion behavior is unclear if in-place merge cannot allocate additional memoryNo3
4000(i)New23.6.8.7 [flat.map.modifiers]flat_map::insert_range'sEffects is not quite rightYes3
4352(i)New23.6.9.1 [flat.multimap.overview]"operations on flat_multimap are equivalent to those of flat_map"No3
4048(i)New23.6.11 [flat.set]Inconsistent preconditions for transparent insertion ofstd::flat_map/std::flat_setYes2
4180(i)New23.6.12.5 [flat.multiset.modifiers]Inconsistent constraints onflat_foo::emplaceYes3
3813(i)New23.7.2.2.1 [span.overview]std::span<volatile T, E> is made ill-formed by P2278R4 whenT is a normal class typeYes2
4397(i)New23.7.2.2.2 [span.cons]Improvespan(R&& r)Yes3
4404(i)Tentatively NAD23.7.2.2.3 [span.deduct]Shouldspan(R&&) CTAD apply P2280?Yes
3995(i)New23.7.3 [views.multidim]Issue with custom index conversion in<mdspan>No3
4314(i)New23.7.3.4 [mdspan.layout]Missing move inmdspan layoutmapping::operator()Yes2
4021(i)New23.7.3.6.1 [mdspan.mdspan.overview]mdspan::is_always_meow() should benoexceptYes3
4405(i)New23.7.3.6.2 [mdspan.mdspan.cons]mdspan constructor should disallow derived to base conversionsYes3

Section 24 (47 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3952(i)New24.2 [iterator.synopsis]iter_common_reference_t does not conform to the definition ofindirectly_readableYes3
1213(i)Open24.3 [iterator.requirements]Meaning of valid and singular iterator underspecifiedNo4
4271(i)Tentatively NAD24.3.1 [iterator.requirements.general]Caching range views claim amortized amortized 𝒪(1) runtimecomplexity for algorithms that are in fact 𝒪(n)Yes
4080(i)New24.3.2 [iterator.assoc.types]Presumed value and difference types of an iterator type in ranges and non-ranges algorithmsNo3
3838(i)New24.3.2.1 [incrementable.traits]The last specialization ofincrementable_traits is under-constrainedYes3
3615(i)New24.3.2.1 [incrementable.traits]The last specialization ofincrementable_traits has wrong operand typesYes3
3287(i)New24.3.2.3 [iterator.traits]Exposition-onlycpp17-input-iterator concept is needlessly complexYes3
3890(i)New24.3.4.4 [iterator.concept.winc]ABI issue for integer-class typesYes3
3716(i)New24.3.4.11 [iterator.concept.forward]§[iterator.concept.forward][forward.iterators] Two different definitions of multi-pass guaranteeNo3
2962(i)Open24.3.5.3 [input.iterators]Iterators of Containers of move-only types do not modelInputIteratorYes2
484(i)Open24.3.5.3 [input.iterators]Convertible toTNo3
2035(i)Open24.3.5.4 [output.iterators]Output iterator requirements are brokenYes3
2038(i)Open24.3.5.4 [output.iterators]Missing definition forincrementable iteratorNo3
4171(i)Tentatively NAD24.3.6.3 [indirectcallable.indirectinvocable]P2609R3 breaks code that usesviews::zip andget<T>No
4270(i)New24.3.6.4 [projected]Diagnose misuse ofstd::projected::operator*Yes3
3439(i)New24.4.3 [iterator.operations]"Distance" template parameter is underspecifiedNo3
3197(i)New24.4.3 [iterator.operations]std::prev should not requireBidirectionalIteratorYes3
4055(i)New24.4.3 [iterator.operations]§[iterator.operations]std::distance is missing a preconditionYes4
3344(i)New24.4.3 [iterator.operations]advance(i,most-negative) andprev(i,most-negative)Yes3
2931(i)Open24.4.3 [iterator.operations]Missed optimization opportunity with single-argumentstd::nextNo3
4303(i)New24.4.4.3 [range.iter.op.distance]std::decay_t in the specification ofranges::distance is problematicYes4
2858(i)New24.5.1 [reverse.iterators]LWG 2472: actually an incompatibility with C++03Yes4
3623(i)New24.5.1.1 [reverse.iterators.general]Uses ofstd::reverse_iterator with containers should not require manually including<iterator>Yes3
2595(i)New24.5.1.2 [reverse.iterator]reverse_iterator::operator[]'s return type revisitedYes3
3602(i)New24.5.1.4 [reverse.iter.cons]reverse_iterator's converting assignment is overconstrainedYes3
3725(i)New24.5.1.6 [reverse.iter.elem]reverse_iterator::operator-> should not useprev for non-pointer iteratorsYes3
4104(i)New24.5.3 [const.iterators]basic_const_iterator<volatile int*> is not acontiguous_iteratorNo4
3986(i)New24.5.3 [const.iterators]basic_const_iterator doesn't work withoptionalNo3
3988(i)Open24.5.3 [const.iterators]Shouldas_const_view andbasic_const_iterator providebase()?Yes3
3863(i)New24.5.3.2 [const.iterators.alias]Isinput_iterator guaranteed to haveiter_const_reference_t?No2
4237(i)New24.5.3.3 [const.iterators.iterator]The standard library iterator adaptor does not handleiterator_category correctlyNo3
4218(i)New24.5.3.5 [const.iterators.ops]Constraint recursion inbasic_const_iterator's relational operators due to ADL + CWG 2369Yes2
4125(i)New24.5.4.2 [move.iterator]move_iterator's default constructor should be constrainedYes3
4120(i)New24.5.4.2 [move.iterator]move_iterator should provideiterator_category only when it modelsforward_iteratorYes3
4115(i)New24.5.4.6 [move.iter.elem]move_iterator::operator* should have conditionalnoexcept specificationYes4
4092(i)New24.5.5.1 [common.iterator]The monotonic version ofcommon_iterator::operator== is underconstrainedYes3
3783(i)New24.5.5.1 [common.iterator]views::common may not be a range adaptor objectYes3
3748(i)New24.5.5.6 [common.iter.cmp]common_iterator andcounted_iterator'operator- are missing cast to return typeYes3
2366(i)New24.6.4 [istreambuf.iterator]istreambuf_iterator end-of-stream equalityYes3
3107(i)New24.6.4 [istreambuf.iterator]istreambuf_iterator has publicexposition-only memberYes4
3188(i)New24.6.4 [istreambuf.iterator]istreambuf_iterator::pointer should not beunspecifiedYes3
3108(i)New24.6.4.2 [istreambuf.iterator.proxy]istreambuf_iterator::proxy::operator* should beconstYes3
3537(i)New24.7 [iterator.range]§[iterator.range] Missingnoexcept forstd::rbegin/rend for arrays andinitializer_listNo3
4385(i)New24.7 [iterator.range]Including<simd> doesn't providestd::begin/endYes3
4181(i)New24.7 [iterator.range]Some ranges have negativessizeNo3
4131(i)New24.7 [iterator.range]Including<optional> doesn't providestd::begin/endYes3
4387(i)Open24.7 [iterator.range]Including<stacktrace> doesn't providestd::begin/endYes3

Section 25 (75 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
4307(i)New25.2 [ranges.syn]Make good use ofsized-random-access-range andbidirectional-commonin<ranges>Yes4
3729(i)New25.2 [ranges.syn]std::tuple_element_t<std::ranges::subrange<I, S, K>> should remove top-levelcv-qualifiersYes4
4184(i)Tentatively NAD25.3 [range.access]Domain ofranges::cmeow doesn't matchranges::meowNo
4062(i)New25.3.13 [range.prim.empty]ranges::empty has no semantic requirements forforward_rangesNo3
4389(i)SG925.4.2 [range.range]ranges::for_each possibly behaves differently from range-basedforYes2
3982(i)Tentatively NAD25.4.5 [range.view]is-derived-from-view-interface should require thatT is derived fromview_interface<T>Yes
3896(i)New25.4.6 [range.refinements]The definition ofviewable_range is not quite rightYes4
4003(i)Tentatively NAD25.5.3 [view.interface]view_interface::back is overconstrainedYes
4183(i)New25.5.4.1 [range.subrange.general]subrange should providedata()Yes4
4010(i)New25.5.4.3 [range.subrange.access]subrange::advance should be improvedYes3
4121(i)New25.5.7.1 [range.utility.conv.general]ranges::to constructs associative containers viac.emplace(c.end(), *it)Yes2
4229(i)Tentatively NAD25.5.7.2 [range.utility.conv.to]std::ranges::to with union return typeYes
3958(i)Tentatively NAD25.5.7.2 [range.utility.conv.to]ranges::to should prioritize the "reserve" branchYes
4066(i)New25.5.7.2 [range.utility.conv.to]ranges::to should reserve whensized_sentinel_for is satisfiedYes4
4381(i)New25.5.7.2 [range.utility.conv.to]std::ranges::to specification using CTAD not supported by core languageYes2
3722(i)New25.5.7.2 [range.utility.conv.to]ranges::toreserves the wrong sizeYes4
4008(i)New25.5.7.2 [range.utility.conv.to]§[range.utility.conv.to]ranges::to may cause infinite recursion ifrange_value_t<C> is a non-move-constructible rangeYes3
4018(i)New25.5.7.2 [range.utility.conv.to]ranges::to's copy branch is underconstrainedYes3
3845(i)New25.5.7.2 [range.utility.conv.to]ranges::to'sfrom_range_t tag branch has the wrong constraintYes4
3985(i)New25.5.7.2 [range.utility.conv.to]ranges::to shouldMandatesC not to be viewYes3
3983(i)New25.5.7.3 [range.utility.conv.adaptors]ranges::to adaptors are underconstrainedYes3
3907(i)New25.6 [range.factories]Can iterator types of range adaptors and range factories be SCARY?No3
4417(i)New25.6.4.1 [range.iota.overview]views::indices is underconstrainedYes
3614(i)New25.6.4.2 [range.iota.view]iota_view::size and the most negative signed integer valuesYes3
4002(i)New25.6.4.3 [range.iota.iterator]The definition ofiota_view::iterator::iterator_concept should be improvedYes3
3846(i)New25.6.4.3 [range.iota.iterator]iota_view::iterator::operator- is overconstrainedYes3
3609(i)New25.6.4.4 [range.iota.sentinel]std::ranges::iota_view<int, long> has non-subtractableiterator andsentinel typesYes3
3955(i)New25.6.5.2 [range.repeat.view]Addnoexcept to severalrepeat_view[::iterator] member functionsYes3
3763(i)New25.6.5.3 [range.repeat.iterator]Should range adaptor iterators only provideiterator_category when itsdifference_type is not an integer-class type?Yes3
3679(i)LEWG25.6.6 [range.istream]Is<ranges> sufficient foristream_view?No3
3489(i)New25.6.6.3 [range.istream.iterator]Improveistream_view wordingYes3
3981(i)Tentatively NAD25.7.2 [range.adaptor.object]Range adaptor closure object is underspecified for its return typeYes
3994(i)New25.7.2 [range.adaptor.object]adaptor(args...)(r) is not equivalent tostd::bind_back(adaptor, args...)(r)No4
4099(i)New25.7.7.1 [range.as.rvalue.overview]The simple case ofviews::as_rvalue andviews::common are not strictly correctYes4
3829(i)New25.7.7.2 [range.as.rvalue.view]as_rvalue_view::end should improve non-common caseYes3
4050(i)Tentatively NAD25.7.10.1 [range.take.overview]Shouldviews::iota(0) | views::take(5) beviews::iota(0, 5)?Yes
4214(i)New25.7.10.1 [range.take.overview]MissingPreconditions fortake/drop adaptorYes3
4009(i)Tentatively NAD25.7.12.2 [range.drop.view]drop_view::begin const may have 𝒪(n) complexityYes3
3730(i)New25.7.12.2 [range.drop.view]std::ranges::drop_view may have different size type from its underlying viewYes3
3666(i)New25.7.14 [range.join]join_view's difference type is too smallNo2
4220(i)New25.7.14.2 [range.join.view]join_view incorrectly stores inner rangeYes3
4401(i)LEWG25.7.14.2 [range.join.view]join_view should besized_range when applied to ranges ofsimd::vecYes3
3873(i)New25.7.15.2 [range.join.with.view]join_with_view'sconst begin is underconstrainedNo3
4059(i)New25.7.15.3 [range.join.with.iterator]Leaky abstraction injoin_with_view's iteratorYes3
3852(i)New25.7.15.3 [range.join.with.iterator]join_with_view::iterator'siter_move anditer_swap should be conditionallynoexceptYes3
3972(i)New25.7.15.3 [range.join.with.iterator]Issues withjoin_with_view::iterator'siter_swapNo2
3855(i)New25.7.16.2 [range.lazy.split.view]tiny-range is not quite rightYes4
3685(i)New25.7.16.2 [range.lazy.split.view]Inlazy_split_view, CTAD doesn't work when given aninput_range input and atiny-range patternYes3
3599(i)New25.7.16.2 [range.lazy.split.view]Theconst overload oflazy_split_view::begin should be constrained byconst PatternYes3
4108(i)SG925.7.16.2 [range.lazy.split.view]lazy_split_view should besized_range when pattern is emptytiny-rangeYes4
4249(i)New25.7.16.3 [range.lazy.split.outer]The past end issue forlazy_split_viewYes2
3686(i)New25.7.16.3 [range.lazy.split.outer]Inlazy_split_view, comparing a default-constructedouter-iterator orinner-iterator withstd::default_sentinel results in null pointer dereferenceYes3
4017(i)New25.7.17.3 [range.split.iterator]Behavior ofstd::views::split on an empty rangeYes3
4073(i)New25.7.18.2 [range.concat.view]concat_view::size may overflowNo4
4091(i)New25.7.18.2 [range.concat.view]concat_view rejects non-movable referencesYes4
4081(i)New25.7.18.3 [range.concat.iterator]concat_view::iterator::operator- is overconstrainedYes3
4089(i)New25.7.18.3 [range.concat.iterator]concat_view::iterator'siter_swap is overconstrainedYes3
4019(i)SG925.7.21 [range.reverse]Reversing an infinite range leads to an infinite loopNo3
4097(i)LEWG25.7.21.1 [range.reverse.overview]views::reverse should be specialized for some view typesYes3
3830(i)New25.7.21.2 [range.reverse.view]reverse_view should not cache whenranges::next has constant time complexityYes3
3797(i)New25.7.23.2 [range.elements.view]elements_view insufficiently constrainedYes2
4114(i)New25.7.23.3 [range.elements.iterator]elements_view::iterator::operator* missing conditionalnoexcept specificationYes3
3832(i)New25.7.23.3 [range.elements.iterator]Missing change forelement_view::iterator in LWG 3798Yes3
3908(i)Tentatively NAD25.7.24.3 [range.enumerate.iterator]enumerate_view::iterator constructor is explicitYes
4116(i)New25.7.24.3 [range.enumerate.iterator]enumerate_view::iterator andcartesian_product_view::iterator should not always provideiterator_categoryYes3
3864(i)New25.7.25 [range.zip]zip over range of reference to an abstract typeNo4
3731(i)New25.7.25.2 [range.zip.view]zip_view andadjacent_view are underconstrainedYes3
4006(i)Tentatively NAD25.7.29.4 [range.chunk.outer.value]chunk_view::outer-iterator::value_type should provideemptyYes
4254(i)New25.7.32.3 [range.stride.iterator]stride_view::iterator should provideoperator->Yes3
3777(i)Open25.7.33.2 [range.cartesian.view]Commoncartesian_product_view produces an invalid range if the first range is input and one of the ranges is emptyYes2
4210(i)New25.7.34.3 [range.cache.latest.iterator]Issue withcache_latest_view::iterator's reference typeNo3
4226(i)New25.7.35 [range.to.input]to_input_view::iterator cannot be compared to itsconst sentinelYes2
4418(i)New25.8.5 [coro.generator.promise]co_yield elements_of(vector<int>()) does not compileYes2
4057(i)New25.8.6 [coro.generator.iterator]generator::iterator'soperator* is notnoexcept when it can beYes3
4117(i)New25.8.6 [coro.generator.iterator]generator::iterator should provideiterator_conceptYes4

Section 26 (36 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2963(i)New26 [algorithms]Algorithms with underspecified iterator requirementsNo3
1238(i)Open26 [algorithms]Defining algorithms taking iterator for rangeNo3
2173(i)Open26 [algorithms]The meaning ofoperator + in the description of the algorithmsYes4
4277(i)New26.2 [algorithms.requirements]§[algorithms.requirements] It is unclear what an algorithm isYes4
3049(i)Open26.2 [algorithms.requirements]Missing wording allowing algorithms to use copies of function objects as substitutes for their parametersYes3
4273(i)New26.3.6 [execpol]Standard execution policy types should be conventional tag class typesYes3
4095(i)Tentatively NAD26.4 [algorithm.syn]ranges::fold_meow should explicitly spell out the return typeYes
4457(i)New26.4 [algorithm.syn]freestanding forstable_sort,stable_partition andinplace_mergeYes
3793(i)New26.6.5 [alg.foreach]Requirements for some algorithms'Size template parameters are unclearNo3
4241(i)LEWG26.6.5 [alg.foreach]ranges::for_each(_n) should be less constrainedYes3
4093(i)New26.6.18 [alg.fold]ranges::fold_left_first_with_iter incorrectly constructsoptional<U>Yes3
4094(i)New26.6.18 [alg.fold]ranges::fold_meow is overconstrainedYes3
3969(i)New26.6.18 [alg.fold]std::ranges::fold_left_first_with_iter should be more ADL-proofYes3
4262(i)New26.7.1 [alg.copy]copy_if,remove_copy,remove_copy_if,unique_copy have too strong preconditionsYes3
3089(i)New26.7.1 [alg.copy]copy_n should require non-overlapping rangesYes3
2471(i)Open26.7.1 [alg.copy]copy_n's number ofInputIterator increments unspecifiedNo3
3868(i)LEWG26.7.5 [alg.replace]Constrained algorithms should not requireoutput_iteratorYes4
4103(i)New26.7.9 [alg.unique]ranges::unique_copy's constraints for the case whereresult is aninput_iterator are not quite rightYes3
2267(i)New26.8.2.4 [partial.sort.copy]partial_sort_copy underspecified for ranges of two different typesNo3
4162(i)New26.8.3 [alg.nth.element]Worst time complexity of non-parallel versions ofnth_element is underspecifiedYes3
4111(i)New26.8.4 [alg.binary.search]LWG 270 and ranges version of binary search algorithmsNo3
2973(i)LEWG26.8.6 [alg.merge]inplace_merge exact comparison count complexity prohibits useful real-world optimizationsYes4
3534(i)LEWG26.8.7.4 [set.intersection]ranges::set_intersection andranges::set_difference algorithm requirements are too strictYes3
3029(i)Open26.8.8.3 [pop.heap]pop_heap over-constrains inputYes3
4167(i)New26.8.9 [alg.min.max]Use of "smaller" and "larger" inmin,max, andminmax is unclearYes3
4034(i)New26.8.9 [alg.min.max]Clarify specification ofstd::min andstd::maxYes4
3487(i)New26.10 [numeric.ops]Missing precondition on input and output aliasing of [numeric.ops]No3
3060(i)New26.10.8 [exclusive.scan]XXX_scan algorithms are specified to work with move-onlyT, but are specified to makeN copies ofT into the destination rangeNo2
3463(i)New26.10.11 [transform.inclusive.scan]Incorrect requirements fortransform_inclusive_scan without initial valueYes3
3628(i)New26.11 [specialized.algorithms]"Effects: Equivalent to:" and uninitialized memory algorithmsNo3
3063(i)New26.11 [specialized.algorithms]Parallel algorithms in<memory> are underspecifiedNo3
4452(i)New26.11.1 [specialized.algorithms.general]Makederef-move constexprYes
3647(i)New26.11.2 [special.mem.concepts]nothrow-input-iterator constraints should not mention copyingYes3
3888(i)New26.11.8 [specialized.construct]Most ranges uninitialized memory algorithms are underconstrainedYes3
3889(i)New26.11.9 [specialized.destroy]std::(ranges::)destroy_at should destroy array elements in the decreasing index orderYes3
4077(i)New26.12.2 [alg.rand.generate]Unclear preconditions ofstd::ranges::generate_randomNo2

Section 27 (22 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2513(i)New27.1 [strings.general]Missing requirements forbasic_string::value_typeNo4
4152(i)New27.2.2 [char.traits.require]The primary template ofstd::char_traits is totally underspecifiedYes4
3694(i)New27.2.2 [char.traits.require]Shouldtraits_type::length be customizable?No4
3942(i)New27.2.4 [char.traits.specializations]Inconsistent use ofconst char_type& in standard specializations ofstd::char_traitsYes3
4063(i)New27.2.4.2 [char.traits.specializations.char]Freestandingstd::char_traits<char>::eof depends on non-freestandingEOFNo2
2959(i)New27.2.4.4 [char.traits.specializations.char16.t]char_traits<char16_t>::eof is a valid UTF-16 code unitNo3
3989(i)New27.3 [string.view]The whole range for an iterator obtained from astd::span orstd::basic_string_view is not clearNo3
2883(i)LEWG27.3 [string.view]The standard library should providestring_view parameters instead or in addition for functions defined withchar const * orstring const & as parameter types.No4
3457(i)New27.3.3 [string.view.template]*this is not invalidatedYes3
4410(i)New27.3.3.2 [string.view.cons]basic_string_view(It begin, End end) is underconstrainedYes4
4102(i)New27.3.3.2 [string.view.cons]string_view(Iter, Iter) constructor breaks existing codeNo2
3339(i)New27.4.3 [basic.string]Move-constructed empty-container capacityNo3
3451(i)New27.4.3 [basic.string]Inconsistently explicit deduction guidesYes3
4029(i)New27.4.3.1 [basic.string.general]basic_string accidentally fails to meet the reversible container requirementsYes3
3663(i)New27.4.3.3 [string.cons]basic_string(const T&, const Alloc&) turns moves into copiesYes3
4378(i)New27.4.3.6 [string.access]Inconsistency betweenstd::basic_string'sdata() andoperator[] specificationYes4
3662(i)New27.4.3.7.2 [string.append]basic_string::append/assign(NTBS, pos, n) suboptimalYes3
4259(i)New27.4.3.8.2 [string.find]P1148R0 changed the return values of searching functions ofstd::basic_string on some platformsYes3
4261(i)New27.4.3.8.2 [string.find]P1206R7 broke uses of container adaptors with old custom sequence containersNo3
3837(i)New27.4.4.5 [string.erasure]std::erase_if overloads for non-associative containers should move (andnot copy) their predicate objectYes3
2237(i)New27.5 [c.strings]<cuchar> macrosNo4
2238(i)Open27.5 [c.strings]Problematic iterator-pair constructor of containersNo3

Section 28 (60 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
4421(i)New28.2.2 [charconv.to.chars]Clarify the output encoding ofto_chars for integersYes3
4430(i)New28.2.3 [charconv.from.chars]from_chars should not parse"0b" base prefixesYes
3456(i)New28.2.3 [charconv.from.chars]Pattern used bystd::from_chars is underspecifiedYes3
3082(i)Open28.2.3 [charconv.from.chars]from_chars specification regarding floating point rounding is inconsistentYes2
3081(i)Open28.2.3 [charconv.from.chars]Floating pointfrom_chars API does not distinguish between overflow and underflowYes2
3353(i)New28.3.3.1 [locale]locale's copy assignment operator should returnlocale&Yes3
3674(i)New28.3.3.1.4 [locale.members]Removal of requirement for locale names for construction of locales not explainedYes2
4287(i)New28.3.4.2.5.3 [locale.codecvt.virtuals]§[locale.codecvt.virtuals]do_in anddo_out could do with better specificationYes3
3337(i)New28.3.4.2.5.3 [locale.codecvt.virtuals]What is "is initialized" supposed to mean?No3
4163(i)Tentatively NAD28.3.4.3.2.3 [facet.num.get.virtuals]Can the overload ofstd::num_get::do_get forbool call the overload forlong?No
3689(i)New28.3.4.3.2.3 [facet.num.get.virtuals]num_get overflow determination unclear and incorrectNo3
3214(i)New28.3.4.3.2.3 [facet.num.get.virtuals]§[facet.num.get.virtuals] doesn't say what it means for digit grouping to be consistentNo4
4216(i)New28.3.4.3.3.3 [facet.num.put.virtuals]num_put::do_put andvoid pointersYes3
2703(i)New28.3.4.3.3.3 [facet.num.put.virtuals]No provision for fill-padding whenboolalpha is setNo3
2702(i)New28.3.4.3.3.3 [facet.num.put.virtuals]num_put::do_put(..., bool) performs ill-formeddo_put callNo3
2117(i)Open28.3.4.3.3.3 [facet.num.put.virtuals]ios_base manipulators should haveshowgrouping/noshowgroupingNo3
4285(i)New28.3.4.6.2.2 [locale.time.get.members]time_get::do_get_date is problematic even after LWG 461Yes3
3275(i)New28.3.4.6.2.3 [locale.time.get.virtuals]Why doestime_get::do_get require a valid pointer when none of the others do?Yes3
2512(i)Open28.3.4.6.2.3 [locale.time.get.virtuals]Y2K bites; what is an "unambiguous year identifier"?No4
2983(i)New28.3.4.7.3.3 [locale.money.put.virtuals]money_put::do_put underspecifiedYes3
2691(i)New28.3.4.7.4 [locale.moneypunct]money_base::space anddo_put: U+0020 versusfillYes3
4263(i)New28.5 [format]What shouldstd::format_to etc. behave when the output is overlong?No3
3651(i)New28.5 [format]Unspecified lifetime guarantees for the format stringNo3
3997(i)New28.5.1 [format.syn]std::formatter specializations should be consistently restricted to supported character typesNo4
3641(i)New28.5.1 [format.syn]Addoperator== toformat_to_n_resultYes3
3939(i)New28.5.2.2 [format.string.std]§[format.string.std]char is not formatted as a character whencharT iswchar_tNo3
3644(i)New28.5.2.2 [format.string.std]std::format does not define "integer presentation type"Yes2
3586(i)New28.5.2.2 [format.string.std]Formatting character alignment inconsistenciesYes2
4090(i)Open28.5.2.2 [format.string.std]Underspecified use of locale facets for locale-dependentstd::formatYes3
4078(i)New28.5.5 [format.functions]What if arguments alias the output buffer instd::format_to?No4
3993(i)New28.5.6.1 [formatter.requirements]Theparse function of aBasicFormatter type needs to beconstexprYes3
4240(i)New28.5.6.3 [format.formattable]The formattable type is not aformattable typeYes2
3943(i)New28.5.6.3 [format.formattable]Clarify lifetime requirements ofBasicFormatter andFormatterYes3
4146(i)New28.5.6.4 [format.formatter.spec]§[format.formatter.spec]/3 unconditionally enables nonlocking for container adaptorsYes2
3706(i)New28.5.6.4 [format.formatter.spec]How doesstd::format work with character arrays of unknown bound?No3
4284(i)LEWG28.5.6.4 [format.formatter.spec]Integer-class types should be formattableYes3
4221(i)New28.5.7 [format.range]Cannot format const-iterable only rangesNo2
4246(i)Tentatively NAD28.5.7.2 [format.range.formatter]Redundant constraint inrange_formatter::formatYes
4107(i)New28.5.7.4 [format.range.fmtmap]Map formatter may conflict with user-defined specializations ofpair/tuple formattersYes3
2490(i)New28.6 [re]<regex> needs lots ofnoexceptNo3
523(i)Open28.6 [re]regex case-insensitive character ranges are unimplementable as specifiedNo4
3835(i)New28.6.1 [re.general]Requirements forCharT in the regex libraryNo4
3606(i)New28.6.2 [re.req]Missingregex_traits::locale_type requirementsNo3
2431(i)New28.6.2 [re.req]Missing regular expression traits requirementsNo3
3998(i)New28.6.4 [re.const]Constants instd::regex_constants should be allowed to be enumeratorsNo3
2331(i)Open28.6.4.2 [re.synopt]regex_constants::collate's effects are inaccurately summarizedYes3
3605(i)New28.6.4.3 [re.matchflag]regex_constants::match_prev_avail is underspecifiedNo3
2338(i)Open28.6.6 [re.traits]§[re.traits]/7 expects of locale facets something not guaranteed by [locale.facet]/4Yes3
3261(i)New28.6.7 [re.regex]regex components'noexcept annotations appear broken for POCMA or throwingBidirectionalIteratorNo3
3341(i)New28.6.7.2 [re.regex.construct]basic_regex range constructor: Missing requirements for iterator typesNo3
3630(i)New28.6.7.2 [re.regex.construct]Inconsistentbasic_regex construction and assignment from iterator rangeNo4
3603(i)New28.6.7.2 [re.regex.construct]Matching of null characters by regular expressions is underspecifiedNo3
3604(i)New28.6.7.2 [re.regex.construct]What is the effect of an invalid value of typesyntax_option_type?No3
2137(i)Open28.6.7.3 [re.regex.assign]Misleadingly constrained post-condition in the presence of exceptionsYes3
3126(i)New28.6.8 [re.submatch]There's nostd::sub_match::compare(string_view) overloadYes3
2216(i)New28.6.10.4 [re.alg.replace]regex_replace(basic_string) allocator handlingNo3
2220(i)Open28.6.11.2.3 [re.tokiter.comp]Under-specification ofoperator== forregex_token_iteratorYes3
2546(i)New28.6.12 [re.grammar]Implementability of locale-sensitiveUnicodeEscapeSequence matchingNo4
2986(i)New28.6.12 [re.grammar]Handling of multi-character collating elements by theregex FSM is underspecifiedNo4
2987(i)New28.6.12 [re.grammar]Relationship betweentraits_inst.lookup_collatename and theregex FSM is underspecified with regards toClassAtomCollatingElementNo3

Section 29 (32 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
4161(i)New29.4 [complex.numbers]Some free functions don't automatically work for program-definedstd::complex<NonFloatingPoint>No3
3933(i)New29.4.3 [complex]P1467R9 accidentally changed the signatures of certain constructors ofstd::complexYes4
3934(i)New29.4.3 [complex]std::complex<T>::operator=(const T&) has no specificationYes3
2714(i)New29.4.6 [complex.ops]complex stream extraction underspecifiedYes3
2846(i)New29.4.10 [cmplx.over]Undefined phrase "effectively cast"Yes3
4109(i)New29.5.3.1 [rand.req.genl]Instantiating templates in §[rand] withint8_t/uint8_t is undefined behaviorYes3
4289(i)LEWG29.5.3.2 [rand.req.seedseq]Seed sequence is overspecifiedYes3
4212(i)New29.5.4.5 [rand.eng.philox]Make the round states in [rand.eng.philox] explicitYes3
3402(i)New29.5.9.3.4 [rand.dist.bern.negbin]Wording fornegative_binomial_distribution is unclear as a consequence of LWG 2406 resolutionNo3
4052(i)New29.5.9.6.2 [rand.dist.samp.pconst]Bogus requirements forpiecewise_linear_distributionYes4
3964(i)New29.6.3.3 [valarray.transcend]std::atan2 andstd::pow overloads that take twostd::valarray parameters should require the arguments to have the same lengthYes4
2423(i)New29.6.5 [template.slice.array]Missing specificationslice_array,gslice_array,mask_array,indirect_array copy constructorYes4
2115(i)Open29.6.8 [template.mask.array]Undefined behaviour forvalarray assignments withmask_array index?No4
3693(i)New29.7 [c.math]§[c.math] Can any offloat/double/long double overloads be fused into template overloads?No2
2847(i)New29.7.1 [cmath.syn]sin(float) should callsinf(float)No3
2923(i)New29.7.1 [cmath.syn]noexcept is inconsistently applied across headers which import components of the C standard libraryNo4
3093(i)New29.7.2 [c.math.abs]LWG 2294/2192 missed astd::abs overloadNo3
3172(i)New29.7.3 [c.math.hypot3]3-argstd::hypot is underspecified compared to the 2-arg overloadYes3
3066(i)New29.7.6 [sf.cmath]"report a domain error" in [sf.cmath]/1 is underspecifiedNo3
4185(i)New29.9.7 [linalg.helpers]Ill-formed, no diagnostic required on runtime behaviorNo3
4409(i)New29.10 [simd]Constant expressionranges::size(r)Constraints andMandates in [simd]Yes3
4414(i)New29.10.2.2 [simd.expos.abi]§[simd.expos.abi]deduce-abi-t is underspecified and incorrectly referencedfromrebind andresizeYes
4391(i)Tentatively NAD29.10.7.2 [simd.ctor]Ambiguities ofsimd::basic_vec constructorYes
4436(i)New29.10.7.2 [simd.ctor]simd broadcast is overconstrained —std::cw<0.f> is not convertible tosimd::vec<float16_t>Yes
4390(i)LEWG29.10.7.2 [simd.ctor]simd::basic_vec(U&&) default template parameterYes4
4408(i)LEWG29.10.7.3 [simd.subscr]Hardeningsimd::vec::operator[]Yes3
4392(i)New29.10.8.7 [simd.loadstore]simd::unchecked_load misses difference type castingYes3
4394(i)New29.10.8.7 [simd.loadstore]simd::unchecked_load(I first, S last) constructspan maybe ill-formedYes3
4393(i)New29.10.8.11 [simd.permute.memory]simd::unchecked_scatter_to is underconstrainedYes2
4386(i)New29.10.8.13 [simd.alg]std::simd::select(bool c, const T& a, const U& b) is underconstrainedYes3
4402(i)New29.10.9.1 [simd.mask.overview]List-initialization of iterators in [simd.mask.overview]Yes3
4238(i)New29.10.9.4 [simd.mask.unary]simd_mask<complex<double>>::operator+/-/~ return a disabledsimd specializationYes1

Section 30 (19 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2592(i)New30.2 [time.syn]Require thatchrono::duration_casts from smaller durations to larger durations do not overflowYes4
3503(i)New30.5.8 [time.duration.cast]chrono::ceil has surprising requirementYes3
2383(i)Open30.5.9 [time.duration.literals]Overflow cannot be ill-formed for chrono::duration integer literalsNo3
4288(i)New30.7.2.2 [time.clock.system.members]TheConstraints: element in [time.clock.system.members] is probably wrongYes3
4193(i)New30.11.2 [time.zone.db]§[time.zone.db] the specification uses the undefined term "thread-safe"No3
4211(i)New30.11.2.1 [time.zone.db.tzdb]IANA time zone database allows links to refer to linksYes2
3678(i)New30.11.5.1 [time.zone.overview]Constructors ofstd::chrono::time_zone might be overly unspecifiedYes4
4067(i)New30.11.7.2 [time.zone.zonedtime.ctor]Inconsistency and potential infinity meta-recursion instd::chrono::zoned_time's constructorsYes3
4139(i)New30.11.8 [time.zone.leap]§[time.zone.leap] recursive constraint in<=>No3
3831(i)New30.12 [time.format]Two-digit formatting of negativeyear is ambiguousYes3
4022(i)New30.12 [time.format]Ambiguity in the formatting of negative years with format specifier%CYes3
4400(i)New30.12 [time.format]enable_nonlocking_formatter_optimization for durations with custom repYes3
4118(i)New30.12 [time.format]How shouldduration formatters format customrep types?Yes3
3856(i)New30.12 [time.format]Unclear which conversion specifiers are valid for each chrono typeYes3
3921(i)New30.12 [time.format]Isstd::chrono::duration<std::int64_t, std::ratio<INT64_MAX - 1, INT64_MAX>>{40} required to be correctly formatted?No3
3844(i)Open30.12 [time.format]Non-numeric formats for negative durationsYes3
3962(i)New30.13 [time.parse]What is the "decimal precision of the input"?Yes3
3960(i)New30.13 [time.parse]How doeschrono::parse handle duplicated data?Yes3
3961(i)New30.13 [time.parse]Doeschrono::parse check format strings?Yes3

Section 31 (35 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
423(i)Open31 [input.output]Effects of negativestreamsize in iostreamsYes3
3696(i)New31.2.2 [stream.types]"Basic integral types" should not be usedYes3
3910(i)New31.4.2 [iostream.objects.overview]The effects of including<iostream> on initialization are not yet precisely specifiedYes4
3675(i)New31.5.2.6 [ios.base.storage]std::ios_base::iword/pword might be misspecifiedYes4
2675(i)New31.5.2.7 [ios.base.callback]register_callback can failNo3
4192(i)New31.5.2.8 [ios.base.cons]§[ios.base.cons]ios_base members may not have indeterminate values after constructionYes3
2214(i)Open31.5.4.2 [basic.ios.cons]Clarifybasic_ios::init call restrictionsYes4
2504(i)New31.6.3 [streambuf]basic_streambuf is not an abstract classNo3
3658(i)New31.6.3.3.5 [streambuf.pub.put]basic_streambuf::sputn is both overspecified and underspecifiedYes3
2342(i)New31.7.6.2 [ostream]User conversion towchar_t const* or towchar_t not invoked foroperator<<Yes4
2497(i)New31.7.6.2.4 [ostream.sentry]Use ofuncaught_exception()Yes3
4101(i)New31.7.6.3.2 [ostream.inserters.arithmetic]LWG 117 loses the sign for negative NaN on some architecturesYes3
4039(i)New31.7.6.3.5 [ostream.formatted.print]§[ostream.formatted.print]: Inappropriate usage ofbadbit in definition ofvprint_unicode/vprint_nonunicodeYes4
3501(i)New31.7.6.5 [ostream.manip]basic_syncbuf-related manipulators refer to someAllocator without defining itYes3
4364(i)New31.7.7 [std.manip]SFINAE-friendliness onoperator<< andoperator>> for unspecified I/O manipulatorsNo4
3937(i)New31.7.7 [std.manip]I/O manipulators should be specified in terms of base classesNo3
2984(i)New31.7.8 [ext.manip]put_money(99) is unnecessarily undefinedYes3
3309(i)New31.8 [string.streams]Is<ios> implicitly#included by<sstream>,<fstream> etc.?No3
3992(i)Tentatively NAD31.8.2.4 [stringbuf.members]basic_stringbuf::str()&& should enforce 𝒪(1)Yes4
3097(i)New31.8.2.5 [stringbuf.virtuals]basic_stringbuf seekoff effects trigger undefined behavior and have contradictory returnsNo3
2286(i)Open31.8.2.5 [stringbuf.virtuals]stringbuf::underflow() underspecifiedYes4
3496(i)New31.11.2.4 [syncstream.syncbuf.members]What does "uniquely associated" mean forbasic_syncbuf::emit()?No3
3497(i)New31.11.2.4 [syncstream.syncbuf.members]Postconditions forbasic_syncbuf::emit()No3
3098(i)New31.12.6.5.9 [fs.path.decompose]Misleading example forfilesystem::path::filename()Yes3
3699(i)New31.12.6.5.11 [fs.path.gen]lexically_relative on UNC drive paths (\\?\C:\...) results in a default-constructed valueNo3
3794(i)New31.12.6.6 [fs.path.itr]std::filesystem::path::iterator::reference should be allowed to bestd::filesystem::pathYes3
4070(i)Open31.12.6.9.2 [fs.path.fmtr.funcs]Transcoding bystd::formatter<std::filesystem::path>Yes2
2947(i)New31.12.8.1 [fs.enum.path.format]Clarify several filesystem termsNo3
3078(i)New31.12.10 [fs.class.directory.entry]directory_entry,directory_iterator andrecursive_directory_iterator perform needless path copiesNo3
3668(i)New31.12.11.2 [fs.dir.itr.members][recursive_]directory_iterator constructors refer to undefinedoptionsYes3
2708(i)Open31.12.12.2 [fs.rec.dir.itr.members]recursive_directory_iterator::recursion_pending() is incorrectly specifiedYes2
4279(i)New31.12.13.2 [fs.op.absolute]§[fs.op.absolute] Non-normative encouragement should beRecommended practiceNo4
3057(i)Open31.12.13.4 [fs.op.copy]Correctcopy_options handlingYes2
3056(i)New31.12.13.5 [fs.op.copy.file]copy_file() copies which attributes?Yes3
3744(i)New31.12.13.6 [fs.op.copy.symlink]copy_symlink(junction, new_symlink)'s behavior is unclearNo3

Section 32 (44 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2819(i)New32.2.5 [thread.req.lockable]UnspecifiedReturn type: elementsYes3
3499(i)New32.2.5.4 [thread.req.lockable.timed]Timed lockable and mutex requirements are imprecise aboutduration andtime_pointNo3
3924(i)New32.3.1 [thread.stoptoken.intro]Stop token data race avoidance requirements unclearYes3
4362(i)Tentatively NAD32.3.8 [stoptoken.inplace]Inconsistent usage ofconstexpr forinplace_stop_token andinplace_stop_sourceYes
1484(i)LEWG32.4.3 [thread.thread.class]Need a way to join a thread with a timeoutNo4
3516(i)New32.4.3.2 [thread.thread.id]thread::id spaceship may be inconsistent with equalityYes3
3475(i)New32.4.3.3 [thread.thread.constr]std::thread's constructor needs to be able to report general memory allocation failuresYes3
4310(i)Core32.4.3.3 [thread.thread.constr]Is "the completion of the invocation of the constructor" considered as an expression?No4
3633(i)New32.5 [atomics]Atomics are copy constructible and copy assignable fromvolatile atomicsYes3
3220(i)New32.5.2 [atomics.syn]P0558 broke conforming C++14 uses of atomicshared_ptrYes3
2236(i)Open32.5.2 [atomics.syn]kill_dependency unconditionally noexceptNo4
4309(i)Tentatively NAD32.5.4 [atomics.order]How are twoseq_cst operations ordered in the single total order if these two operations are unsequenced?No
3980(i)Tentatively NAD32.5.4 [atomics.order]The read exclusive ownership of an atomic read-modify-write operation and whether its read and write are two operations are unclearYes
3999(i)New32.5.4 [atomics.order]P0439R0 changed the value category of memory order constantsYes4
3268(i)New32.5.4 [atomics.order]memory_order::memory_order_foo broken in C++20Yes4
3941(i)Open32.5.4 [atomics.order]§[atomics.order] inadvertently prohibits widespread implementation techniquesNo3
2265(i)Open32.5.4 [atomics.order]29.3p9 appears to rule out some acceptable executionsNo4
1459(i)LEWG32.5.4 [atomics.order]Overlapping evaluations are allowedNo41458
4174(i)SG132.5.4 [atomics.order]How does [atomics.order] p3 apply when then modification is an initialization?No3
4177(i)SG132.5.4 [atomics.order]§[atomics.order] p8 "circularly depend on their own computation" is unclear for loopNo4
4004(i)SG132.5.4 [atomics.order]The load and store operation in §[atomics.order] p1 is ambiguousNo3
3263(i)New32.5.6 [atomics.wait]Atomic waiting function calls should only be unblocked onceYes3
3288(i)New32.5.6 [atomics.wait]atomic<T>::notify_one is unimplementableYes2
4244(i)Tentatively NAD32.5.7.2 [atomics.ref.ops]Whether the spuriously failed comparison applies tocompare_exchange_strong is unclearNo
4453(i)New32.5.7.2 [atomics.ref.ops]atomic_ref<cv T>::required_alignment should be the same as forTYes
3409(i)New32.5.7.2 [atomics.ref.ops]Too lax description ofatomic_ref<T>::required_alignmentYes3
4321(i)Tentatively NAD32.5.8.2 [atomics.types.operations]How are evaluations occurring within a store and a load operation ordered where the store synchronized with the loadNo
3417(i)Open32.5.8.2 [atomics.types.operations]Missingvolatile atomic deprecationsYes3
3047(i)New32.5.8.3 [atomics.types.int]atomic compound assignment operators can cause undefined behavior when correspondingfetch_meow members don'tYes3
4194(i)Tentatively NAD32.5.8.5 [atomics.types.pointer]atomic<void*> should use generic class templateYes
3906(i)New32.5.8.5 [atomics.types.pointer]"Undefined address" is undefinedNo3
3418(i)New32.5.9 [atomics.nonmembers]Deprecated free functions in<atomic>Yes3
1488(i)LEWG32.6 [thread.mutex]Improve interoperability between the C++0x and C1x threads APIsNo4
936(i)LEWG32.6.4 [thread.mutex.requirements]Mutex type overspecifiedNo4961
961(i)LEWG32.6.4 [thread.mutex.requirements]Various threading bugs #11No4936
1493(i)LEWG32.6.4 [thread.mutex.requirements]Addmutex,recursive_mutex,is_locked functionNo4
3504(i)New32.7.4 [thread.condition.condvar]condition_variable::wait_for is overspecifiedYes3
3898(i)New32.9.3.3 [thread.barrier.class]Possibly unintended preconditions for completion functions ofstd::barrierYes3
2530(i)Open32.10.5 [futures.state]Clarify observable side effects of releasing a shared stateNo3
2532(i)Open32.10.6 [futures.promise]Satisfying apromise at thread exitYes3
3582(i)New32.10.9 [futures.async]Unclear wherestd::async exceptions are handledYes3
2202(i)Deferred32.10.9 [futures.async]Missing allocator support byasyncNo4
4160(i)New32.10.10.1 [futures.task.general]packaged_task should reject rvalue reference return typesYes3
4158(i)New32.10.10.2 [futures.task.members]packaged_task::operator= should abandon its shared stateYes3

Section 33 (38 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
4353(i)New33 [exec]Uses ofMANDATE-NOTHROW in CPOs should not enclose CPO argument sub-expressionsNo3
4260(i)New33.2.1 [exec.queryable.general]Query objects must be default constructibleYes2
4326(i)New33.5.1 [exec.fwd.env]Standard defined queries can't customizeforwarding_query_t by inheriting from itYes4
4354(i)SG133.5.8 [exec.get.fwd.progress]Reconsiderweakly_parallel as the defaultforward_progress_guaranteeYes1
4327(i)New33.6 [exec.sched]Equal schedulers should be required to have same behaviourNo3
4143(i)New33.7.2 [exec.set.value]execution::set_value/set_error/set_stopped/start should always returnvoidYes2
4213(i)New33.9 [exec.snd]Sender spec depends on unspecified order of evaluationNo2
4199(i)New33.9.1 [exec.snd.general]constraints on user customizations of standard sender algorithms are incorrectly specifiedNo1
4455(i)New33.9.2 [exec.snd.expos]Add missing constraint tobasic-sender::get_completion_signatures definitionYes
4456(i)New33.9.2 [exec.snd.expos]DecayData andChild inmake-senderYes
4278(i)New33.9.2 [exec.snd.expos]Consider changing howget-domain-early(sndr) worksNo
4248(i)New33.9.2 [exec.snd.expos]Late domain-based dispatching ofschedule_from andcontinues_on are flippedYes1
4190(i)New33.9.2 [exec.snd.expos]Specification ofcompletion-signatures-for in [exec.snd.expos]/p39 is recursiveYes2
4368(i)New33.9.5 [exec.domain.default]Potential dangling reference returned fromtransform_senderYes1
4363(i)Tentatively NAD33.9.6 [exec.snd.transform]transform_sender comparing types ignoringcv-qualifiers doesn't take into account differences in value categoryYes
4355(i)New33.9.10 [exec.connect]connect-awaitable() should mandatercvr can receive all completion-signals rather than using constraintsYes2
4356(i)New33.9.10 [exec.connect]connect() should useget_allocator(get_env(rcvr)) to allocate the coroutine-state for aconnect-awaitable coroutineYes2
4357(i)New33.9.10 [exec.connect]connect-awaitable should useis_void_v to check for result-type ofco_await expression instead ofsame_as<void>Yes4
4395(i)New33.9.12.3 [exec.write.env]write_env implementation-detail lambda should have explicit return typeNo2
4419(i)New33.9.12.10 [exec.let]let_value/error/stopped should specify the attributes of their sendersNo1
4215(i)New33.12.1 [exec.run.loop]run_loop::finish should benoexceptYes2
4359(i)New33.13.1 [exec.as.awaitable]as_awaitable(expr, p) does not define semantics of call ifp is not an lvalueYes
4133(i)New33.13.1 [exec.as.awaitable]awaitable-receiver's members are potentially throwingNo1
4361(i)LEWG33.13.1 [exec.as.awaitable]awaitable-receiver::set_value should useMandates instead of constraintsYes1
4344(i)New33.13.3 [exec.affine.on]affine_on has no specification for the defaultYes2
4329(i)LEWG33.13.3 [exec.affine.on]Customising affine_on for other algorithmsNo3
4330(i)LEWG33.13.3 [exec.affine.on]affine_on semanticsNo2
4331(i)LEWG33.13.3 [exec.affine.on]affine_on shape may be wrongNo2
4332(i)LEWG33.13.3 [exec.affine.on]affine_on shouldn't forward the stop token to the scheduling operationNo2
4336(i)LEWG33.13.5 [exec.task.scheduler]bulk vs.task_schedulerNo2
4339(i)New33.13.6 [exec.task]task's coroutine frame may be released lateYes2
4338(i)LEWG33.13.6.2 [task.class]sender unaware coroutines should be able toco_await ataskNo2
4348(i)LEWG33.13.6.2 [task.class]task doesn't support symmetric transferNo2
4337(i)Tentatively NAD33.13.6.5 [task.promise]co_await change_coroutine_scheduler(s) requires assignableYes
4347(i)New33.13.6.5 [task.promise]task's stop source is always createdNo2
4335(i)LEWG33.13.6.5 [task.promise]task shadows the environment's allocatorNo2
4333(i)LEWG33.13.6.5 [task.promise]task uses unusual allocator customisationNo2
4334(i)LEWG33.13.6.5 [task.promise]task<...>::promise_type supports arbitraryallocator_arg positionNo2

Section 99 (9 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2479(i)New99 [depr.conversions.buffer]Unclear howwbuffer_convert usescvtstateNo4
2480(i)New99 [depr.conversions.buffer]Error handling ofwbuffer_convert unclearNo4
2478(i)New99 [depr.conversions.string]Unclear howwstring_convert usescvtstateNo4
2481(i)New99 [depr.conversions.string]wstring_convert should be more precise regarding "byte-error string" etc.No4
2507(i)New99 [depr.locale.stdcvt]codecvt_mode should be a bitmask typeNo3
3109(i)New99 [depr.strstreambuf]strstreambuf is copyableNo4
3095(i)New99 [depr.strstreambuf.virtuals]strstreambuf refers to nonexistent member offpos,fpos::offsetYes4
4206(i)New99 [exec.syn]Alias templateconnect_result_t should be constrained withsender_toYes1
3909(i)Tentatively NAD99 [ranges.refinements]Issues aboutviewable_rangeYes

Section D (1 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3840(i)OpenD.22.1 [depr.fs.path.factory]filesystem::u8path should be undeprecatedYes3

Section concurr.ts 99 (1 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2533(i)Open99 [concurr.ts::futures.unique.future][concurr.ts] Constrain threads wherefuture::then can run a continuationNo4

Section fund.ts.v3 6 (1 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3812(i)New6.1.2.6 [fund.ts.v3::propagate_const.const_observers][fund.ts.v3] Incorrect constraint onpropagate_const conversion functionYes3

Section fund.ts.v3 8 (2 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3167(i)Open8.2 [fund.ts.v3::memory.observer.ptr][fund.ts.v3] Doesobserver_ptr support function types?No3
4295(i)New8.2.6 [fund.ts.v3::memory.observer.ptr.special][fund.ts.v3]experimental::observer_ptr should have more constexprYes4

Section fund.ts.v3 99 (1 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3357(i)Open99 [fund.ts.v3::rand.util.randint][fund.ts.v3]default_random_engine is overspecified for per-thread engineYes3

Section networking.ts 13 (1 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3124(i)New13.7.5 [networking.ts::async.exec.ctx.globals][networking.ts] Unclear howexecution_context is intended to store servicesYes3

Section networking.ts 16 (4 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3114(i)LEWG16 [networking.ts::buffer][networking.ts] Permit efficient composition when usingDynamicBufferYes4
3021(i)New16.2.2 [networking.ts::buffer.reqmts.constbuffersequence][networking.ts] Relax pointer equivalence requirement forConstBufferSequenceYes3
3027(i)New16.2.4 [networking.ts::buffer.reqmts.dynamicbuffer][networking.ts]DynamicBufferprepare exception specificationYes3
3072(i)New16.2.4 [networking.ts::buffer.reqmts.dynamicbuffer][networking.ts]DynamicBuffer object lifetimes underspecifiedYes3

Section networking.ts 17 (1 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3073(i)New17 [networking.ts::buffer.stream][networking.ts] (async_)read and (async_)write don't supportDynamicBuffer lvaluesYes3

Section networking.ts 19 (2 issues)

(view all issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3444(i)New19.1.2 [networking.ts::socket.streambuf.members][networking.ts]net::basic_socket_streambuf::connect(Args&&...) effects are wrongNo2
3445(i)LEWG19.2.1 [networking.ts::socket.iostream.cons][networking.ts]net::basic_socket_istream::connect should be constrainedYes3

[8]ページ先頭

©2009-2025 Movatter.jp