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,Library Defect Reports and Accepted Issues, andLibrary Closed Issues List.

Index by Section

(view only non-Ready open issues)

Revised 2025-11-06 at 04:32:03 UTC

Section 2 (2 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
571(i)NAD Editorial2 [intro.refs]Update C90 references to C99?Yes
653(i)NAD2 [intro.refs]Library reserved namesYes

Section 3 (6 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2872(i)C++173 [intro.defs]Add definition for direct-non-list-initializationYes
1354(i)C++113.16 [defns.deadlock]The definition of deadlock excludes cases involving a single threadYes
2392(i)WP3.36 [defns.ntcts]"character type" is used but not definedYes3
3119(i)C++203.42 [defns.prog.def.spec]Program-definedness of closure typesYes2
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 only non-Ready open issues)

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

Section 6 (4 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
873(i)NAD Editorial6.9.2 [basic.fundamental]signed integral type and unsigned integral type are not clearly definedYes
2506(i)SG16.10.2 [intro.multithread]Underspecification of atomicsNo3
2075(i)Resolved6.10.2 [intro.multithread]Progress guarantees, lock-free property, and scheduling assumptionsYes
462(i)NAD6.10.3.4 [basic.start.term]Destroying objects with static storage durationYes

Section 16 (231 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3105(i)New16 [library]T1 is convertible toT2No3
2949(i)New16 [library]Unclear complexity requirements: space vs. timeNo4
1195(i)C++1116 [library]"Diagnostic required" wording is insufficient to prevent UBYes
1349(i)C++1116 [library]swap should not throwYes
182(i)CD116 [library]Ambiguous references to size_tYes
230(i)CD116 [library]Assignable specified without also specifying CopyConstructibleYes
336(i)CD116 [library]Clause 17 lack of references to deprecated headersYes
2925(i)Resolved16 [library]Template argument deduction is not used in the standard libraryYes
343(i)Resolved16 [library]Unspecified library header dependenciesYes
625(i)Resolved16 [library]Mixed upEffects andReturns clausesYes895
1151(i)Resolved16 [library]Behavior of the library in the presence of threads is incompletely specifiedYes
1344(i)Resolved16 [library]Replacethrow() withnoexceptYes1351
1345(i)Resolved16 [library]Library classes should havenoexcept move operationsYes
1346(i)Resolved16 [library]Applynoexcept where library specification does not permit exceptionsYes1352
1347(i)Resolved16 [library]Applynoexcept judiciously throughout the libraryYes
1353(i)Resolved16 [library]Clarify the state of amoved-from objectYes
972(i)NAD Editorial16 [library]The term "Assignable" undefined but still in useYes
1232(i)NAD Editorial16 [library]Stillswap's with rvalue-referencesYes
877(i)NAD16 [library]tothrow() or toThrow: Nothing.Yes
2898(i)NAD16 [library]Prefer not to use member typedefs as constructor parametersYes
2865(i)NAD16 [library]Resolve all open Library issues for C++17Yes
1173(i)NAD16 [library]"Equivalence" wishy-washinessYes3
385(i)NAD16 [library]Does call by value imply the CopyConstructible requirement?Yes
941(i)NAD16 [library]Ref-qualifiers for assignment operatorsYes
996(i)NAD16 [library]Move operation not well specifiedYes
1099(i)NAD16 [library]Various issuesYes
1153(i)NAD16 [library]Standard library needs review for constructors to beexplicit to avoid treatment as initializer-list constructorYes
1236(i)NAD16 [library]reserved identifiers in programs not using the libraryYes
1331(i)NAD16 [library]incorporate move special member functions into libraryYes
1348(i)NAD16 [library]Exception safety of unspecified typesYes
1350(i)Dup16 [library]Implicit contructors accidentally made some library types move-onlyYes1421
1351(i)Dup16 [library]Replace dynamic exception specifications withnoexceptYes1344
1352(i)Dup16 [library]Applynoexcept where library specification says "Throws: Nothing"Yes1346
989(i)NAD Concepts16 [library]late_check and libraryYes
1001(i)NAD Concepts16 [library]Pointers, concepts and headersYes
1096(i)NAD Concepts16 [library]unconstrained rvalue ref parametersYes
3538(i)New16.2 [library.c]§[library.c] C library functions are not addressableNo2
2136(i)Open16.3.2 [structure]Postconditions vs. exceptionsYes3
424(i)NAD Editorial16.3.2.2 [structure.summary]normative notesYes
3556(i)New16.3.2.3 [structure.requirements]Specification of when semantic constraints are imposed by use of conceptsis unclearNo3
995(i)NAD16.3.2.3 [structure.requirements]Operational Semantics UnclearYes
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
2679(i)C++1716.3.2.4 [structure.specifications]Inconsistent Use of Effects and Equivalent ToYes3
2710(i)C++1716.3.2.4 [structure.specifications]"Effects: Equivalent to ..." doesn't count "Synchronization:" as determined semanticsYes0
997(i)C++1116.3.2.4 [structure.specifications]"Effects: Equivalent to" is underspecifiedYes
222(i)TC116.3.2.4 [structure.specifications]Are throw clauses necessary if a throw is already implied by the effects clause?Yes
3168(i)Resolved16.3.2.4 [structure.specifications]Expects: element should be specified in one placeYes2
2292(i)Resolved16.3.2.4 [structure.specifications]Find a better phrasing for "shall not participate in overload resolution"Yes3
626(i)NAD Editorial16.3.2.4 [structure.specifications]newRemark clauses not documentedYes
1179(i)NAD Editorial16.3.2.4 [structure.specifications]Probably editorial in [structure.specifications]Yes
492(i)NAD16.3.2.4 [structure.specifications]Invalid iterator arithmetic expressionsYes
663(i)NAD16.3.2.4 [structure.specifications]Complexity RequirementsYes
895(i)Dup16.3.2.4 [structure.specifications]"Requires:" on std::string::at et alYes625
3818(i)C++2316.3.3 [conventions]Exposition-only concepts are not described in library introYes
3724(i)C++2316.3.3.2 [expos.only.entity]decay-copy should be constrainedYes3
2999(i)Resolved16.3.3.2 [expos.only.entity]§[thread.decaycopy] issueYes3
1156(i)NAD16.3.3.3.2 [enumerated.types]Constraints on bitmask and enumeration types to be tightenedYes
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
262(i)CD116.3.3.3.3 [bitmask.types]Bitmask operator ~ specified incorrectlyYes
1357(i)Resolved16.3.3.3.3 [bitmask.types]Library bitmask types to not satisfy the bimask type requirementsYes
2692(i)NAD16.3.3.3.3 [bitmask.types]Overspecification of lvalueness of bitmask elementsYes3
3620(i)New16.3.3.3.4.1 [character.seq.general]What are execution character sets and execution wide-character sets (after P2314R4)?No3
1060(i)NAD Editorial16.3.3.3.4.2 [byte.strings]Embedded nulls in NTBSYes
3285(i)C++2016.3.3.3.5 [customization.point.object]The type of a customization point object shall satisfysemiregularYes0
3510(i)Resolved16.3.3.3.5 [customization.point.object]Customization point objects should be invocable as non-const tooYes3
3753(i)C++2316.3.3.7 [freestanding.item]Clarify entity vs. freestanding entityYes2
3815(i)Resolved16.3.3.7 [freestanding.item]Freestanding enumerators specification is lackingYes
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
2818(i)C++2316.4.2.2 [contents]"::std::" everywhere rule needs tweakingYes2
1065(i)C++1116.4.2.2 [contents]Allow inline namespaces within namespacestd for implementationsYes
229(i)CD116.4.2.2 [contents]Unqualified references of other library entitiesYes
992(i)NAD16.4.2.2 [contents]Allow implementations to implement C library in the global namespaceYes
2380(i)C++1716.4.2.3 [headers]May<cstdlib> providelong ::abs(long) andlong long ::abs(long long)?Yes2
310(i)CD116.4.2.3 [headers]Is errno a macro?Yes
456(i)CD116.4.2.3 [headers]Traditional C header files are overspecifiedYes
465(i)CD116.4.2.3 [headers]Contents of <ciso646>Yes
1002(i)NAD16.4.2.3 [headers]Provide bulk include headersYes
3784(i)C++2316.4.2.4 [std.modules]std.compat should not provide::byte and its friendsYes
3871(i)C++2316.4.2.5 [compliance]Adjust note aboutterminateYes
3148(i)C++2016.4.2.5 [compliance]<concepts> should be freestandingYes0
1264(i)C++1116.4.2.5 [compliance]quick_exit support for freestanding implementationsYes
1360(i)C++1116.4.2.5 [compliance]Add<atomic> to free-standing implementationsYes
833(i)NAD16.4.2.5 [compliance]Freestanding implementations header list needs review for C++0xYes
1003(i)NAD16.4.2.5 [compliance]Require more useful headers for freestanding implementationsYes
1358(i)NAD16.4.2.5 [compliance]Add<chrono> and<ratio> tofreestanding implementationsYes
1359(i)NAD16.4.2.5 [compliance]Add<tuple> and<utility> to freestanding implementationsYes
1361(i)NAD16.4.3 [using]Does use ofstd::size_t in a header imply that typedef name is available to users?Yes
3240(i)New16.4.3.2 [using.headers]Headers declare more than entitiesNo3
2428(i)C++1716.4.3.2 [using.headers]"External declaration" used without being definedYes0
2225(i)C++1416.4.3.2 [using.headers]Unrealistic header inclusion checks requiredYes
657(i)NAD16.4.3.2 [using.headers]unclear requirement about header inclusionYes
1(i)TC116.4.3.3 [using.linkage]C library linkage editing oversightYes
2281(i)NAD Editorial16.4.3.3 [using.linkage]C99 cross-reference typo in [using.linkage]Yes
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
4317(i)Voting16.4.4.2 [utility.arg.requirements]The meaning of "resource" in theCpp17Destructible requirements is undefinedYes
2146(i)Open16.4.4.2 [utility.arg.requirements]Are reference typesCopyConstructible/MoveConstructible/CopyAssignable/MoveAssignable/Destructible?No3
2170(i)C++1716.4.4.2 [utility.arg.requirements]Aggregates cannot beDefaultConstructibleYes2
724(i)C++1116.4.4.2 [utility.arg.requirements]DefaultConstructible is not definedYes
753(i)C++1116.4.4.2 [utility.arg.requirements]Move constructor in draftYes
1309(i)C++1116.4.4.2 [utility.arg.requirements]Missing expressions forMove/CopyConstructibleYes
672(i)CD116.4.4.2 [utility.arg.requirements]Swappable requirements need updatingYes
594(i)Resolved16.4.4.2 [utility.arg.requirements]Disadvantages of definingSwappable in terms ofCopyConstructible andAssignableYes
742(i)Resolved16.4.4.2 [utility.arg.requirements]Enablingswap for proxy iteratorsYes
1283(i)Resolved16.4.4.2 [utility.arg.requirements]MoveConstructible andMoveAssignable need clarificationof moved-from stateYes
1322(i)Resolved16.4.4.2 [utility.arg.requirements]ExplicitCopyConstructible requirements are insufficientYes
390(i)NAD Editorial16.4.4.2 [utility.arg.requirements]CopyConstructible requirements too strictYes
822(i)NAD16.4.4.2 [utility.arg.requirements]Object with explicit copy constructor no longerCopyConstructibleYes
1374(i)NAD16.4.4.2 [utility.arg.requirements]Clarify moved-from objects are "toxic"Yes
910(i)NAD Concepts16.4.4.2 [utility.arg.requirements]Effects of MoveAssignableYes
2152(i)LEWG16.4.4.3 [swappable.requirements]Instances of standard container types are not swappableYes3
2171(i)NAD16.4.4.3 [swappable.requirements]"swappable" undefined for swapping lvalue and rvalueYes
4155(i)New16.4.4.4 [nullablepointer.requirements]Cpp17NullablePointer should require that some expression can be contextually converted to boolYes3
2114(i)Resolved16.4.4.4 [nullablepointer.requirements]Incorrect "contextually convertible tobool" requirementsYes3
4296(i)New16.4.4.5 [hash.requirements]Clarify that Cpp17Hash does not imply statelessNo3
2291(i)C++1416.4.4.5 [hash.requirements]std::hash is vulnerable to collision DoS attackYes
1332(i)C++1116.4.4.5 [hash.requirements]Let Hash objects throw!Yes
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
2178(i)Pending NAD Editorial16.4.4.6 [allocator.requirements]Allocator requirement changes not mentioned Annex CYes3
2593(i)C++2016.4.4.6 [allocator.requirements]Moved-from state of AllocatorsYes4
3315(i)C++2016.4.4.6 [allocator.requirements]Correct Allocator Default BehaviorYes0
2016(i)C++1716.4.4.6 [allocator.requirements]Allocators must be no-throwswappableYes2
2260(i)C++1716.4.4.6 [allocator.requirements]Missing requirement forAllocator::pointerYes3
2384(i)C++1716.4.4.6 [allocator.requirements]Allocator'sdeallocate function needs better specificationYes3
2447(i)C++1716.4.4.6 [allocator.requirements]Allocators andvolatile-qualified value typesYes4
2455(i)C++1716.4.4.6 [allocator.requirements]Allocator default construction should be allowed to throwYes
2466(i)C++1716.4.4.6 [allocator.requirements]allocator_traits::max_size() default behavior is incorrectYes3
2467(i)C++1716.4.4.6 [allocator.requirements]is_always_equal has slightly inconsistent defaultYes0
2470(i)C++1716.4.4.6 [allocator.requirements]Allocator'sdestroy function should be allowed to fail to instantiateYes
2065(i)C++1416.4.4.6 [allocator.requirements]Minimal allocator interfaceYes
2081(i)C++1416.4.4.6 [allocator.requirements]Allocator requirements should includeCopyConstructibleYes
2147(i)C++1416.4.4.6 [allocator.requirements]Unclear hint type inAllocator'sallocate functionYes
2162(i)C++1416.4.4.6 [allocator.requirements]allocator_traits::max_size missingnoexceptYes
2263(i)C++1416.4.4.6 [allocator.requirements]Comparing iterators and allocator pointers with different const-characterYes1
752(i)C++1116.4.4.6 [allocator.requirements]Allocator complexity requirementYes
258(i)CD116.4.4.6 [allocator.requirements]Missing allocator requirementYes
274(i)CD116.4.4.6 [allocator.requirements]a missing/impossible allocator requirementYes
401(i)CD116.4.4.6 [allocator.requirements] incorrect type casts in table 32 in lib.allocator.requirementsYes
402(i)CD116.4.4.6 [allocator.requirements]wrong new expression in [some_]allocator::constructYes
199(i)TC116.4.4.6 [allocator.requirements]What doesallocate(0) return?Yes
2108(i)Resolved16.4.4.6 [allocator.requirements]No way to identify allocator types that always compare equalYes3
431(i)Resolved16.4.4.6 [allocator.requirements]Swapping containers with unequal allocatorsYes
635(i)Resolved16.4.4.6 [allocator.requirements]domain ofallocator::addressYes
12(i)NAD16.4.4.6 [allocator.requirements]Way objects hold allocators unclearYes
197(i)NAD16.4.4.6 [allocator.requirements]max_size() underspecifiedYes
277(i)NAD16.4.4.6 [allocator.requirements]Normative encouragement in allocator requirements unclearYes
487(i)NAD16.4.4.6 [allocator.requirements]Allocator::construct is too limitingYes
560(i)NAD16.4.4.6 [allocator.requirements]User-defined allocators without default constructorYes
1376(i)NAD16.4.4.6 [allocator.requirements]Allocator interface is not backward compatibleYes
2311(i)NAD16.4.4.6 [allocator.requirements]Allocator requirements should be further minimizedYes2
1375(i)Dup16.4.4.6 [allocator.requirements]reference_type should not have been removed from theallocator requirementsYes1318
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
3775(i)C++2316.4.4.6.1 [allocator.requirements.general]Broken dependencies in theCpp17Allocator requirementsYes
2954(i)C++2016.4.5 [constraints]Specialization of the convenience variable templates should be prohibitedYes
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
3177(i)C++2316.4.5.2.1 [namespace.std]Limit permission to specialize variable templates to program-defined typesYes3
3441(i)C++2316.4.5.2.1 [namespace.std]Misleading note about calls to customization pointsYes1
2139(i)C++2016.4.5.2.1 [namespace.std]What is auser-defined type?Yes4
2129(i)C++1716.4.5.2.1 [namespace.std]User specializations ofstd::initializer_listYes3
1157(i)C++1116.4.5.2.1 [namespace.std]Local types can now instantiate templatesYes
3442(i)Resolved16.4.5.2.1 [namespace.std]Unsatisfiable suggested implementation of customization pointsYes1
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
120(i)CD116.4.5.3 [reserved.names]Can an implementor add specializations?Yes
226(i)CD116.4.5.3 [reserved.names]User supplied specializations or overloads of namespace std function templatesYes
232(i)CD116.4.5.3 [reserved.names]"depends" poorly defined in 17.4.3.1Yes
422(i)CD116.4.5.3 [reserved.names]explicit specializations of member functions of class templatesYes
3885(i)WP16.4.5.3.2 [zombie.names]'op' should be in [zombie.names]Yes
4033(i)New16.4.5.3.3 [macro.names]§[macro.names] defining macros after importing the standard libraryYes3
3132(i)C++2016.4.5.3.3 [macro.names]Library needs to ban macros namedexpects orensuresYes0
3147(i)C++2016.4.5.3.3 [macro.names]Definitions of "likely" and "unlikely" are likely to cause problemsYes0
2014(i)C++1116.4.5.3.3 [macro.names]More restrictions on macro namesYes
294(i)CD116.4.5.3.3 [macro.names]User defined macros and standard headersYes
4149(i)Resolved16.4.5.3.3 [macro.names]User defined macros without standard headers (294 redux)Yes
3920(i)New16.4.5.3.4 [extern.names]Bad footnotes claiming external linkage for entities defined as macrosNo3
2340(i)C++1716.4.5.6 [replacement.functions]Replacement allocation functions declared as inlineYes2
404(i)CD116.4.5.6 [replacement.functions]May a replacement allocation function be declared inline?Yes
3142(i)New16.4.5.8 [res.on.functions]std::foo<incomplete> should be ill-formed NDRYes3
1004(i)C++1116.4.5.8 [res.on.functions]Clarify "throws an exception"Yes
611(i)CD116.4.5.8 [res.on.functions]Standard library templates and incomplete typesYes
3511(i)New16.4.5.9 [res.on.arguments]Clarify global permission to moveYes3
2468(i)C++1716.4.5.9 [res.on.arguments]Self-move-assignment of library typesYes2
1362(i)C++1116.4.5.9 [res.on.arguments]Description of binding to rvalue-references should use the new 'xvalue' vocabularyYes
1204(i)C++1116.4.5.9 [res.on.arguments]Global permission to moveYes
2224(i)C++1716.4.5.10 [res.on.objects]Ambiguous status of access to non-live objectsYes2
1095(i)C++1116.4.5.10 [res.on.objects]Shared objects and the library wording unclearYes
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
2112(i)C++1416.4.6 [conforming]User-defined classes that cannot be derived fromYes1
2891(i)NAD16.4.6 [conforming]Relax library requirements onvolatile typesYes
94(i)NAD16.4.6 [conforming]May library implementors add template parameters to Standard Library classes?Yes
2113(i)NAD16.4.6 [conforming]Do library implementers have the freedom to addfinal to non-polymorphic components?Yes
2373(i)NAD16.4.6 [conforming]Make new entities and names in namespacestd conforming extensionsYes3
1178(i)C++1116.4.6.2 [res.on.headers]Header dependenciesYes
4100(i)New16.4.6.4 [global.functions]Default arguments and signatures of standard library non-member functionsYes3
2133(i)C++1716.4.6.4 [global.functions]Attitude to overloaded comma for iteratorsYes3
2795(i)C++1716.4.6.4 [global.functions]§[global.functions] provides incorrect example of ADL useYes
225(i)CD116.4.6.4 [global.functions]std:: algorithms use of other unqualified algorithmsYes
147(i)TC116.4.6.4 [global.functions]Library Intro refers to global functions that aren't globalYes
2930(i)NAD16.4.6.4 [global.functions]Are implementations allowed to split non-member functions into several overloads?Yes
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
2259(i)C++1716.4.6.5 [member.functions]Issues in 17.6.5.5 rules for member functionsYes3
2563(i)NAD16.4.6.5 [member.functions]LWG 2259 relaxes requirements, perhaps unintentionallyYes2
95(i)NAD16.4.6.5 [member.functions]Members added by the implementationYes
2013(i)C++1416.4.6.7 [constexpr.functions]Do library implementers have the freedom to addconstexpr?Yes
2892(i)NAD16.4.6.7 [constexpr.functions]Relax the prohibition on libraries addingconstexprYes1
2044(i)C++1416.4.6.8 [algorithm.stable]No definition of "Stable" for copy algorithmsYes
2414(i)Open16.4.6.9 [reentrancy]Member function reentrancy should be implementation-definedYes3
2382(i)Pending NAD16.4.6.9 [reentrancy]Unclear order of container update versus object destruction on removing an objectYes2
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
1526(i)Resolved16.4.6.10 [res.on.data.races]C++ should not impose thread safety requirements on C99 library implementationsYes3
4252(i)New16.4.6.13 [derivation]Are exposition-only classes considered specified for the purpose offinal?Yes3
2866(i)C++1716.4.6.13 [derivation]Incorrect derived classes constraintsYes
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
119(i)TC116.4.6.14 [res.on.exception.handling]Should virtual functions be allowed to strengthen the exception specification?Yes
2867(i)Resolved16.4.6.14 [res.on.exception.handling]Bad footnote about explicit exception-specificationYes
372(i)NAD16.4.6.14 [res.on.exception.handling]Inconsistent description of stdlib exceptionsYes
2839(i)C++2316.4.6.17 [lib.types.movedfrom]Self-move-assignment of library types, againYes2

Section 17 (176 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
1066(i)C++1117 [support]Use[[noreturn]] attribute in the libraryYes
2709(i)C++1717.2 [support.types]offsetof is unnecessarily impreciseYes2
1097(i)C++1117.2 [support.types]#define __STDCPP_THREADSYes
1363(i)C++1117.2 [support.types]offsetof should be markednoexceptYes
306(i)CD117.2 [support.types]offsetof macro and non-POD typesYes
449(i)CD117.2 [support.types]Library Issue 306 Goes Too FarYes
1314(i)NAD17.2 [support.types]NULL andnullptrYes
2251(i)NAD17.2 [support.types]C++ library should definessize_tYes3
4182(i)New17.2.3 [support.types.nullptr]Definition ofNULL is too broadYes3
2950(i)C++2017.2.5 [support.types.byteops]std::byte operations are misspecifiedYes1
201(i)CD117.3 [support.limits]Numeric limits terminology wrongYes
3217(i)New17.3.1 [support.limits.general]<memory> and<execution> should define__cpp_lib_parallel_algorithmYes3
3137(i)C++2017.3.1 [support.limits.general]Header for__cpp_lib_to_charsYes0
3122(i)C++2017.3.1 [support.limits.general]__cpp_lib_chrono_udls was accidentally droppedYes0
3256(i)C++2017.3.1 [support.limits.general]Feature testing macro forconstexpr algorithmsYes0
3257(i)C++2017.3.1 [support.limits.general]Missing feature testing macro update from P0858Yes0
3274(i)C++2017.3.1 [support.limits.general]Missing feature test macro for<span>Yes0
4286(i)Voting17.3.2 [version.syn]Some more feature-test macros for fully freestanding features are not marked freestandingYes
4440(i)Immediate17.3.2 [version.syn]Forward declarations of entities need also in entriesYes
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
4189(i)WP17.3.2 [version.syn]cache_latest_view should be freestandingYes
4126(i)WP17.3.2 [version.syn]Some feature-test macros for fully freestanding features are not yet marked freestandingYes2
4076(i)WP17.3.2 [version.syn]concat_view should be freestandingYes
3887(i)WP17.3.2 [version.syn]Version macro forallocate_at_leastYes
3841(i)C++2317.3.2 [version.syn]<version> should not be "all freestanding"Yes
3437(i)C++2317.3.2 [version.syn]__cpp_lib_polymorphic_allocator is in the wrong headerYes0
3621(i)C++2317.3.2 [version.syn]Remove feature-test macro__cpp_lib_monadic_optionalYes
3750(i)C++2317.3.2 [version.syn]Too many papers bump__cpp_lib_formatYes
3751(i)C++2317.3.2 [version.syn]Missing feature macro forflat_setYes
3792(i)C++2317.3.2 [version.syn]__cpp_lib_constexpr_algorithms should also be defined in<utility>Yes
3807(i)C++2317.3.2 [version.syn]The feature test macro forranges::find_last should be renamedYes
3348(i)C++2017.3.2 [version.syn]__cpp_lib_unwrap_ref in wrong headerYes2
3349(i)C++2017.3.2 [version.syn]Missing__cpp_lib_constexpr_complex for P0415R1Yes0
3356(i)C++2017.3.2 [version.syn]__cpp_lib_nothrow_convertible should be__cpp_lib_is_nothrow_convertibleYes0
3393(i)C++2017.3.2 [version.syn]Missing/incorrect feature test macro for coroutinesYes0
3635(i)NAD17.3.2 [version.syn]Add__cpp_lib_deduction_guides to feature test macrosYes3
3874(i)NAD17.3.2 [version.syn]Rename__cpp_lib_ranges_to_container to__cpp_lib_ranges_toYes
3808(i)NAD17.3.2 [version.syn]Inconsistent feature test macros for ranges algorithmsYes
2248(i)New17.3.5 [numeric.limits]numeric_limits::is_iec559 misnamedNo4
2730(i)Open17.3.5 [numeric.limits]numeric_limits primary template definitionNo3
559(i)CD117.3.5 [numeric.limits]numeric_limits<const T>Yes
902(i)NAD Concepts17.3.5 [numeric.limits]Regular is the wrong concept to constrain numeric_limitsYes
1005(i)NAD Concepts17.3.5 [numeric.limits]numeric_limits partial specializations not concept enabledYes
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
2422(i)C++1717.3.5.2 [numeric.limits.members]std::numeric_limits<T>::is_modulo description: "most machines" errataYes2
497(i)CD117.3.5.2 [numeric.limits.members]meaning of numeric_limits::traps for floating point typesYes
612(i)CD117.3.5.2 [numeric.limits.members]numeric_limits::is_modulo insufficiently definedYes
591(i)NAD Editorial17.3.5.2 [numeric.limits.members]Misleading "built-inYes
205(i)NAD17.3.5.2 [numeric.limits.members] numeric_limits unclear on how to determine floating point typesYes
184(i)CD117.3.5.3 [numeric.special]numeric_limits<bool> wording problemsYes
613(i)CD117.3.5.3 [numeric.special]max_digits10 missing from numeric_limitsYes
554(i)NAD17.3.5.3 [numeric.special]Problem with lwg DR 184 numeric_limits<bool>Yes
416(i)CD117.3.6 [climits.syn]definitions of XXX_MIN and XXX_MAX macros in climitsYes
3370(i)New17.4.1 [cstdint.syn]§[cstdint.syn]p2 and §[headers]p5 are not sufficiently clearNo3
2820(i)C++2317.4.1 [cstdint.syn]Clarify<cstdint> macrosYes3
3828(i)C++2317.4.1 [cstdint.syn]Syncintmax_t anduintmax_t with C2xYes
593(i)CD117.4.1 [cstdint.syn]__STDC_CONSTANT_MACROSYes
557(i)NAD Editorial17.4.1 [cstdint.syn]TR1: div(_Longlong, _Longlong) vs div(intmax_t, intmax_t)Yes
553(i)NAD Editorial17.4.1 [cstdint.syn]very minor editorial changeintptr_t /uintptr_tYes
841(i)NAD Editorial17.4.1 [cstdint.syn]cstdint.syn inconsistent with C99Yes
2764(i)Dup17.4.1 [cstdint.syn]Are<cstddint> macros optional?Yes3
3084(i)New17.5 [support.start.term]Termination in C++ is unclearNo3
2815(i)New17.5 [support.start.term]quick_exit can deadlockYes3
993(i)C++1117.5 [support.start.term]_Exit needs better specificationYes
1144(i)C++1117.5 [support.start.term]"thread safe" is undefinedYes
3(i)TC117.5 [support.start.term]Atexit registration during atexit() call is not describedYes
2458(i)C++1717.6 [support.dynamic]N3778 and new library deallocation signaturesYes2
2510(i)C++1717.6 [support.dynamic]Tag types should not beDefaultConstructibleYes2
3106(i)NAD17.6.2 [new.syn]nothrow should beinline constexpr rather thatextern constYes2
2425(i)C++1717.6.3 [new.delete]operator delete(void*, size_t) doesn't invalidate pointers sufficientlyYes0
1006(i)C++1117.6.3 [new.delete]operator delete in garbage collected implementationYes
9(i)TC117.6.3 [new.delete]Operator new(0) calls should not yield the same pointerYes
2368(i)Resolved17.6.3 [new.delete]Replacing globaloperator newYes2
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
206(i)CD117.6.3.2 [new.delete.single]operator new(size_t, nothrow) may become unlinked to ordinary operator new if ordinary version replacedYes
319(i)CD117.6.3.2 [new.delete.single]Storage allocation wording confuses "Required behavior", "Requires"Yes
627(i)NAD17.6.3.2 [new.delete.single]Low memory and exceptionsYes
298(i)CD117.6.3.3 [new.delete.array]::operator delete[] requirement incorrect/insufficientYes
3789(i)NAD17.6.3.3 [new.delete.array]Precondition of (not replaced)operator delete[]Yes
2303(i)New17.6.3.4 [new.delete.placement]Explicit instantiation ofstd::vector<UserType> broken?No3
2302(i)Pending NAD17.6.3.4 [new.delete.placement]Passing null pointer to placement newYes2
114(i)TC117.6.3.4 [new.delete.placement]Placement forms example in error twiceYes196
196(i)Dup17.6.3.4 [new.delete.placement]Placement new example has alignment problemsYes114
2508(i)New17.6.3.5 [new.delete.dataraces]§[new.delete.dataraces] wording needs to be updatedNo3
1524(i)C++1117.6.3.5 [new.delete.dataraces]Allocation functions are missinghappens-before requirements and guaranteesYes
1366(i)Resolved17.6.3.5 [new.delete.dataraces]New-handler and data racesYes
1365(i)Resolved17.6.4 [alloc.errors]Thread-safety of handler functionsYes
2378(i)C++1717.6.4.1 [bad.alloc]Behaviour of standard exception typesYes0
994(i)C++1117.6.4.3 [new.handler]quick_exit should terminate well-definedYes
4130(i)Open17.6.5 [ptr.launder]Preconditions forstd::launder might be overly strictYes3
3495(i)C++2317.6.5 [ptr.launder]constexpr launder makes pointers to inactive members of unions usableYes3
2859(i)C++2017.6.5 [ptr.launder]Definition ofreachable in [ptr.launder] misses pointer arithmetic from pointer-interconvertible objectYes2
2821(i)Resolved17.6.5 [ptr.launder]std::launder() should be marked as[[nodiscard]]Yes3
2860(i)NAD17.6.5 [ptr.launder]launder and base class subobjectsYes2
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
108(i)TC117.7.3 [type.info]Lifetime of exception::what() return unspecifiedYes
2144(i)C++1417.7.7 [type.index]Missingnoexcept specification intype_indexYes
1078(i)NAD Concepts17.7.7 [type.index]DE-17: Remove class type_indexYes
4207(i)New17.8.2.2 [support.srcloc.cons]Point of reference forsource_location is not specified when used in an default template argumentYes3
3396(i)C++2017.8.2.2 [support.srcloc.cons]Clarify point of reference forsource_location::current() (DE 169)Yes2
70(i)TC117.9 [support.exception]Uncaught_exception() missing throw() specificationYes
269(i)NAD17.9 [support.exception]cstdarg and unnamed parametersYes
4087(i)SG1617.9.3 [exception]Standard exception messages have unspecified encodingYes3
471(i)C++1117.9.3 [exception]result ofwhat() implementation-definedYes
266(i)CD117.9.4 [bad.exception]bad_exception::~bad_exception() missing Effects clauseYes
2088(i)Resolved17.9.5 [exception.terminate]std::terminate problemYes3
2111(i)C++1717.9.5.4 [terminate]Whichunexpected/terminate handler is called from the exception handling runtime?Yes3
313(i)NAD17.9.5.4 [terminate]set_terminate and set_unexpected questionYes
314(i)NAD17.9.5.4 [terminate]Is the stack unwound when terminate() is called?Yes
1130(i)C++1117.9.7 [propagation]copy_exception name misleadingYes
744(i)CD117.9.7 [propagation]What is the lifetime of an exception pointed to by anexception_ptr?Yes
746(i)CD117.9.7 [propagation]current_exception may fail withbad_allocYes
820(i)CD117.9.7 [propagation]current_exception()'s interaction with throwing copy ctorsYes
829(i)CD117.9.7 [propagation]current_exception wording unclear about exception typeYes
1135(i)Resolved17.9.7 [propagation]exception_ptr should support contextual conversion toboolYes
1307(i)Resolved17.9.7 [propagation]exception_ptr andallocator pointers don't understand !=Yes
1364(i)Resolved17.9.7 [propagation]It is not clear howexception_ptr is synchronizedYes
707(i)NAD17.9.7 [propagation]null pointer constant forexception_ptrYes
745(i)NAD17.9.7 [propagation]copy_exception API slices.Yes
1369(i)NAD17.9.7 [propagation]rethrow_exception may introduce data racesYes
2855(i)C++1717.9.8 [except.nested]std::throw_with_nested("string_literal")Yes0
2483(i)C++1717.9.8 [except.nested]throw_with_nested() should useis_finalYes2
2484(i)C++1717.9.8 [except.nested]rethrow_if_nested() is doubly unimplementableYes2
2784(i)C++1717.9.8 [except.nested]Resolution to LWG 2484 is missing "otherwise, no effects" and is hard to parseYes0
819(i)C++1117.9.8 [except.nested]rethrow_if_nestedYes
1136(i)C++1117.9.8 [except.nested]Incomplete specification ofnested_exception::rethrow_nested()Yes
1216(i)C++1117.9.8 [except.nested]LWG 1066 Incomplete?Yes
1370(i)C++1117.9.8 [except.nested]throw_with_nested should not use perfect forwardingYes
1008(i)NAD17.9.8 [except.nested]nested_exception wording unclearYes
1132(i)NAD17.9.8 [except.nested]JP-30: nested exceptionsYes
1007(i)NAD Concepts17.9.8 [except.nested]throw_with_nested not concept enabledYes
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
2432(i)NAD17.11 [support.initlist]initializer_list assignabilityYes2
906(i)NAD Concepts17.11 [support.initlist]ObjectType is the wrong concept to constraininitializer_listYes
4051(i)New17.12.2 [cmp.categories]A less hacky and more useful way to compare comparison category typesYes3
3295(i)Resolved17.12.2 [cmp.categories]Comparison categoryoperator== are mis-specifiedYes1
3239(i)Resolved17.12.2.2 [cmp.partialord]Hidden friends should be specified more narrowlyYes
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
3360(i)C++2017.12.4 [cmp.concept]three_way_comparable_with is inconsistent with similar conceptsYes0
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
4157(i)WP17.12.6 [cmp.alg]The resolution of LWG3465 was damaged by P2167R3Yes
3465(i)C++2317.12.6 [cmp.alg]compare_partial_order_fallback requiresF < EYes0
3324(i)C++2017.12.6 [cmp.alg]Special-casestd::strong/weak/partial_order for pointersYes0
4305(i)Voting17.12.7 [compare.type]Missing user requirements ontype_order templateYes
3653(i)New17.13.2 [coroutine.syn]<coroutine> is freestanding, but usesstd::hash which is notNo3
3330(i)C++2017.13.2 [coroutine.syn]Include<compare> from most library headersYes0
3469(i)Resolved17.13.4.7 [coroutine.handle.promise]Precondition ofcoroutine_handle::promise may be insufficientYes2
3460(i)C++2317.13.5.2.4 [coroutine.handle.noop.resumption]Unimplementablenoop_coroutine_handle guaranteesYes2
2099(i)C++1417.14 [support.runtime]Unnecessary constraints ofva_start() usageYes
894(i)C++1117.14 [support.runtime]longjmp and destructorsYes
619(i)CD117.14 [support.runtime]Longjmp wording problemYes
2155(i)Resolved17.14 [support.runtime]Macro__bool_true_false_are_defined should be removedYes4
2241(i)Resolved17.14 [support.runtime]<cstdalign> and#define ofalignofYes2
1265(i)NAD17.14 [support.runtime]longjmp and destructorsYes
4388(i)Immediate17.14.2 [cstdarg.syn]Align new definition ofva_start with C23Yes1
3945(i)New17.14.2 [cstdarg.syn]§[cstdarg.syn] 'Compatible types' are undefinedNo3
3652(i)NAD17.14.3 [csetjmp.syn]Can we relax the preconditions oflongjmp?Yes
2879(i)Resolved17.14.4 [csignal.syn]Removing C dependencies from signal handler wordingYes
3756(i)C++2317.14.5 [support.signal]Is thestd::atomic_flag class signal-safe?Yes3
2536(i)C++1717.15 [support.c.headers]What should<complex.h> do?Yes2
2835(i)C++1717.15 [support.c.headers]LWG 2536 seems to misspecify<tgmath.h>Yes0
551(i)CD117.15 [support.c.headers]<ccomplex>Yes
143(i)NAD17.15 [support.c.headers]C .h header wording unclearYes
3954(i)New17.15.1 [support.c.headers.general]Feature-test macros in C headers (<stddef.h> etc.)No3
3827(i)C++2317.15.4 [stdalign.h.syn]Deprecate<stdalign.h> and<stdbool.h> macrosYes
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
3782(i)C++2317.15.7 [support.c.headers.other]Should<math.h> declare::lerp?Yes

Section 18 (20 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3895(i)New18.3 [concepts.syn]Various relation concepts are missing default values of the second template parametersYes3
3182(i)C++2018.4.2 [concept.same]Specification ofSame could be clearerYes0
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
3461(i)C++2318.4.4 [concept.convertible]convertible_to's description mishandlescv-qualifiedvoidYes0
3557(i)C++2318.4.4 [concept.convertible]Thestatic_cast expression inconvertible_to has the wrong operandYes
3194(i)C++2018.4.4 [concept.convertible]ConvertibleTo prose does not match codeYes1
3151(i)Resolved18.4.4 [concept.convertible]ConvertibleTo rejects conversions from array and function typesYes3
3153(i)C++2018.4.6 [concept.common]Common andcommon_type have too little in commonYes0
3154(i)C++2018.4.6 [concept.common]Common andCommonReference have a common defectYes0
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
3175(i)C++2018.4.9 [concept.swappable]TheCommonReference requirement of conceptSwappableWith is not satisfied in the exampleYes1
3345(i)Resolved18.4.9 [concept.swappable]Incorrect usages of "models" versus "satisfies"Yes2
3149(i)C++2018.4.12 [concept.default.init]DefaultConstructible should require default initializationYes2
3338(i)C++2018.4.12 [concept.default.init]Renamedefault_constructible todefault_initializableYes0
3421(i)C++2318.5.2 [concept.booleantestable]Imperfect ADL emulation forboolean-testableYes0
3329(i)C++2018.5.5 [concept.totallyordered]totally_ordered_with both directly and indirectly requirescommon_reference_withYes0
3331(i)C++2018.5.5 [concept.totallyordered]Definetotally_ordered/_with in terms ofpartially-ordered-withYes0
3141(i)C++2018.6 [concepts.object]CopyConstructible doesn't preserve source valuesYes2

Section 19 (38 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
1371(i)NAD19 [diagnostics]Standard exceptions require stronger no-throw guaranteesYes
254(i)CD119.2 [std.exceptions]Exception types in clause 19 are constructed fromstd::stringYes
2073(i)NAD19.2 [std.exceptions]Library exceptions that take string argumentsYes
3011(i)Open19.3 [assertions]Requirements forassert(E) inconsistent with CNo2
2234(i)C++1719.3 [assertions]assert() should allow usage in constant expressionsYes2
2559(i)C++1719.3 [assertions]Error in LWG 2234's resolutionYes0
2413(i)NAD19.3 [assertions]assert macro is overconstrainedYes4
4454(i)New19.3.3 [assertions.assert]assert should forbidco_await andco_yieldNo1
288(i)CD119.4 [errno]<cerrno> requirements missing macro EILSEQYes
3629(i)C++2319.5 [syserr]make_error_code andmake_error_condition are customization pointsYes2
1237(i)C++1119.5 [syserr]Constrainederror_code/error_condition membersYes
804(i)CD119.5 [syserr]Some problems with classeserror_code/error_conditionYes
805(i)CD119.5 [syserr]posix_error::posix_errno concernsYes
697(i)Resolved19.5 [syserr]New<system_error> header leads to name clashesYes
832(i)NAD19.5 [syserr]Applying constexpr to System error supportYes
3869(i)C++2319.5.2 [system.error.syn]Deprecatestd::errc constants related to UNIX STREAMSYes
2686(i)C++1719.5.2 [system.error.syn]Why isstd::hash specialized forerror_code, but noterror_condition?Yes3
2145(i)C++1419.5.3 [syserr.errcat]error_category default constructorYes
890(i)C++1119.5.3 [syserr.errcat]Improving<system_error> initializationYes
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
3598(i)C++2319.5.3.5 [syserr.errcat.objects]system_category().default_error_condition(0) is underspecifiedYes
1372(i)C++1119.5.3.5 [syserr.errcat.objects]Adopt recommended practice for standard error categoriesYes
2992(i)NAD19.5.3.5 [syserr.errcat.objects]system_category() anderror_code::error_code() should beconstexprYes
3053(i)New19.5.4.1 [syserr.errcode.overview]Prohibiterror_code construction from rvalues oferror_categoryYes3
825(i)Resolved19.5.4.1 [syserr.errcode.overview]Missing rvalues reference stream insert/extract operators?Yes
1229(i)Resolved19.5.4.3 [syserr.errcode.modifiers]error_code operator= typoYes
971(i)NAD19.5.4.5 [syserr.errcode.nonmembers]Spurious diagnostic conversion functionYes
2109(i)C++1419.5.7 [syserr.hash]Incorrect requirements forhash specializationsYes
698(i)CD119.5.8.1 [syserr.syserr.overview]system_error needsconst char* constructorsYes
3162(i)New19.5.8.2 [syserr.syserr.members]system_error::system_error(error_code ec) not explicitYes3
3112(i)C++2019.5.8.2 [syserr.syserr.members]system_error andfilesystem_error constructors taking astring may not be ableto meet their postconditionsYes0
1103(i)C++1119.5.8.2 [syserr.syserr.members]system_error constructor postcondition overly strictYes
3625(i)Open19.6.2 [stacktrace.syn]Should<stacktrace> provide range access function templates?Yes3
3515(i)C++2319.6.2 [stacktrace.syn]§[stacktrace.basic.nonmem]:operator<< should be less templatizedYes2
3514(i)Resolved19.6.2 [stacktrace.syn]stacktrace should add type aliaspmr::stacktraceYes3
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 (219 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
1073(i)C++1120.2 [memory]Declaration ofallocator_arg should beconstexprYes
1401(i)C++1120.2 [memory]Provide support forunique_ptr<T> == nullptrYes
1402(i)C++1120.2 [memory]nullptr constructors for smart pointers should beconstexprYes
1233(i)NAD Editorial20.2 [memory]Missingunique_ptr signatures in synopsisYes
1026(i)NAD Concepts20.2 [memory]Smart pointers need to be concept-constrained templatesYes
4431(i)New20.2.2 [memory.syn]Parallelstd::ranges::destroy should allow exceptionsYes
3552(i)C++2320.2.2 [memory.syn]Parallel specialized memory algorithms should require forward iteratorsYes
3814(i)C++2320.2.2 [memory.syn]Add freestanding items requested by NB commentsYes
3303(i)C++2020.2.2 [memory.syn]Bad "constexpr" marker fordestroy/destroy_nYes0
3454(i)Immediate20.2.3 [pointer.traits]pointer_traits::pointer_to should beconstexprYes4
3545(i)C++2320.2.3 [pointer.traits]std::pointer_traits should be SFINAE-friendlyYes2
1404(i)C++1120.2.3 [pointer.traits]pointer_traits should have asize_type memberYes
4058(i)LEWG20.2.4 [pointer.conversion]std::to_address() should be SFINAE-friendlyYes3
3374(i)C++2020.2.4 [pointer.conversion]P0653 + P1006 should have made the otherstd::to_address overloadconstexprYes0
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
2377(i)C++1720.2.5 [ptr.align]std::align requirements overly strictYes0
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
1403(i)C++1120.2.7 [allocator.tag]Inconsistent definitions forallocator_argYes
3901(i)NAD20.2.8 [allocator.uses]Is uses-allocator construction of acv-qualified object type still well-formed after LWG 3870?Yes
4312(i)Voting20.2.8.2 [allocator.uses.construction]Const and value category mismatch forallocator_arg_t/allocator_arg in the description of uses-allocator constructionYes
3192(i)New20.2.8.2 [allocator.uses.construction]§[allocator.uses.construction] functions misbehave forconst typesYes3
3525(i)C++2320.2.8.2 [allocator.uses.construction]uses_allocator_construction_args fails to handle types convertible topairYes3
3526(i)C++2320.2.8.2 [allocator.uses.construction]Return types ofuses_allocator_construction_args unspecifiedYes3
3527(i)C++2320.2.8.2 [allocator.uses.construction]uses_allocator_construction_args handles rvalue pairs of rvalue references incorrectlyYes
3677(i)C++2320.2.8.2 [allocator.uses.construction]Is acv-qualifiedpair specially handled in uses-allocator construction?Yes2
3821(i)C++2320.2.8.2 [allocator.uses.construction]uses_allocator_construction_args should have overload forpair-likeYes2
3185(i)C++2020.2.8.2 [allocator.uses.construction]Uses-allocator construction functions missingconstexpr andnoexceptYes0
3187(i)C++2020.2.8.2 [allocator.uses.construction]P0591R4 reverted DR 2586 fixes toscoped_allocator_adaptor::construct()Yes
3321(i)C++2020.2.8.2 [allocator.uses.construction]uninitialized_construct_using_allocator should useconstruct_atYes0
2284(i)C++1420.2.9 [allocator.traits]Inconsistency inallocator_traits::max_sizeYes
3665(i)New20.2.9.2 [allocator.traits.types]Isstd::allocator_traits<Alloc>::rebind_alloc SFINAE-friendly?No3
1318(i)NAD20.2.9.2 [allocator.traits.types]N2982 removes previous allocator capabilitiesYes1375
1285(i)C++1120.2.9.3 [allocator.traits.members]allocator_traits call tonewYes
1286(i)C++1120.2.9.3 [allocator.traits.members]allocator_traits::select_on_container_copy_construction type-oYes
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
3170(i)C++2320.2.10 [default.allocator]is_always_equal added tostd::allocator makes the standard library treat derived types as always equalYes2
3035(i)C++2020.2.10 [default.allocator]std::allocator's constructors should beconstexprYes0
3307(i)C++2020.2.10 [default.allocator]std::allocator<void>().allocate(n)Yes0
2103(i)C++1420.2.10 [default.allocator]std::allocator_traits<std::allocator<T>>::propagate_on_container_move_assignmentYes
1027(i)NAD Concepts20.2.10 [default.allocator]std::allocator needs to be a concept-constrained templateYes
3684(i)New20.2.10.2 [allocator.members]std::allocator<T>::allocate_at_least in constant evaluationYes3
3190(i)C++2020.2.10.2 [allocator.members]std::allocator::allocate sometimes returns too little storageYes3
234(i)CD120.2.10.2 [allocator.members]Typos in allocator definitionYes
400(i)CD120.2.10.2 [allocator.members]redundant type cast in lib.allocator.membersYes
578(i)CD120.2.10.2 [allocator.members]purpose of hint to allocator::allocate()Yes
634(i)CD120.2.10.2 [allocator.members]allocator.address() doesn't work for types overloadingoperator&Yes350
2089(i)Resolved20.2.10.2 [allocator.members]std::allocator::construct should use uniform initializationYes2
350(i)Dup20.2.10.2 [allocator.members]allocator<>::addressYes634
2296(i)C++1720.2.11 [specialized.addressof]std::addressof should beconstexprYes3
2598(i)C++1720.2.11 [specialized.addressof]addressof works on temporariesYes3
970(i)C++1120.2.11 [specialized.addressof]addressof overload unneededYes
2948(i)C++2020.3.1 [unique.ptr]unique_ptr does not defineoperator<< for stream outputYes0
673(i)CD120.3.1 [unique.ptr]unique_ptr updateYes
740(i)CD120.3.1 [unique.ptr]Please remove*_ptr<T[N]>Yes
762(i)CD120.3.1 [unique.ptr]std::unique_ptr requires complete type?Yes
1193(i)C++1120.3.1.2 [unique.ptr.dltr]default_delete cannot be instantiated with incomplete typesYes
854(i)C++1120.3.1.2.2 [unique.ptr.dltr.dflt]default_delete converting constructor underspecifiedYes
1517(i)C++1120.3.1.2.2 [unique.ptr.dltr.dflt]default_delete's default constructor should be trivialYes
938(i)C++1120.3.1.2.3 [unique.ptr.dltr.dflt1]default_delete<T[]>::operator() should only acceptT*Yes
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
2361(i)C++1720.3.1.3 [unique.ptr.single]Apply 2299 resolution throughout libraryYes
1303(i)C++1120.3.1.3 [unique.ptr.single]shared_ptr,unique_ptr, and rvalue references v2Yes
834(i)Resolved20.3.1.3 [unique.ptr.single]unique_ptr::pointer requirements underspecifiedYes
983(i)Resolved20.3.1.3 [unique.ptr.single]unique_ptr reference deleters should not be moved fromYes
4144(i)WP20.3.1.3.1 [unique.ptr.single.general]Disallowunique_ptr<T&, D>Yes
3588(i)NAD20.3.1.3.1 [unique.ptr.single.general]Strike out purposeless UB involving the deleter in members functions ofunique_ptrYes
3632(i)C++2320.3.1.3.2 [unique.ptr.single.ctor]unique_ptr "Mandates: This constructor is not selected by class template argument deduction"Yes
2944(i)C++2020.3.1.3.2 [unique.ptr.single.ctor]LWG 2905 accidentally removed requirement that construction of the deleter doesn't throw an exceptionYes0
2801(i)C++1720.3.1.3.2 [unique.ptr.single.ctor]Default-constructibility ofunique_ptrYes2
2905(i)C++1720.3.1.3.2 [unique.ptr.single.ctor]is_constructible_v<unique_ptr<P, D>, P, D const &> should be false whenD is not copy constructibleYes
932(i)Resolved20.3.1.3.2 [unique.ptr.single.ctor]unique_ptr(pointer p) for pointer deleter typesYes
950(i)Resolved20.3.1.3.2 [unique.ptr.single.ctor]unique_ptr converting ctor shouldn't accept array formYes
1100(i)Resolved20.3.1.3.2 [unique.ptr.single.ctor]auto_ptr tounique_ptr conversionYes
3164(i)NAD20.3.1.3.2 [unique.ptr.single.ctor]Unhelpful "shall not participate" constraints forunique_ptr with reference deleterYes
3455(i)C++2320.3.1.3.4 [unique.ptr.single.asgn]IncorrectPostconditions onunique_ptr move assignmentYes0
2047(i)C++1420.3.1.3.4 [unique.ptr.single.asgn]Incorrect "mixed" move-assignment semantics ofunique_ptrYes
2246(i)C++1420.3.1.3.4 [unique.ptr.single.asgn]unique_ptr assignment effects w.r.t. deleterYes
1021(i)C++1120.3.1.3.4 [unique.ptr.single.asgn]Allownullptr_t assignments tounique_ptrYes
2228(i)Resolved20.3.1.3.4 [unique.ptr.single.asgn]MissingSFINAE rule inunique_ptr templated assignmentYes3
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
4148(i)WP20.3.1.3.5 [unique.ptr.single.observers]unique_ptr::operator* should not allow dangling referencesYes
2762(i)C++2320.3.1.3.5 [unique.ptr.single.observers]unique_ptr operator*() should benoexceptYes3
686(i)NAD20.3.1.3.5 [unique.ptr.single.observers]unique_ptr andshared_ptr fail to specify non-convertibility to int for unspecified-bool-typeYes
998(i)C++1120.3.1.3.6 [unique.ptr.single.modifiers]Smart pointer referencing its ownerYes
806(i)CD120.3.1.3.6 [unique.ptr.single.modifiers]unique_ptr::reset effects incorrect, too permissiveYes
933(i)NAD20.3.1.3.6 [unique.ptr.single.modifiers]Unique_ptr defectYes
2118(i)Resolved20.3.1.4 [unique.ptr.runtime][CD]unique_ptr for array does not supportcv qualification conversion of actual argumentYes1
1293(i)Resolved20.3.1.4 [unique.ptr.runtime]unique_ptr<T[], D> needs to get rid ofunspecified-pointer-typeYes
2060(i)NAD Editorial20.3.1.4 [unique.ptr.runtime]unique_ptr<T[]>(nullptr_t) missingnoexceptYes
2520(i)C++1720.3.1.4.2 [unique.ptr.runtime.ctor]N4089 broke initializingunique_ptr<T[]> from anullptrYes2
2169(i)C++1420.3.1.4.5 [unique.ptr.runtime.modifiers]Missingreset() requirements inunique_ptr specializationYes
821(i)C++1120.3.1.4.5 [unique.ptr.runtime.modifiers]Minor cleanup :unique_ptrYes
3426(i)C++2320.3.1.6 [unique.ptr.special]operator<=>(const unique_ptr<T, D>&, nullptr_t) can't get no satisfactionYes0
1297(i)Resolved20.3.1.6 [unique.ptr.special]unique_ptr's relational operator functions should induce a total orderYes
2376(i)C++1720.3.2.1 [util.smartptr.weak.bad]bad_weak_ptr::what() overspecifiedYes
2594(i)New20.3.2.2 [util.smartptr.shared]Contradicting definition of emptyshared_ptr onshared_ptr(nullptr, d)Yes3
2996(i)C++2020.3.2.2 [util.smartptr.shared]Missing rvalue overloads forshared_ptr operationsYes
3018(i)C++2020.3.2.2 [util.smartptr.shared]shared_ptr of function typeYes3
2873(i)C++1720.3.2.2 [util.smartptr.shared]Addnoexcept to severalshared_ptr related functionsYes
2365(i)C++1720.3.2.2 [util.smartptr.shared]Missingnoexcept inshared_ptr::shared_ptr(nullptr_t)Yes
2411(i)C++1720.3.2.2 [util.smartptr.shared]shared_ptr is only contextually convertible toboolYes0
758(i)C++1120.3.2.2 [util.smartptr.shared]shared_ptr andnullptrYes
896(i)C++1120.3.2.2 [util.smartptr.shared]Library thread safety issueYes
541(i)CD120.3.2.2 [util.smartptr.shared]shared_ptr template assignment and voidYes
674(i)CD120.3.2.2 [util.smartptr.shared]shared_ptr interface changes for consistency with N1856Yes
710(i)CD120.3.2.2 [util.smartptr.shared]Missing postconditionsYes
813(i)CD120.3.2.2 [util.smartptr.shared]"empty" undefined forshared_ptrYes
2810(i)Resolved20.3.2.2 [util.smartptr.shared]use_count andunique inshared_ptrYes
2864(i)Resolved20.3.2.2 [util.smartptr.shared]Mergeshared_ptr changes from Library Fundamentals to C++17Yes
1406(i)NAD20.3.2.2 [util.smartptr.shared]Support hashing smart-pointers based onownerYes
1031(i)NAD20.3.2.2 [util.smartptr.shared]Needshared_ptr conversion to aunique_ptrYes
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
3548(i)C++2320.3.2.2.2 [util.smartptr.shared.const]shared_ptr construction fromunique_ptr should move (not copy) the deleterYes
3233(i)C++2020.3.2.2.2 [util.smartptr.shared.const]Broken requirements forshared_ptr converting constructorsYes0
2802(i)C++1720.3.2.2.2 [util.smartptr.shared.const]shared_ptr constructor requirements for a deleterYes2
2874(i)C++1720.3.2.2.2 [util.smartptr.shared.const]Constructorshared_ptr::shared_ptr(Y*) should be constrainedYes
2875(i)C++1720.3.2.2.2 [util.smartptr.shared.const]shared_ptr::shared_ptr(Y*, D, […]) constructors should be constrainedYes
2876(i)C++1720.3.2.2.2 [util.smartptr.shared.const]shared_ptr::shared_ptr(const weak_ptr<Y>&) constructor should be constrainedYes
2399(i)C++1720.3.2.2.2 [util.smartptr.shared.const]shared_ptr's constructor fromunique_ptr should be constrainedYes0
2415(i)C++1720.3.2.2.2 [util.smartptr.shared.const]Inconsistency betweenunique_ptr andshared_ptrYes2
2495(i)C++1720.3.2.2.2 [util.smartptr.shared.const]There is no such thing as anException Safety elementYes0
2685(i)C++1720.3.2.2.2 [util.smartptr.shared.const]shared_ptr deleters must not not throw on move constructionYes0
881(i)C++1120.3.2.2.2 [util.smartptr.shared.const]shared_ptr conversion issueYes
925(i)C++1120.3.2.2.2 [util.smartptr.shared.const]shared_ptr's explicit conversion fromunique_ptrYes
687(i)CD120.3.2.2.2 [util.smartptr.shared.const]shared_ptr conversion constructor not constrainedYes
827(i)Resolved20.3.2.2.2 [util.smartptr.shared.const]constexpr shared_ptr::shared_ptr()?Yes
1407(i)Resolved20.3.2.2.2 [util.smartptr.shared.const]Synchshared_ptr constructors taking movable typesYes
2751(i)New20.3.2.2.3 [util.smartptr.shared.dest]shared_ptr deleter not specified to observe expiredweak_ptr instancesNo4
899(i)C++1120.3.2.2.3 [util.smartptr.shared.dest]Adjustingshared_ptr fornullptr_tYes
575(i)CD120.3.2.2.3 [util.smartptr.shared.dest]the specification of ~shared_ptr is MT-unfriendly, makes implementation assumptionsYes
2907(i)NAD20.3.2.2.3 [util.smartptr.shared.dest]Semantics for destroying the deleter and the control-block of ashared_ptr are unclearYes
884(i)Resolved20.3.2.2.5 [util.smartptr.shared.mod]shared_ptr swapYes
2434(i)C++1720.3.2.2.6 [util.smartptr.shared.obs]shared_ptr::use_count() is efficientYes0
2572(i)C++1720.3.2.2.6 [util.smartptr.shared.obs]The remarks forshared_ptr::operator* should apply tocv-qualifiedvoid as wellYes0
711(i)C++1120.3.2.2.6 [util.smartptr.shared.obs]Contradiction in emptyshared_ptrYes
540(i)CD120.3.2.2.6 [util.smartptr.shared.obs]shared_ptr<void>::operator*()Yes
542(i)CD120.3.2.2.6 [util.smartptr.shared.obs]shared_ptr observersYes
2776(i)Resolved20.3.2.2.6 [util.smartptr.shared.obs]shared_ptr unique() anduse_count()Yes2
2337(i)NAD20.3.2.2.6 [util.smartptr.shared.obs]shared_ptr operator*() should not benoexceptYes2
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
3216(i)WP20.3.2.2.7 [util.smartptr.shared.create]Rebinding the allocator before callingconstruct/destroy inallocate_sharedYes3
4024(i)WP20.3.2.2.7 [util.smartptr.shared.create]Underspecified destruction of objects created instd::make_shared_for_overwrite/std::allocate_shared_for_overwriteYes2
3005(i)C++2020.3.2.2.7 [util.smartptr.shared.create]Destruction order of arrays bymake_shared/allocate_shared only recommended?Yes0
3007(i)C++2020.3.2.2.7 [util.smartptr.shared.create]allocate_shared should rebind allocator tocv-unqualifiedvalue_type for constructionYes0
3008(i)C++2020.3.2.2.7 [util.smartptr.shared.create]make_shared (sub)object destruction semantics are not specifiedYes2
2696(i)C++1720.3.2.2.7 [util.smartptr.shared.create]Interaction betweenmake_shared andenable_shared_from_this is underspecifiedYes2
2070(i)Resolved20.3.2.2.7 [util.smartptr.shared.create]allocate_shared should useallocator_traits<A>::constructYes2
3427(i)C++2320.3.2.2.8 [util.smartptr.shared.cmp]operator<=>(const shared_ptr<T>&, nullptr_t) definition ill-formedYes0
2908(i)C++1720.3.2.2.8 [util.smartptr.shared.cmp]The less-than operator for shared pointers could do moreYes
1262(i)C++1120.3.2.2.8 [util.smartptr.shared.cmp]std::less<std::shared_ptr<T>> is underspecifiedYes
743(i)CD120.3.2.2.9 [util.smartptr.shared.spec]rvalueswap forshared_ptrYes
2964(i)C++2020.3.2.2.10 [util.smartptr.shared.cast]Apparently redundant requirement fordynamic_pointer_castYes0
2877(i)Resolved20.3.2.2.10 [util.smartptr.shared.cast]Strengthen meaning of "emptyshared_ptr<T>" indynamic_pointer_castYes
2400(i)C++1720.3.2.2.11 [util.smartptr.getdeleter]shared_ptr'sget_deleter() should useaddressof()Yes0
533(i)CD120.3.2.2.11 [util.smartptr.getdeleter]typo in 2.2.3.10/1Yes
545(i)CD120.3.2.2.11 [util.smartptr.getdeleter]When is a deleter deleted?Yes
741(i)NAD20.3.2.2.11 [util.smartptr.getdeleter]Const-incorrectget_deleter function forshared_ptrYes
3001(i)C++2020.3.2.3 [util.smartptr.weak]weak_ptr::element_type needsremove_extent_tYes0
2083(i)C++1420.3.2.3 [util.smartptr.weak]const-qualification onweak_ptr::owner_beforeYes
2315(i)C++1420.3.2.3 [util.smartptr.weak]weak_ptr should be movableYes2
1256(i)C++1120.3.2.3 [util.smartptr.weak]weak_ptr comparison functions should be removedYes
3195(i)C++2320.3.2.3.2 [util.smartptr.weak.const]What is the stored pointer value of an emptyweak_ptr?Yes2
2942(i)C++2020.3.2.3.6 [util.smartptr.weak.obs]LWG 2873's resolution missedweak_ptr::owner_beforeYes
2316(i)C++1420.3.2.3.6 [util.smartptr.weak.obs]weak_ptr::lock() should be atomicYes0
1231(i)C++1120.3.2.3.6 [util.smartptr.weak.obs]weak_ptr comparisons incompletely resolvedYes
949(i)C++1120.3.2.4 [util.smartptr.ownerless]owner_lessYes
2529(i)Resolved20.3.2.7 [util.smartptr.enab]Assigning toenable_shared_from_this::__weak_this twiceYes3
2179(i)Resolved20.3.2.7 [util.smartptr.enab]enable_shared_from_this and construction from raw pointersYes3
3734(i)C++2320.3.4.1 [out.ptr.t]Inconsistency ininout_ptr andout_ptr for empty caseYes2
3897(i)WP20.3.4.3 [inout.ptr.t]inout_ptr will not update raw pointer to 0Yes2
3594(i)C++2320.3.4.3 [inout.ptr.t]inout_ptr — inconsistentrelease() in destructorYes1
4322(i)New20.4 [mem.composite.types]ProblematicConstraints on incomplete types in indirect and polymorphicYes2
4251(i)Immediate20.4.1.5 [indirect.assign]Move assignment forindirect unnecessarily requires copy constructionYes1
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
3471(i)C++2320.5 [mem.res]polymorphic_allocator::allocate does not satisfyCpp17Allocator requirementsYes3
2700(i)NAD20.5 [mem.res]resource_adaptor went missingYes1
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
2724(i)C++1720.5.2 [mem.res.class]The protected virtual member functions ofmemory_resource should be privateYes4
2843(i)C++2020.5.2.3 [mem.res.private]Unclear behavior ofstd::pmr::memory_resource::do_allocate()Yes3
2701(i)NAD Editorial20.5.2.3 [mem.res.private]Unclear requirement in [memory.resource.private]Yes3
3036(i)C++2320.5.3 [mem.poly.allocator.class]polymorphic_allocator::destroy is extraneousYes3
3683(i)C++2320.5.3 [mem.poly.allocator.class]operator== forpolymorphic_allocator cannot deduce template argument in common casesYes
3037(i)C++2020.5.3 [mem.poly.allocator.class]polymorphic_allocator and incomplete typesYes2
3304(i)C++2020.5.3 [mem.poly.allocator.class]Allocate functions ofstd::polymorphic_allocator should require[[nodiscard]]Yes3
3312(i)Dup20.5.3 [mem.poly.allocator.class]polymorphic_allocator::allocate_object andnew_object should be[[nodiscard]]Yes
4311(i)New20.5.3.3 [mem.poly.allocator.mem]Canstd::pmr::polymorphic_allocator::construct just callstd::uninitialized_construct_using_allocator?Yes3
2969(i)C++2020.5.3.3 [mem.poly.allocator.mem]polymorphic_allocator::construct() shouldn't passresource()Yes2
2975(i)C++2020.5.3.3 [mem.poly.allocator.mem]Missing case forpair construction in scoped and polymorphic allocatorsYes3
3038(i)C++2020.5.3.3 [mem.poly.allocator.mem]polymorphic_allocator::allocate should not allow integer overflow to create vulnerabilitiesYes2
3237(i)C++2020.5.3.3 [mem.poly.allocator.mem]LWG 3038 and 3190 have inconsistent PRsYes2
3310(i)C++2020.5.3.3 [mem.poly.allocator.mem]ReplaceSIZE_MAX withnumeric_limits<size_t>::max()Yes0
3113(i)Resolved20.5.3.3 [mem.poly.allocator.mem]polymorphic_allocator::construct() should more closely matchscoped_allocator_adaptor::construct()Yes3
3634(i)New20.5.4 [mem.res.global]When are static-durationmemory_resource objects destroyed?No3
2961(i)C++2020.5.4 [mem.res.global]Bad postcondition forset_default_resourceYes
2848(i)New20.5.5.2 [mem.res.pool.options]Pass-through threshold for pool allocatorNo3
3143(i)C++2320.5.6 [mem.res.monotonic.buffer]monotonic_buffer_resource growth policy is unclearYes2
3120(i)C++2320.5.6.3 [mem.res.monotonic.buffer.mem]Unclear behavior ofmonotonic_buffer_resource::release()Yes2
3000(i)C++2020.5.6.3 [mem.res.monotonic.buffer.mem]monotonic_memory_resource::do_is_equal usesdynamic_cast unnecessarilyYes0
1316(i)C++1120.6 [allocator.adaptor]scoped_allocator_adaptor operator== has no definitionYes
1405(i)Resolved20.6 [allocator.adaptor]Movescoped_allocator_adaptor into separate headerYes
2476(i)C++1720.6.1 [allocator.adaptor.syn]scoped_allocator_adaptor is not assignableYes0
2782(i)C++1720.6.3 [allocator.adaptor.cnstr]scoped_allocator_adaptor constructors must be constrainedYes0
3116(i)C++2020.6.4 [allocator.adaptor.members]OUTERMOST_ALLOC_TRAITS needsremove_reference_tYes0
2586(i)C++1720.6.4 [allocator.adaptor.members]Wrong value category used inscoped_allocator_adaptor::construct()Yes0
2203(i)C++1420.6.4 [allocator.adaptor.members]scoped_allocator_adaptor uses wrong argument types for piecewise constructionYes
2511(i)Resolved20.6.4 [allocator.adaptor.members]scoped_allocator_adaptor piecewise construction does not requireCopyConstructibleYes3
1321(i)Resolved20.6.4 [allocator.adaptor.members]scoped_allocator_adaptor construct anddestroy don'tuseallocator_traitsYes
2717(i)NAD20.6.4 [allocator.adaptor.members]scoped_allocator_adaptor usesforward to domove's jobYes

Section 21 (128 issues)

(view only non-Ready open 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
2582(i)C++1721 [meta]§[res.on.functions]/2's prohibition against incomplete types shouldn't apply to type traitsYes0
1114(i)C++1121 [meta]Type traits underspecifiedYes
2040(i)Resolved21 [meta]Missing type traits related tois_convertibleYes
719(i)Resolved21 [meta]std::is_literal type traits should be providedYes750
1390(i)Resolved21 [meta]Limit speculative compilation for constructible/convertible traitsYes
1391(i)Resolved21 [meta]constructible/convertible traits and access controlYes
590(i)NAD Editorial21 [meta]Type traits implementation latitude should be removed for C++0xYes
3930(i)NAD21 [meta]Simplify type trait wordingYes
1120(i)NAD21 [meta]New type trait -remove_allYes
1018(i)NAD Concepts21 [meta]Trait specifications should be expressed in terms of conceptsYes
2314(i)C++1421.2.1 [intseq.general]apply() should returndecltype(auto) and usedecay_t beforetuple_sizeYes0
2345(i)NAD21.2.2 [intseq.intseq]integer_sequence should have a self-typedef::typeYes2
2845(i)New21.3.2 [meta.rqmts]enable_if,result_of,common_type andaligned_storage do not meet the definition ofTransformationTraitNo3
2514(i)C++1721.3.2 [meta.rqmts]Type traits must not befinalYes3
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
2581(i)C++1721.3.3 [meta.type.synop]Specialization of<type_traits> variable templates should be prohibitedYes0
2922(i)Resolved21.3.3 [meta.type.synop]The*_constant<> templates do not make use oftemplate<auto>Yes
2928(i)Resolved21.3.3 [meta.type.synop]is_callable is not a good nameYes
2797(i)Resolved21.3.3 [meta.type.synop]Trait precondition violationsYes2
2927(i)Resolved21.3.3 [meta.type.synop]Encoding a functor and argument types as a function signature foris_callable andresult_of is fragileYes
2871(i)NAD21.3.3 [meta.type.synop]User specializations of type traits should be ill-formedYes
2910(i)Dup21.3.3 [meta.type.synop]Template deduction andintegral_constantYes
2346(i)C++1421.3.4 [meta.help]integral_constant's member functions should be markednoexceptYes0
1019(i)C++1121.3.4 [meta.help]Makeintegral_constant objects useable in integral-constant-expressionsYes
1202(i)NAD21.3.4 [meta.help]integral_constant needs a spring cleanYes
1092(i)NAD Concepts21.3.4 [meta.help]Class templateintegral_constant should be a constrained templateYes
4383(i)New21.3.5 [const.wrap.class]constant_wrapper's pseudo-mutators are underconstrainedYes1
2015(i)C++1421.3.6 [meta.unary]Incorrect pre-conditions for some type traitsYes
525(i)Resolved21.3.6 [meta.unary]type traits definitions not clearYes
1392(i)Resolved21.3.6 [meta.unary]result_of should support pointer-to-data-memberYes
2247(i)C++1421.3.6.2 [meta.unary.cat]Type traits andstd::nullptr_tYes
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
4113(i)WP21.3.6.4 [meta.unary.prop]Disallowhas_unique_object_representations<Incomplete[]>Yes
3819(i)C++2321.3.6.4 [meta.unary.prop]reference_meows_from_temporary should not useis_meowibleYes
3823(i)C++2321.3.6.4 [meta.unary.prop]Unnecessary precondition foris_aggregateYes
2972(i)C++2021.3.6.4 [meta.unary.prop]What isis_trivially_destructible_v<int>?Yes
3354(i)C++2021.3.6.4 [meta.unary.prop]has_strong_structural_equality has a meaningless definitionYes1
2911(i)C++1721.3.6.4 [meta.unary.prop]Anis_aggregate type trait is neededYes
2336(i)C++1721.3.6.4 [meta.unary.prop]is_trivially_constructible/is_trivially_assignable traits are always falseYes3
2367(i)C++1721.3.6.4 [meta.unary.prop]pair andtuple are not correctly implemented foris_constructible with no argsYes3
2560(i)C++1721.3.6.4 [meta.unary.prop]is_constructible underspecified when applied to a function typeYes0
2738(i)C++1721.3.6.4 [meta.unary.prop]is_constructible withvoid typesYes
2049(i)C++1421.3.6.4 [meta.unary.prop]is_destructible is underspecifiedYes
2196(i)C++1421.3.6.4 [meta.unary.prop]Specification ofis_*[copy/move]_[constructible/assignable] unclear for non-referencable typesYes
2197(i)C++1421.3.6.4 [meta.unary.prop]Specification ofis_[un]signed unclear for non-arithmetic typesYes
2298(i)C++1421.3.6.4 [meta.unary.prop][CD]is_nothrow_constructible is always false because ofcreate<>Yes
931(i)C++1121.3.6.4 [meta.unary.prop]type traitextent<T, I>Yes
1131(i)C++1121.3.6.4 [meta.unary.prop]C++0x does not needalignment_ofYes
749(i)CD121.3.6.4 [meta.unary.prop]Currentlyhas_nothrow_copy_constructor<T>::value is true ifT has 'a' nothrow copy constructor.Yes
1174(i)Resolved21.3.6.4 [meta.unary.prop]Type property predicatesYes
1260(i)Resolved21.3.6.4 [meta.unary.prop]is_constructible<int*,void*> reports trueYes
1393(i)Resolved21.3.6.4 [meta.unary.prop]Trivial traits implynoexceptYes
1394(i)Resolved21.3.6.4 [meta.unary.prop]is_constructible reports false positivesYes
2828(i)NAD Editorial21.3.6.4 [meta.unary.prop]Clarify<cstdalign> (following adoption of P0063r3)Yes
1239(i)NAD Editorial21.3.6.4 [meta.unary.prop]Defect reportYes
747(i)NAD21.3.6.4 [meta.unary.prop]We have 3 separate type traits to identify classes supporting no-throw operationsYes
748(i)NAD21.3.6.4 [meta.unary.prop]The is_abstract type trait is defined by reference to 10.4.Yes
1228(i)NAD21.3.6.4 [meta.unary.prop]User-specialized nothrow type traitsYes
2317(i)C++1421.3.7 [meta.unary.prop.query]The type property queries should beUnaryTypeTraits returningsize_tYes0
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
975(i)C++1121.3.8 [meta.rel]is_convertible cannot be instantiated for non-convertible typesYes
2895(i)Resolved21.3.8 [meta.rel]Passing function types toresult_of andis_callableYes
3022(i)Resolved21.3.8 [meta.rel]is_convertible<derived*, base*> may lead to ODRYes2
1395(i)NAD Editorial21.3.8 [meta.rel]Inconsistent reference links should be unifiedYes
750(i)Dup21.3.8 [meta.rel]The current definition foris_convertible requires that the type beimplicitly convertible, so explicit constructors are ignored.Yes719
2101(i)C++1721.3.9 [meta.trans]Some transformation types can produce impossible typesYes3
3205(i)New21.3.9.7 [meta.trans.other]decay_t in the newcommon_type fallback should beremove_cvref_tYes3
3152(i)C++2321.3.9.7 [meta.trans.other]common_type andcommon_reference have flaws in commonYes3
2979(i)C++2021.3.9.7 [meta.trans.other]aligned_union should require complete object typesYes0
3034(i)C++2021.3.9.7 [meta.trans.other]P0767R1 breaks previously-standard-layout typesYes0
3140(i)C++2021.3.9.7 [meta.trans.other]COMMON_REF is unimplementable as specifiedYes0
3380(i)C++2021.3.9.7 [meta.trans.other]common_type and comparison categoriesYes0
2396(i)C++1721.3.9.7 [meta.trans.other]underlying_type doesn't say what to do for an incomplete enumeration typeYes0
2408(i)C++1721.3.9.7 [meta.trans.other]SFINAE-friendlycommon_type/iterator_traits is missing in C++14Yes
2460(i)C++1721.3.9.7 [meta.trans.other]LWG issue 2408 and value categoriesYes2
2141(i)C++1421.3.9.7 [meta.trans.other]common_type trait produces reference typesYes
1187(i)C++1121.3.9.7 [meta.trans.other]std::decayYes
705(i)CD121.3.9.7 [meta.trans.other]type-traitdecay incompletely specifiedYes
856(i)CD121.3.9.7 [meta.trans.other]Removal ofaligned_unionYes
2465(i)Resolved21.3.9.7 [meta.trans.other]SFINAE-friendlycommon_type is nearly impossible to specializecorrectly and regresses key functionalityYes2
2763(i)Resolved21.3.9.7 [meta.trans.other]common_type_t<void, void> is undefinedYes2
1055(i)Resolved21.3.9.7 [meta.trans.other]Provide a trait that returns the underlying type of an enumeration typeYes
2397(i)Resolved21.3.9.7 [meta.trans.other]map<K, V>::emplace and explicitV constructorsYes1
849(i)NAD21.3.9.7 [meta.trans.other]missing type traits to compute root class and derived class of types in a class hierachyYes
1020(i)NAD21.3.9.7 [meta.trans.other]Restorealigned_unionYes
2569(i)C++1721.3.10 [meta.logical]conjunction anddisjunction requirements are too strictYes2
2587(i)C++1721.3.10 [meta.logical]"Convertible tobool" requirement inconjunction anddisjunctionYes3
2557(i)C++1721.3.10 [meta.logical]Logical operator traits are broken in the zero-argument caseYes0
2567(i)C++1721.3.10 [meta.logical]Specification of logical operator traits usesBaseCharacteristic, which is defined only forUnaryTypeTraits andBinaryTypeTraitsYes2
4138(i)New21.3.12 [meta.const.eval]is_within_lifetime should mandateis_objectYes3
4416(i)Voting21.4.1 [meta.syn]<meta> should include<compare>Yes
4432(i)Immediate21.4.3 [meta.define.static]Clarify element initialization formeta::reflect_constant_arrayYes
4435(i)New21.4.6 [meta.reflection.names]meta::has_identifier doesn't handle all typesYes2
4427(i)Immediate21.4.7 [meta.reflection.queries]meta::dealias needs to work with things that aren't entitiesYes
4433(i)Immediate21.4.7 [meta.reflection.queries]Incorrect query for C language linkageYes
4437(i)New21.4.7 [meta.reflection.queries]constant_of(^^v) for variablev of array type produces reflection of pointer constantYes
4422(i)Voting21.4.8 [meta.reflection.access.context]meta::access_context should be a consteval-only typeYes2
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
4429(i)Immediate21.4.11 [meta.reflection.layout]meta::alignment_of should exclude data member description of bit-fieldYes
4298(i)New21.4.12 [meta.reflection.extract]§[meta.reflection.extract] Malformed "F noexcept" typeYes3
4316(i)Immediate21.4.13 [meta.reflection.substitute]{can_}substitute specification is ill-formedYes1
4442(i)Immediate21.4.14 [meta.reflection.result]Clarifyexpr andfn formeta::reflect_object andmeta::reflect_functionYes
4426(i)Voting21.4.15 [meta.reflection.array]Clarify whatmeta::reflect_constant_string considers a string literalYes
4423(i)Voting21.4.16 [meta.reflection.define.aggregate]meta::data_member_spec allows negative bit-field widthsYes
4449(i)Immediate21.4.16 [meta.reflection.define.aggregate]define_aggregate members must be publicYes
4424(i)Immediate21.4.16 [meta.reflection.define.aggregate]meta::define_aggregate should require a class typeYes1
4443(i)Immediate21.4.16 [meta.reflection.define.aggregate]Clean up identifier comparisons inmeta::define_aggregateYes
921(i)C++1121.5.3 [ratio.ratio]Rational Arithmetic should use template aliasesYes
1388(i)C++1121.5.3 [ratio.ratio]LWG 1281 incorrectly acceptedYes
1122(i)Resolved21.5.3 [ratio.ratio]Ratio values should beconstexprYes
1281(i)Resolved21.5.3 [ratio.ratio]CopyConstruction and Assignment between ratios having the same normalized formYes
948(i)C++1121.5.4 [ratio.arithmetic]ratio arithmetic tweakYes
1389(i)Resolved21.5.4 [ratio.arithmetic]Compile-time rational arithmetic and overflowYes
1121(i)NAD21.5.4 [ratio.arithmetic]Support for multiple argumentsYes

Section 22 (351 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
312(i)CD122 [utilities]Table 27 is missing headersYes
2888(i)Resolved22 [utilities]Variables of library tag types need to be inline variablesYes
2889(i)Resolved22 [utilities]Markconstexpr global variables asinlineYes
1075(i)Resolved22 [utilities]Scoped allocators are too complexYes
2893(i)NAD22 [utilities]Parsing Hexadecimally in P0067R4Yes
2212(i)C++1722.2 [utility]tuple_size forconst pair request<tuple> headerYes3
1255(i)C++1122.2 [utility]declval should be added to the libraryYes
2955(i)Resolved22.2 [utility]to_chars /from_chars depend onstd::stringYes
2456(i)Resolved22.2 [utility]Incorrect exception specifications for 'swap' throughout libraryYes1
1377(i)Resolved22.2 [utility]The revisedforward is not compatible with access-controlYes
1289(i)NAD22.2 [utility]Generic casting requirements for smart pointersYes
1373(i)NAD22.2 [utility]Customizable traits should have their own headersYes
2153(i)LEWG22.2.2 [utility.swap]Narrowing of the non-memberswap contractNo2
2554(i)Resolved22.2.2 [utility.swap]Swapping multidimensional arrays is nevernoexceptYes2
2800(i)Resolved22.2.2 [utility.swap]constexpr swapYes3
4056(i)NAD22.2.2 [utility.swap]The effects ofstd::swap are under-specifiedYes
2297(i)NAD22.2.3 [utility.exchange][CD] Missing type requirements forstd::exchangeYes
2388(i)NAD22.2.3 [utility.exchange]Handling self-assignment in the proposed library functionstd::exchangeYes2
3757(i)C++2322.2.4 [forward]What's the effect ofstd::forward_like<void>(x)?Yes
939(i)C++1122.2.4 [forward]Problem withstd::identity and reference-to-temporariesYes
808(i)CD122.2.4 [forward]§[forward] incorrect redundant specificationYes
700(i)CD122.2.4 [forward]N1856 defines structidentityYes
823(i)Resolved22.2.4 [forward]identity<void> seems brokenYes
1054(i)Resolved22.2.4 [forward]forward brokenYes
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
296(i)C++1122.3 [pairs]Missing descriptions and requirements of pair operatorsYes
811(i)C++1122.3 [pairs]pair of pointers no longer works with literal 0Yes
885(i)C++1122.3 [pairs]pair assignmentYes
265(i)CD122.3 [pairs]std::pair::pair() effects overly restrictiveYes
706(i)CD122.3 [pairs]make_pair() should behave asmake_tuple() wrt.reference_wrapper()Yes
181(i)TC122.3 [pairs]make_pair() unintended behaviorYes
353(i)Resolved22.3 [pairs]std::pair missing template assignmentYes
482(i)Resolved22.3 [pairs]Swapping pairsYes
1378(i)Resolved22.3 [pairs]pair andtuple have too many conversionsYes
1380(i)Resolved22.3 [pairs]pair andtuple of references need to better specify move-semanticsYes
1382(i)Resolved22.3 [pairs]pair andtuple constructors shouldforward argumentsYes
1383(i)Resolved22.3 [pairs]Inconsistent defaulted move/copy members inpair andtupleYes
840(i)NAD22.3 [pairs]pair default template argumentYes
916(i)NAD22.3 [pairs]Redundant move-assignment operator ofpair should be removedYes
348(i)Dup22.3 [pairs]Minor issue with std::pair operator<Yes532
1167(i)NAD Concepts22.3 [pairs]pair<T,U> doesn't modelLessThanComparable in unconstrained code even ifT andU do.Yes
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
2958(i)C++2022.3.2 [pairs.pair]Moves improperly defined as deletedYes2
3346(i)C++2022.3.2 [pairs.pair]pair andtuple copy and move constructor have backwards specificationYes0
3382(i)C++2022.3.2 [pairs.pair]NTTP forpair andarrayYes2
2729(i)C++1722.3.2 [pairs.pair]Missing SFINAE onstd::pair::operator=Yes2
1324(i)Resolved22.3.2 [pairs.pair]Still too many implicit conversions forpair andtupleYes
1326(i)Resolved22.3.2 [pairs.pair]Missing/wrong preconditions forpair andtuple functionsYes
1379(i)Resolved22.3.2 [pairs.pair]pair copy-assignment not consistent for referencesYes
2068(i)NAD22.3.2 [pairs.pair]std::pair not C++03-compatible with defaulted copy c'torYes
2766(i)New22.3.3 [pairs.spec]Swapping non-swappable typesYes3
3865(i)C++2322.3.3 [pairs.spec]Sorting a range ofpairsYes2
3347(i)C++2022.3.3 [pairs.spec]std::pair<T, U> now requiresT andU to be less-than-comparableYes1
3166(i)New22.3.4 [pair.astuple]No such descriptive element asValue:No3
2974(i)C++2022.3.4 [pair.astuple]Diagnose out of boundstuple_element/variant_alternativeYes
1061(i)NAD Editorial22.3.4 [pair.astuple]Bad indexing for tuple access to pair (Editorial?)Yes
2899(i)C++2022.4 [tuple]is_(nothrow_)move_constructible andtuple,optional andunique_ptrYes2
522(i)CD122.4 [tuple]Tuple doesn't define swapYes
801(i)Resolved22.4 [tuple]tuple andpair trivial membersYes
2773(i)C++1722.4.1 [tuple.general]Makingstd::ignore constexprYes0
2796(i)C++1722.4.1 [tuple.general]tuple should be a literal typeYes2
2446(i)NAD22.4.1 [tuple.general]Unspecializedstd::tuple_size should be definedYes
3378(i)New22.4.2 [tuple.syn]tuple_size_v/tuple_element_t should be available whentuple_size/tuple_element areYes3
3990(i)WP22.4.4 [tuple.tuple]Program-defined specializations ofstd::tuple andstd::variant can't be properly supportedYes
1116(i)Resolved22.4.4 [tuple.tuple]Literal constructors for tupleYes
2051(i)Resolved22.4.4 [tuple.tuple]Explicittuple constructors for more than one parameterYes2
1077(i)NAD Editorial22.4.4 [tuple.tuple]Nonesensetuple declarationsYes
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
4045(i)WP22.4.4.2 [tuple.cnstr]tuple can create dangling references fromtuple-likeYes
3121(i)C++2322.4.4.2 [tuple.cnstr]tuple constructor constraints forUTypes&&... overloadsYes2
3211(i)C++2322.4.4.2 [tuple.cnstr]std::tuple<> should be trivially constructibleYes3
3158(i)C++2022.4.4.2 [tuple.cnstr]tuple(allocator_arg_t, const Alloc&) should be conditionally explicitYes3
2312(i)C++1722.4.4.2 [tuple.cnstr]tuple's constructor constraints need to be phrased more preciselyYes2
2549(i)C++1722.4.4.2 [tuple.cnstr]TupleEXPLICIT constructor templates that taketuple parameters end up taking references to temporaries and will create dangling referencesYes2
886(i)C++1122.4.4.2 [tuple.cnstr]tuple constructionYes
807(i)CD122.4.4.2 [tuple.cnstr]tuple construction should not fail unless its element's construction failsYes
3155(i)Resolved22.4.4.2 [tuple.cnstr]tuple<any, any>{allocator_arg_t, an_allocator}Yes3
2419(i)Resolved22.4.4.2 [tuple.cnstr]Clang's libc++ extension tostd::tupleYes
1117(i)Resolved22.4.4.2 [tuple.cnstr]tuple copy constructorYes
3440(i)NAD22.4.4.2 [tuple.cnstr]Aggregate-paren-init breaks direct-initializing atuple oroptional from{aggregate-member-value}Yes2
917(i)NAD22.4.4.2 [tuple.cnstr]Redundant move-assignment operator oftuple should be removedYes
918(i)NAD Concepts22.4.4.4 [tuple.swap]Swap for tuple needs to be conceptualizedYes
2275(i)C++1422.4.5 [tuple.creation][CD] Why isforward_as_tuple notconstexpr?Yes
2301(i)C++1422.4.5 [tuple.creation]Why isstd::tie notconstexpr?Yes2
1384(i)C++1122.4.5 [tuple.creation]Functionpack_arguments is poorly namedYes
1385(i)C++1122.4.5 [tuple.creation]tuple_cat should be a single variadic signatureYes
1386(i)C++1122.4.5 [tuple.creation]pack_arguments overly complexYes
2933(i)Resolved22.4.5 [tuple.creation]PR for LWG 2773 could be clearerYes3
3978(i)Resolved22.4.5 [tuple.creation]The "no effect" requirement forstd::ignore is unimplementable forvolatile bit-fieldsYes4
1201(i)Resolved22.4.5 [tuple.creation]Do we always want to unwrapref-wrappers inmake_tupleYes
3528(i)C++2322.4.6 [tuple.apply]make_from_tuple can perform (the equivalent of) a C-style castYes3
4040(i)New22.4.7 [tuple.helper]Contradictory specification ofstd::tuple_sizeNo3
2770(i)C++1722.4.7 [tuple.helper]tuple_size<const T> specialization is not SFINAE compatible and breaks decomposition declarationsYes1
2313(i)C++1422.4.7 [tuple.helper]tuple_size should always derive fromintegral_constant<size_t, N>Yes2
1118(i)C++1122.4.7 [tuple.helper]tuple query APIs do not support cv-qualificationYes
775(i)CD122.4.7 [tuple.helper]Tuple indexing should be unsigned?Yes
1119(i)NAD22.4.7 [tuple.helper]tuple query APIs do not support referencesYes
2485(i)C++1722.4.8 [tuple.elem]get() should be overloaded forconst tuple&&Yes1
1191(i)C++1122.4.8 [tuple.elem]tuple get API should respect rvaluesYes
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
1335(i)C++1122.4.9 [tuple.rel]Insufficient requirements fortuple::operator<()Yes
532(i)NAD22.4.9 [tuple.rel]Tuple comparisonYes348
928(i)NAD Concepts22.4.9 [tuple.rel]Wrong concepts used fortuple's comparison operatorsYes
2857(i)C++1722.5 [optional]{variant,optional,any}::emplace should return the constructed valueYes1
2862(i)Resolved22.5 [optional]LWG 2756 should be acceptedYes
2990(i)Open22.5.3 [optional.optional]optional::value_type is not always a value typeYes3
3196(i)C++2022.5.3 [optional.optional]std::optional<T> is ill-formed isT is an arrayYes0
2900(i)C++1722.5.3 [optional.optional]The copy and move constructors ofoptional are notconstexprYes
2756(i)C++1722.5.3 [optional.optional]C++ WPoptional<T> should 'forward'T's implicit conversionsYes1
2825(i)Resolved22.5.3 [optional.optional]LWG 2756 breaks class template argument deduction foroptionalYes2
3016(i)NAD22.5.3 [optional.optional]optional and over-aligned typesYes3
3886(i)WP22.5.3.1 [optional.optional.general]Monad mo' problemsYes3
4141(i)WP22.5.3.1 [optional.optional.general]Improve prohibitions on "additional storage"Yes
3709(i)C++2322.5.3.1 [optional.optional.general]LWG-3703 was underly ambitiousYes
2811(i)New22.5.3.2 [optional.ctor]"Selected constructor" wording is incorrect foroptional/variant/anyYes3
2842(i)C++1722.5.3.2 [optional.ctor]in_place_t check foroptional::optional(U&&) should decayUYes0
2753(i)Resolved22.5.3.2 [optional.ctor]Optional's constructors and assignments need constraintsYes0
2746(i)New22.5.3.4 [optional.assign]Inconsistency between requirements foremplace betweenoptional andvariantYes3
2748(i)C++1722.5.3.5 [optional.swap]swappable traits foroptionalsYes0
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
2740(i)C++1722.5.3.7 [optional.observe]constexpr optional<T>::operator->Yes0
4015(i)Immediate22.5.3.8 [optional.monadic]LWG 3973 brokeconst overloads ofstd::optional monadic operationsYes1
4300(i)Voting22.5.4.3 [optional.ref.assign]MissingReturns: element inoptional<T&>::emplaceYes
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
4304(i)Immediate22.5.4.6 [optional.ref.observe]std::optional<NonReturnable&> is ill-formed due tovalue_orYes1
4299(i)Voting22.5.4.7 [optional.ref.monadic]MissingMandates: part inoptional<T&>::transformYes
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
2736(i)C++1722.5.5 [optional.nullopt]nullopt_t insufficiently constrainedYes2
3562(i)NAD22.5.5 [optional.nullopt]Supersedingnullopt_t's requirement to not beDefaultConstructibleYes
2806(i)C++1722.5.6 [optional.bad.access]Base class ofbad_optional_accessYes1
4370(i)Voting22.5.9 [optional.comp.with.t]Comparison ofoptional<T> toT may be ill-formedYes
4072(i)WP22.5.9 [optional.comp.with.t]std::optional comparisons: constrain harderYes1
3566(i)C++2322.5.9 [optional.comp.with.t]Constraint recursion foroperator<=>(optional<T>, U)Yes
3746(i)C++2322.5.9 [optional.comp.with.t]optional's spaceship withU with a type derived fromoptional causes infinite constraint meta-recursionYes
2945(i)C++2022.5.9 [optional.comp.with.t]Order of template parameters inoptional comparisonsYes2
2934(i)C++1722.5.9 [optional.comp.with.t]optional<const T> doesn't compare withTYes
3627(i)Voting22.5.10 [optional.specalg]Inconsistent specifications forstd::make_optional overloadsYes3
2805(i)Resolved22.6 [variant]void and reference type alternatives invariant,variant<> andindex()Yes
2881(i)New22.6.3 [variant.variant]Adopt section III of P0308R0No3
2901(i)C++1722.6.3 [variant.variant]Variants cannot properly support allocatorsYes0
2902(i)NAD22.6.3 [variant.variant]variant should only support complete typesYes0
2971(i)NAD22.6.3 [variant.variant]variant should requireDestructible typesYes
2991(i)Voting22.6.3.2 [variant.ctor]variant copy constructor missingnoexcept(see below)Yes
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
3024(i)C++2022.6.3.2 [variant.ctor]variant's copies must be deleted instead of disabled via SFINAEYes
2903(i)C++1722.6.3.2 [variant.ctor]The form of initialization for the emplace-constructors is not specifiedYes
3228(i)Resolved22.6.3.2 [variant.ctor]Surprisingvariant constructionYes2
2882(i)Resolved22.6.3.2 [variant.ctor]Clarifyvariant constructionYes
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
3585(i)C++2322.6.3.4 [variant.assign]Variant converting assignment with immovable alternativeYes
2904(i)C++1722.6.3.4 [variant.assign]Makevariant move-assignment more exception safeYes
2749(i)C++1722.6.3.7 [variant.swap]swappable traits forvariantsYes1
4197(i)New22.6.7 [variant.visit]Complexity ofstd::visit with immediate functionsYes2
2970(i)C++2022.6.7 [variant.visit]Return type ofstd::visit misspecifiedYes2
3052(i)Resolved22.6.7 [variant.visit]visit is underconstrainedYes2
2809(i)Resolved22.6.12 [variant.hash]variant hash requirementsYes
2868(i)C++1722.7.3 [any.bad.any.cast]Missing specification ofbad_any_cast::what()Yes
3416(i)New22.7.4 [any.class]TheThrows: specification ofstd::any does not mention allocationNo3
2789(i)C++1722.7.4 [any.class]Equivalence of contained objectsYes0
2744(i)C++1722.7.4.2 [any.cons]any'sin_place constructorsYes0
2754(i)Resolved22.7.4.2 [any.cons]Thein_place constructors andemplace functions added by P0032R3 don't requireCopyConstructibleYes1
2886(i)NAD22.7.4.5 [any.observers]Keep theempty() functions inanyYes
3423(i)New22.7.5 [any.nonmembers]std::any_cast should never return acv-qualified typeYes3
3305(i)WP22.7.5 [any.nonmembers]any_cast<void>Yes2
2768(i)C++1722.7.5 [any.nonmembers]any_cast and move semanticsYes0
2769(i)C++1722.7.5 [any.nonmembers]Redundantconst in the return type ofany_cast(const any&)Yes0
3688(i)New22.8.4 [expected.bad]Exception specifications of copy/move member functions ofstd::bad_expected_accessNo2
4031(i)WP22.8.5 [expected.bad.void]bad_expected_access<void> member functions should benoexceptYes
3891(i)New22.8.6.1 [expected.object.general]LWG 3870 breaksstd::expected<cv T, E>Yes2
3754(i)C++2322.8.6.1 [expected.object.general]Class templateexpected synopsis contains declarations that do not match the detailed descriptionYes
4222(i)WP22.8.6.2 [expected.object.cons]expected constructor from a single value missing a constraintYes
3836(i)C++2322.8.6.2 [expected.object.cons]std::expected<bool, E1> conversion constructorexpected(const expected<U, G>&) should take precedence overexpected(U&&) with operatorboolYes1
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
3951(i)WP22.8.6.5 [expected.object.swap]§[expected.object.swap]: Usingvalue() instead ofhas_value()Yes
3843(i)C++2322.8.6.6 [expected.object.obs]std::expected<T,E>::value() & assumesE is copy constructibleYes
3938(i)WP22.8.6.7 [expected.object.monadic]Cannot usestd::expected monadic ops with move-onlyerror_typeYes
3973(i)WP22.8.6.7 [expected.object.monadic]Monadic operations should be ADL-proofYes
3866(i)C++2322.8.6.7 [expected.object.monadic]BadMandates forexpected::transform_error overloadsYes
3877(i)C++2322.8.6.7 [expected.object.monadic]Incorrect constraints onconst-qualified monadic overloads forstd::expectedYes
4366(i)Voting22.8.6.8 [expected.object.eq]Heterogeneous comparison ofexpected may be ill-formedYes
3703(i)C++2322.8.7.1 [expected.void.general]Missing requirements forexpected<T, E> requires is_void<T>Yes2
4025(i)WP22.8.7.4 [expected.void.assign]Move assignment operator ofstd::expected<cv void, E> should not be conditionally deletedYes
3687(i)C++2322.8.7.4 [expected.void.assign]expected<cv void, E> move constructor should moveYes
3940(i)WP22.8.7.6 [expected.void.obs]std::expected<void, E>::value() also needsE to be copy constructibleYes
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
853(i)C++1122.9.2 [template.bitset]to_string needs updating withzero andoneYes
1113(i)C++1122.9.2 [template.bitset]bitset::to_string could be simplifiedYes
1227(i)C++1122.9.2 [template.bitset]<bitset> synopsis overspecifiedYes
1250(i)C++1122.9.2 [template.bitset]<bitset> still overspecifiedYes
693(i)CD122.9.2 [template.bitset]std::bitset::all() missingYes
694(i)CD122.9.2 [template.bitset]std::bitset andlong longYes
11(i)TC122.9.2 [template.bitset]Bitset minor problemsYes
1112(i)NAD22.9.2 [template.bitset]bitsets and new style for loopYes
116(i)Dup22.9.2 [template.bitset]bitset cannot be constructed with a const char*Yes778
4140(i)WP22.9.2.1 [template.bitset.general]Useless default constructors for bit reference typesYes
4294(i)Voting22.9.2.2 [bitset.cons]bitset(const CharT*) constructor needs to be constrainedYes
2250(i)C++1722.9.2.2 [bitset.cons]Follow-up On Library Issue 2207Yes3
1325(i)C++1122.9.2.2 [bitset.cons]bitsetYes
396(i)CD122.9.2.2 [bitset.cons]what are characters zero and oneYes
457(i)CD122.9.2.2 [bitset.cons]bitset constructor: incorrect number of initialized bitsYes
778(i)CD122.9.2.2 [bitset.cons]std::bitset does not have any constructor taking a string literalYes116
907(i)C++1122.9.2.3 [bitset.members]Bitset's immutable element retrieval is inconsistently definedYes
186(i)CD122.9.2.3 [bitset.members]bitset::set() second parameter should be boolYes
434(i)CD122.9.2.3 [bitset.members]bitset::to_string() hard to useYes
1168(i)NAD Editorial22.9.2.3 [bitset.members]Odd wording for bitset equality operatorsYes
3199(i)C++2022.9.4 [bitset.operators]istream >> bitset<0> failsYes
303(i)CD122.9.4 [bitset.operators]Bitset input operator underspecifiedYes
3805(i)New22.10 [function.objects]Expression evaluating to a call wrapper is a prvalue, not an objectNo4
2048(i)C++1422.10 [function.objects]Unnecessarymem_fn overloadsYes
2149(i)C++1422.10 [function.objects]Concerns about 20.8/5Yes
185(i)CD122.10 [function.objects]Questionable use of term "inline"Yes
660(i)CD122.10 [function.objects]Missing Bitwise OperationsYes
1290(i)Resolved22.10 [function.objects]Don't require[u|bi]nary_function inheritanceYes
658(i)Resolved22.10 [function.objects]Two unspecified function comparators in [function.objects]Yes
1397(i)Resolved22.10 [function.objects]Deprecate '98 bindersYes
351(i)NAD Editorial22.10 [function.objects]unary_negate and binary_negate: struct or class?Yes
1398(i)NAD22.10 [function.objects]Users should be able to specialize functors without depending on whole<functional> headerYes
3202(i)C++2022.10.2 [functional.syn]P0318R1 was supposed to be revisedYes0
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
3655(i)C++2322.10.4 [func.require]TheINVOKE operation andunion typesYes3
2219(i)C++1722.10.4 [func.require]INVOKE-ing a pointer to member with areference_wrapper as the object expressionYes2
2387(i)C++1722.10.4 [func.require]More nested types that must be accessible and unambiguousYes
2486(i)C++1722.10.4 [func.require]mem_fn() should be required to use perfect forwardingYes0
1294(i)C++1122.10.4 [func.require]Difference between callable wrapper and forwarding call wrapper unclearYes
1295(i)C++1122.10.4 [func.require]Contradictory call wrapper requirementsYes
1520(i)C++1122.10.4 [func.require]INVOKE on member data pointer with too many argumentsYes
2926(i)Resolved22.10.4 [func.require]INVOKE(f, t1, t2,... tN) andINVOKE(f, t1, t2,... tN, R) are too similarYes
2807(i)C++1722.10.5 [func.invoke]std::invoke should usestd::is_nothrow_callableYes3
2690(i)Resolved22.10.5 [func.invoke]invoke<R>Yes
2894(i)Resolved22.10.5 [func.invoke]The function templatestd::apply() is required to beconstexpr, butstd::invoke() isn'tYes3
3046(i)New22.10.6 [refwrap]Do not requirereference_wrapper to support non-referenceable function typesYes3
2981(i)C++2022.10.6 [refwrap]Remove redundant deduction guides from standard libraryYes0
2993(i)C++2022.10.6 [refwrap]reference_wrapper<T> conversion fromT&&Yes3
987(i)C++1122.10.6 [refwrap]reference_wrapper and function typesYes
2017(i)C++1122.10.6 [refwrap]std::reference_wrapper makes incorrect usage ofstd::result_ofYes
2022(i)C++1122.10.6 [refwrap]reference_wrapper<T>::result_type is underspecifiedYes
521(i)CD122.10.6 [refwrap]Garbled requirements for argument_type in reference_wrapperYes
3041(i)C++2022.10.6.2 [refwrap.const]Unnecessarydecay inreference_wrapperYes0
688(i)C++1122.10.6.2 [refwrap.const]reference_wrapper, cref unsafe, allow binding to rvaluesYes
689(i)CD122.10.6.2 [refwrap.const]reference_wrapper constructor overly constrainedYes
3764(i)C++2322.10.6.5 [refwrap.invoke]reference_wrapper::operator() should propagatenoexceptYes
2435(i)C++1722.10.6.5 [refwrap.invoke]reference_wrapper::operator()'s Remark should be deletedYes4
4071(i)WP22.10.6.6 [refwrap.comparisons]reference_wrapper comparisons are not SFINAE-friendlyYes
3146(i)C++2322.10.6.7 [refwrap.helpers]Excessive unwrapping instd::ref/crefYes3
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
2450(i)C++1722.10.8 [comparisons](greater|less|greater_equal|less_equal)<void> do not yield a total order for pointersYes2
2562(i)C++1722.10.8 [comparisons]Consistent total ordering of pointers by comparison functorsYes3
284(i)CD122.10.8 [comparisons]unportable example in 20.3.7, p6Yes
3530(i)C++2322.10.8.8 [comparisons.three.way]BUILTIN-PTR-MEOW should not opt the type out of syntactic checksYes
297(i)CD122.10.10 [logical.operations]const_mem_fun_t<>::argument_type should be const T*Yes
3979(i)New22.10.13 [func.not.fn]Should we rejectstd::bind_front<42>() and its friends?Yes4
2767(i)C++1722.10.13 [func.not.fn]not_fncall_wrapper can form invalid typesYes0
3184(i)C++2022.10.14 [func.bind.partial]Inconsistencies inbind_front wordingYes0
520(i)CD122.10.15 [func.bind]Result_of and pointers to data membersYes
2010(i)C++1422.10.15.2 [func.bind.isbind]is_* traits for binding operations can't be meaningfully specializedYes
1071(i)C++1122.10.15.2 [func.bind.isbind]is_bind_expression should derive fromintegral_constant<bool>Yes
2487(i)C++1722.10.15.4 [func.bind.bind]bind() should beconst-overloaded, notcv-overloadedYes2
2545(i)C++1722.10.15.4 [func.bind.bind]Simplify wording forbind without explicitly specified return typeYes3
2021(i)C++1422.10.15.4 [func.bind.bind]Further incorrect usages ofresult_ofYes
817(i)C++1122.10.15.4 [func.bind.bind]bind needs to be movedYes
527(i)CD122.10.15.4 [func.bind.bind]tr1::bind has lost its Throws clauseYes
2957(i)Resolved22.10.15.4 [func.bind.bind]bind's specification doesn't apply thecv-qualification of the call wrapper to the callable objectYes3
816(i)Resolved22.10.15.4 [func.bind.bind]Shouldbind()'s returned functor have a nofail copy ctor whenbind() is nofail?Yes
3824(i)C++2322.10.15.5 [func.bind.place]Number ofbind placeholders is underspecifiedYes
2488(i)C++1722.10.15.5 [func.bind.place]Placeholders should be allowed and encouraged to beconstexprYes2
2489(i)C++1722.10.16 [func.memfn]mem_fn() should benoexceptYes0
920(i)C++1122.10.16 [func.memfn]Ref-qualification support in the libraryYes1230
3023(i)Resolved22.10.16 [func.memfn]Clarifyunspecified call wrappersYes3
1230(i)Dup22.10.16 [func.memfn]mem_fn and variadic templatesYes920
770(i)CD122.10.17 [func.wrap]std::function should use rvalue swapYes
4264(i)New22.10.17.1 [func.wrap.general]Skipping indirection is not allowed forfunction_refYes2
2233(i)C++1722.10.17.2 [func.wrap.badcall]bad_function_call::what() unhelpfulYes3
2062(i)C++1722.10.17.3 [func.wrap.func]Effect contradictions w/o no-throw guarantee ofstd::function swapsYes2
2385(i)C++1722.10.17.3 [func.wrap.func]function::assign allocator argument doesn't make senseYes2
2393(i)C++1722.10.17.3 [func.wrap.func]std::function'sCallable definition is brokenYes2
2401(i)C++1722.10.17.3 [func.wrap.func]std::function needs morenoexceptYes0
2420(i)C++1722.10.17.3 [func.wrap.func]function<void(ArgTypes...)> does not discard the return value of the target objectYes1
1070(i)C++1122.10.17.3 [func.wrap.func]Ambiguous move overloads in functionYes
1240(i)C++1122.10.17.3 [func.wrap.func]Deleted comparison functions ofstd::function not neededYes
1399(i)C++1122.10.17.3 [func.wrap.func]function does not need anexplicit default constructorYes
769(i)CD122.10.17.3 [func.wrap.func]std::function should use nullptr_t instead of "unspecified-null-pointer-type"Yes
2370(i)Resolved22.10.17.3 [func.wrap.func]Operations involving type-erased allocators should not benoexcept instd::functionYes3
2501(i)Resolved22.10.17.3 [func.wrap.func]std::function requires POCMA/POCCAYes3
2502(i)Resolved22.10.17.3 [func.wrap.func]std::function does not useallocator::constructYes3
1023(i)NAD Editorial22.10.17.3 [func.wrap.func]Unclear inheritance relation forstd::functionYes
644(i)NAD22.10.17.3 [func.wrap.func]Possible typos in 'function' descriptionYes
1024(i)NAD Concepts22.10.17.3 [func.wrap.func]std::function constructors overly generousYes
1059(i)NAD Concepts22.10.17.3 [func.wrap.func]Usage of no longer existing FunctionType conceptYes
3493(i)New22.10.17.3.2 [func.wrap.func.con]The constructor ofstd::function taking anF is missing a constraintYes3
2774(i)C++2322.10.17.3.2 [func.wrap.func.con]std::function construction vs assignmentYes3
3617(i)C++2322.10.17.3.2 [func.wrap.func.con]function/packaged_task deduction guides and deducingthisYes2
3238(i)C++2022.10.17.3.2 [func.wrap.func.con]Insufficiently-defined behavior ofstd::function deduction guidesYes
2850(i)C++1722.10.17.3.2 [func.wrap.func.con]std::function move constructor does unnecessary workYes0
2565(i)C++1722.10.17.3.2 [func.wrap.func.con]std::function's move constructor should guarantee nothrow forreference_wrappers and function pointersYes0
2781(i)C++1722.10.17.3.2 [func.wrap.func.con]Contradictory requirements forstd::function andstd::reference_wrapperYes0
2132(i)C++1422.10.17.3.2 [func.wrap.func.con]std::function ambiguityYes2
1287(i)C++1122.10.17.3.2 [func.wrap.func.con]std::function requiresCopyConstructible target objectYes
1288(i)C++1122.10.17.3.2 [func.wrap.func.con]std::function assignment from rvaluesYes
1292(i)C++1122.10.17.3.2 [func.wrap.func.con]std::function should support all callable typesYes
1400(i)C++1122.10.17.3.2 [func.wrap.func.con]FCDfunction does not need anexplicit default constructorYes
610(i)CD122.10.17.3.2 [func.wrap.func.con]Suggested non-normative note for C++0xYes
2813(i)Resolved22.10.17.3.2 [func.wrap.func.con]std::function should not return dangling referencesYes2
2386(i)NAD22.10.17.3.2 [func.wrap.func.con]function::operator= handles allocators incorrectlyYes1
1258(i)Resolved22.10.17.3.3 [func.wrap.func.mod]std::function Effects clause impossible to satisfyYes
1333(i)C++1122.10.17.3.5 [func.wrap.func.inv]Missing forwarding duringstd::function invocationYes
815(i)Resolved22.10.17.3.5 [func.wrap.func.inv]std::function andreference_closure do not use perfect forwardingYes
2591(i)C++1722.10.17.3.6 [func.wrap.func.targ]std::function's member templatetarget() should not lead to undefined behaviourYes3
633(i)NAD Editorial22.10.17.3.6 [func.wrap.func.targ]Return clause mentions undefined "type()"Yes
4255(i)Voting22.10.17.4.3 [func.wrap.move.ctor]move_only_function constructor should recognize emptycopyable_functionsYes
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
4256(i)Voting22.10.17.6.3 [func.wrap.ref.ctor]Incorrect constrains forfunction_ref constructors fromnontype_tYes
4425(i)Voting22.10.17.6.5 [func.wrap.ref.deduct]CTADfunction_ref of data member pointer should producenoexcept signatureYes
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
1025(i)NAD Future22.10.19 [unord.hash]The library should provide more specializations forstd::hashYes
2119(i)C++1722.10.19 [unord.hash]Missinghash specializations for extended integer typesYes3
2148(i)C++1422.10.19 [unord.hash]Hashing enums should be supported directly bystd::hashYes
978(i)C++1122.10.19 [unord.hash]Hashing smart pointersYes
1182(i)C++1122.10.19 [unord.hash]Unfortunate hash dependenciesYes
1245(i)C++1122.10.19 [unord.hash]std::hash<string> & coYes
848(i)CD122.10.19 [unord.hash]Missingstd::hash specializations forstd::bitset/std::vector<bool>Yes
2803(i)Resolved22.10.19 [unord.hash]hash for arithmetic, pointer and standard library types should not throwYes3
2817(i)Resolved22.10.19 [unord.hash]std::hash fornullptr_tYes
2543(i)Resolved22.10.19 [unord.hash]LWG 2148 (hash support for enum types) seems under-specifiedYes2
1317(i)NAD22.10.19 [unord.hash]make_hashYes
1072(i)NAD Concepts22.10.19 [unord.hash]Isstd::hash a constrained template or not?Yes
3656(i)C++2322.11.5 [bit.pow.two]Inconsistent bit operations returning a countYes3
3968(i)New22.11.8 [bit.endian]std::endian::native value should be more specific about object representationsYes4
4247(i)WP22.12 [stdbit.h.syn]Header<stdbit.h> is not yet freestandingYes

Section 23 (410 issues)

(view only non-Ready open 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
2193(i)C++1423 [containers]Default constructors for standard library containers are explicitYes1
774(i)C++1123 [containers]Memberswap undefined for most containersYes
868(i)C++1123 [containers]Default construction and value-initializationYes
883(i)C++1123 [containers]swap circular definitionYes
2913(i)Resolved23 [containers]Containers need deduction guidesYes
767(i)Resolved23 [containers]Forwarding and backward compatibilityYes
2885(i)NAD23 [containers]The relational operators ofoptional andvariant completely reflect the semantics of the element types — this is inconsistent with other types in the libraryYes
1242(i)NAD23 [containers]Enable SCARY iteratorsYes
97(i)NAD23 [containers]Insert inconsistent definitionYes
470(i)NAD23 [containers]accessing containers from their elements' special functionsYes
3059(i)New23.2 [container.requirements]Wrong requirements for map-like associative container assignment?No3
2261(i)C++1723.2 [container.requirements]Are containers required to use their 'pointer' type internally?Yes2
704(i)C++1123.2 [container.requirements]MoveAssignable requirement for container value type overly strictYes
861(i)C++1123.2 [container.requirements]Incomplete specification ofEqualityComparable forstd::forward_listYes
1416(i)C++1123.2 [container.requirements]forward_list::erase_after should not be allowed to throwYes
179(i)CD123.2 [container.requirements]Comparison of const_iterators to iterators doesn't workYes
276(i)CD123.2 [container.requirements]Assignable requirement for container value type overly strictYes
322(i)CD123.2 [container.requirements]iterator and const_iterator should have the same value typeYes
371(i)CD123.2 [container.requirements]Stability of multiset and multimap member functionsYes
589(i)CD123.2 [container.requirements]Requirements on iterators of member template functions of containersYes536
675(i)CD123.2 [container.requirements]Move assignment of containersYes
759(i)CD123.2 [container.requirements]A reference is not an objectYes
766(i)CD123.2 [container.requirements]Inconsistent exception guarantees between ordered and unordered associative containersYes
842(i)CD123.2 [container.requirements]ConstructibleAsElement and bit containersYes
51(i)TC123.2 [container.requirements]Requirement to not invalidate iterators missingYes
760(i)NAD23.2 [container.requirements]The emplace issueYes2
279(i)NAD23.2 [container.requirements]const and non-const iterators should have equivalent typedefsYes
632(i)NAD23.2 [container.requirements]Time complexity ofsize() forstd::setYes
1330(i)NAD23.2 [container.requirements]Move container requirements into requirements tablesYes
479(i)Dup23.2 [container.requirements]Container requirements and placement newYes580
536(i)Dup23.2 [container.requirements]Container iterator constructor and explicit convertibilityYes589
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
3028(i)C++2323.2.2 [container.requirements.general]Container requirements tables should distinguishconst and non-const variablesYes3
3352(i)C++2023.2.2 [container.requirements.general]strong_equality isn't a thingYes1
2448(i)C++1723.2.2 [container.requirements.general]Non-normative Container destructor specificationYes0
2218(i)C++1723.2.2 [container.requirements.general]Unclear how containers useallocator_traits::construct()Yes3
2794(i)C++1723.2.2 [container.requirements.general]Missing requirements for allocator pointersYes0
2177(i)C++1423.2.2 [container.requirements.general]Requirements onCopy/MoveInsertableYes
2182(i)C++1423.2.2 [container.requirements.general]Container::[const_]reference types are misleadingly specifiedYes0
2308(i)C++1423.2.2 [container.requirements.general]Clarify container destructor requirements w.r.t.std::arrayYes0
2320(i)C++1423.2.2 [container.requirements.general]select_on_container_copy_construction() takes allocators, not containersYes0
2105(i)C++1423.2.2 [container.requirements.general]Inconsistent requirements onconst_iterator'svalue_typeYes
2211(i)C++1423.2.2 [container.requirements.general]Replace ambiguous use of "Allocator" in container requirementsYes
2257(i)C++1423.2.2 [container.requirements.general]Simplify container requirements with the new algorithmsYes
1034(i)C++1123.2.2 [container.requirements.general]Clarify generality of Container Requirement tablesYes
1319(i)C++1123.2.2 [container.requirements.general]Containers should require an iterator that is at least a Forward IteratorYes
985(i)Resolved23.2.2 [container.requirements.general]Allowing throwing moveYes
580(i)NAD Editorial23.2.2 [container.requirements.general]unused allocator membersYes479
1415(i)NAD Editorial23.2.2 [container.requirements.general]Iterator stability bans the short-string optimizationYes
1035(i)NAD23.2.2 [container.requirements.general]<array>::swap can invalidate references, pointers, and iteratorsYes
2167(i)NAD23.2.2 [container.requirements.general]Copy assignment requirements of ContainersYes
3431(i)WP23.2.2.4 [container.opt.reqmts]<=> for containers should requirethree_way_comparable<T> instead of<=>Yes2
3976(i)New23.2.2.5 [container.alloc.reqmts]What does it mean for a type to be "allocator aware"?No4
3957(i)WP23.2.2.5 [container.alloc.reqmts]§[container.alloc.reqmts] The value category ofv should be claimedYes
2200(i)C++1423.2.3 [container.requirements.dataraces]Data race avoidance for all containers, not only for sequencesYes
1329(i)Resolved23.2.3 [container.requirements.dataraces]Data races onvector<bool>Yes
4396(i)Immediate23.2.4 [sequence.reqmts]Improveinplace_vector(from_range_t, R&& rg)Yes3
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
4147(i)WP23.2.4 [sequence.reqmts]Precondition oninplace_vector::emplaceYes
3927(i)WP23.2.4 [sequence.reqmts]Unclear preconditions foroperator[] for sequence containersYes
3732(i)C++2323.2.4 [sequence.reqmts]prepend_range andappend_range can't be amortized constant timeYes
3742(i)C++2323.2.4 [sequence.reqmts]deque::prepend_range needs to permuteYes2
2266(i)C++1723.2.4 [sequence.reqmts]vector anddeque have incorrectinsert requirementsYes2
2698(i)C++1723.2.4 [sequence.reqmts]Effect ofassign() on iterators/pointers/referencesYes0
2231(i)C++1423.2.4 [sequence.reqmts]DR 704 removes complexity guarantee forclear()Yes
149(i)C++1123.2.4 [sequence.reqmts]Insert should return iterator to first element insertedYes
1037(i)C++1123.2.4 [sequence.reqmts]Unclear status ofmatch_results as library containerYes
1038(i)C++1123.2.4 [sequence.reqmts]Sequence requirement table needs to reference several new containersYes
1039(i)C++1123.2.4 [sequence.reqmts]Sequence containerback function should also supportconst_iteratorYes
1234(i)C++1123.2.4 [sequence.reqmts]"Do the right thing" andNULLYes
355(i)CD123.2.4 [sequence.reqmts]Operational semantics for a.back()Yes
438(i)CD123.2.4 [sequence.reqmts]Ambiguity in the "do the right thing" clauseYes
139(i)TC123.2.4 [sequence.reqmts]Optional sequence operation table description unclearYes
151(i)TC123.2.4 [sequence.reqmts]Can't currently clear() empty containerYes
725(i)NAD Editorial23.2.4 [sequence.reqmts]Optional sequence container requirements column labelYes
1058(i)NAD Editorial23.2.4 [sequence.reqmts]New container issueYes
1301(i)NAD Editorial23.2.4 [sequence.reqmts]clear() and assignmentYes
526(i)NAD23.2.4 [sequence.reqmts]Is it undefined if a function in the standard changes in parameters?Yes
1259(i)NAD23.2.4 [sequence.reqmts]Should initializer-list constructors move elements?Yes
1036(i)NAD Concepts23.2.4 [sequence.reqmts]Remove iterator specification that is redundant due to concept constraintsYes
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
2743(i)C++2323.2.5.1 [container.node.overview]p0083r3node_handle private members missing "exposition only" commentYes3
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
2436(i)C++1723.2.7 [associative.reqmts]Comparators for associative containers should always beCopyConstructibleYes2
2542(i)C++1723.2.7 [associative.reqmts]Missingconst requirements for associative containersYes1
2322(i)C++1423.2.7 [associative.reqmts]Associative(initializer_list, stuff) constructors are underspecifiedYes0
1214(i)C++1423.2.7 [associative.reqmts]Insufficient/inconsistent key immutability requirements for associative containersYes
2258(i)C++1423.2.7 [associative.reqmts]a.erase(q1, q2) unable to directly returnq2Yes0
2299(i)C++1423.2.7 [associative.reqmts][CD] Effects of inaccessiblekey_compare::is_transparent type are not clearYes1
982(i)C++1123.2.7 [associative.reqmts]Wrong complexity for initializer_list assignment in Table 85Yes
1040(i)C++1123.2.7 [associative.reqmts]Clarify possible sameness of associative container'siterator andconst_iteratorYes
1253(i)C++1123.2.7 [associative.reqmts]invalidation of iterators andemplace vs.insert inconsistence in assoc. containersYes
103(i)CD123.2.7 [associative.reqmts]set::iterator is required to be modifiable, but this allows modification of keysYes
130(i)CD123.2.7 [associative.reqmts]Return type of container::erase(iterator) differs for associative containersYes451
233(i)CD123.2.7 [associative.reqmts]Insertion hints in associative containersYes192,246
264(i)CD123.2.7 [associative.reqmts]Associative containerinsert(i, j) complexity requirements are not feasible.Yes102
316(i)CD123.2.7 [associative.reqmts]Vague text in Table 69Yes
354(i)CD123.2.7 [associative.reqmts]Associative container lower/upper bound requirementsYes
224(i)TC123.2.7 [associative.reqmts]clear() complexity for associative containers refers to undefined NYes
1041(i)Resolved23.2.7 [associative.reqmts]Add associative/unordered container functions that allow to extract elementsYes
2830(i)Resolved23.2.7 [associative.reqmts]insert_return_type is only defined for containers with unique keysYes
2052(i)Resolved23.2.7 [associative.reqmts]Mixup betweenmapped_type andvalue_type for associative containersYes2
2430(i)NAD23.2.7 [associative.reqmts]Heterogeneous container lookup should be enabled using meta-function instead of nested typeYes
2772(i)NAD23.2.7 [associative.reqmts]Inconsistency in theinsert(node) interfaceYes2
82(i)NAD23.2.7 [associative.reqmts]Missing constant for set elementsYes
192(i)NAD23.2.7 [associative.reqmts]a.insert(p,t) is inefficient and overconstrainedYes233
215(i)NAD23.2.7 [associative.reqmts]Can a map's key_type be const?Yes
494(i)NAD23.2.7 [associative.reqmts]Wrong runtime complexity for associative container's insert and deleteYes
763(i)NAD23.2.7 [associative.reqmts]Renamingemplace() overloadsYes
1302(i)NAD23.2.7 [associative.reqmts]differentemplace semantics for sequence and associated containersYes
102(i)Dup23.2.7 [associative.reqmts]Bug in insert range in associative containersYes264
246(i)Dup23.2.7 [associative.reqmts]a.insert(p,t) is incorrectly specifiedYes233
451(i)Dup23.2.7 [associative.reqmts]Associative erase should return an iteratorYes130
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
3578(i)WP23.2.7.1 [associative.reqmts.general]Iterator SCARYness in the context of associative container mergingYes3
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
2977(i)C++2023.2.8 [unord.req]unordered_meow::merge() has incorrectThrows: clauseYes0
2156(i)C++1723.2.8 [unord.req]Unordered containers'reserve(n) reserves forn-1 elementsYes3
2540(i)C++1723.2.8 [unord.req]unordered_multimap::insert hint iteratorYes3
2550(i)C++1723.2.8 [unord.req]Wording of unordered container'sclear() method complexityYes2
2304(i)C++1423.2.8 [unord.req]Complexity ofcount in unordered associative containersYes0
2356(i)C++1423.2.8 [unord.req]Stability of erasure in unordered associative containersYes2
869(i)C++1123.2.8 [unord.req]Bucket (local) iterators and iterating past endYes
870(i)C++1123.2.8 [unord.req]Do unordered containers not support function pointers for predicate/hasher?Yes
981(i)C++1123.2.8 [unord.req]Unordered container requirements should addinitializer_list supportYes
1189(i)C++1123.2.8 [unord.req]Awkward interface for changing the number of buckets in an unordered associative containerYes
1197(i)C++1123.2.8 [unord.req]Can unordered containers havebucket_count() == 0?Yes
518(i)CD123.2.8 [unord.req]Are insert and erase stable for unordered_multiset and unordered_multimap?Yes
2831(i)Resolved23.2.8 [unord.req]Equality can be defined whenHash function objects have different behaviourYes
3176(i)Resolved23.2.8 [unord.req]Underspecified behavior of unordered containers whenContainer::key_equal differs fromPredYes2
3468(i)NAD23.2.8 [unord.req]Transparent lookups in unordered containers are inconsistentYes
1188(i)NAD23.2.8 [unord.req]Unordered containers should have a minimum load factor as well as a maximumYes
2199(i)NAD23.2.8 [unord.req]unordered containers are required to have an initial max load factor of 1.0Yes3
579(i)NAD23.2.8 [unord.req]erase(iterator) for unordered containers should not return an iteratorYes
764(i)NAD23.2.8 [unord.req]equal_range on unordered containers should return apair oflocal_iteratorsYes
1190(i)NAD23.2.8 [unord.req]Setting the maximum load factor should return the previous valueYes
2006(i)NAD23.2.8 [unord.req]emplace broken for associative containersYes
3622(i)C++2323.2.8.1 [unord.req.general]Misspecified transitivity of equivalence in §[unord.req.general]Yes2
2189(i)Open23.2.8.2 [unord.req.except]Throwingswap breaks unordered containers' stateNo3
2209(i)C++1423.3 [sequences]assign() overspecified for sequence containersYes
2210(i)C++1423.3 [sequences]Missing allocator-extended constructor for allocator-aware containersYes
679(i)CD123.3 [sequences]resize parameter by valueYes
1042(i)NAD23.3 [sequences]ProvideContiguousStorage concept and apply it to corresponding containersYes
2427(i)C++1723.3.1 [sequences.general]Container adaptors as sequence containers, reduxYes0
2914(i)Resolved23.3.2 [array.syn]std::array does not support class-template deduction from initializersYes
617(i)Open23.3.3 [array]std::array is a sequence that doesn't satisfy the sequence requirements?No3
1306(i)C++1123.3.3 [array]pointer andconst_pointer for<array>Yes
519(i)CD123.3.3 [array]Data() undocumentedYes
720(i)CD123.3.3 [array]Omissions in constexpr usagesYes
776(i)CD123.3.3 [array]Undescribedassign function ofstd::arrayYes
2443(i)Resolved23.3.3 [array]std::array member functions should beconstexprYes
2335(i)NAD23.3.3 [array]array<array<int, 3>, 4> should be layout-compatible withint[4][3]Yes3
851(i)NAD23.3.3 [array]simplified array constructionYes
588(i)NAD23.3.3 [array]requirements on zero sizedtr1::arrays and other detailsYes
930(i)NAD23.3.3 [array]Access to std::array data as built-in array typeYes
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
2310(i)C++1723.3.3.1 [array.overview]Publicexposition only member instd::arrayYes4
2590(i)C++1723.3.3.1 [array.overview]Aggregate initialization forstd::arrayYes0
2897(i)Resolved23.3.3.1 [array.overview]array::iterator andarray::const_iterator should be literal typesYes2
3488(i)Open23.3.3.4 [array.special]Isarray<const int, 0> swappable or not?Yes3
4276(i)Voting23.3.3.5 [array.zero]front() andback() are not hardened for zero-lengthstd::arraysYes
2157(i)Open23.3.3.5 [array.zero]How doesstd::array<T,0> initialization work whenT is not default-constructible?Yes3
1417(i)C++1123.3.3.5 [array.zero]front/back on a zero-sizedarray should be undefinedYes
237(i)CD123.3.5.2 [deque.cons]Undefined expression in complexity specificationYes
144(i)TC123.3.5.2 [deque.cons]Deque constructor complexity wrongYes
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
1418(i)C++1123.3.5.3 [deque.capacity]Effects ofresize(size()) on adequeYes
850(i)CD123.3.5.3 [deque.capacity]Shouldshrink_to_fit apply tostd::deque?Yes
855(i)NAD23.3.5.3 [deque.capacity]capacity() and reserve() for deque?Yes
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
2953(i)C++2023.3.5.4 [deque.modifiers]LWG 2853 should apply todeque::erase tooYes0
2364(i)C++1723.3.5.4 [deque.modifiers]deque andvectorpop_back don't specify iterator invalidation requirementsYes0
2477(i)C++1723.3.5.4 [deque.modifiers]Inconsistency of wordings instd::vector::erase() andstd::deque::erase()Yes0
638(i)CD123.3.5.4 [deque.modifiers]deque end invalidation during eraseYes
878(i)C++1123.3.7 [forward.list]forward_list preconditionsYes
1276(i)C++1123.3.7 [forward.list]forwardlist missing allocator constructorsYes
1419(i)NAD Editorial23.3.7 [forward.list]forward_list::erase_after should return an iteratorYes
2042(i)C++1123.3.7.3 [forward.list.iter]Comparingforward_list::before_begin() toforward_list::end()Yes
4164(i)WP23.3.7.5 [forward.list.modifiers]Missing guarantees forforward_list modifiersYes3
3817(i)C++2323.3.7.5 [forward.list.modifiers]Missing preconditions onforward_list modifiersYes
2585(i)C++1723.3.7.5 [forward.list.modifiers]forward_list::resize(size_type, const value_type&) effects incorrectYes0
1278(i)C++1123.3.7.5 [forward.list.modifiers]Inconsistent return values forforward_list::insert_afterYes
1340(i)C++1123.3.7.5 [forward.list.modifiers]Why doesforward_list::resize take the object to be copied by value?Yes
897(i)Resolved23.3.7.5 [forward.list.modifiers]Forward_list issues... Part 2Yes
3088(i)C++2323.3.7.6 [forward.list.ops]forward_list::merge behavior unclear when passed*thisYes3
3017(i)C++2023.3.7.6 [forward.list.ops]list splice functions should useaddressofYes0
2045(i)C++1423.3.7.6 [forward.list.ops]forward_list::merge andforward_list::splice_after with unequal allocatorsYes
2123(i)C++1423.3.7.6 [forward.list.ops]merge() allocator requirements for lists versus forward listsYes
2222(i)C++1423.3.7.6 [forward.list.ops]Inconsistency in description offorward_list::splice_after single-element overloadYes
898(i)C++1123.3.7.6 [forward.list.ops]Small contradiction in n2723 to forward to committeeYes
1133(i)C++1123.3.7.6 [forward.list.ops]Does N2844 break current specification of list::splice?Yes
1310(i)C++1123.3.7.6 [forward.list.ops]forward_list splice_after from lvaluesYes
892(i)NAD Editorial23.3.7.6 [forward.list.ops]Forward_list issues...Yes
919(i)NAD23.3.7.6 [forward.list.ops](forward_)list specialized remove algorithms are over constrainedYes
4135(i)WP23.3.7.7 [forward.list.erasure]The helper lambda ofstd::erase forlist should specify return type asboolYes
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
4318(i)Voting23.3.9.6 [hive.erasure]Havehive::erase_if reevaluateend() to avoid UBYes
4233(i)WP23.3.9.6 [hive.erasure]The helper lambda ofstd::erase forhive should specify return type asboolYes
307(i)CD123.3.11 [list]Lack of reference typedefs in container adaptorsYes
320(i)CD123.3.11.2 [list.cons]list::assign overspecifiedYes
410(i)CD123.3.11.2 [list.cons]Missing semantics for stack and queue comparison operatorsYes
1420(i)C++1123.3.11.3 [list.capacity]Effects ofresize(size()) on alistYes
132(i)TC123.3.11.3 [list.capacity]list::resize description uses random access iteratorsYes
2997(i)C++2323.3.11.5 [list.ops]LWG 491 and the specification of{forward_,}list::uniqueYes3
2998(i)C++2023.3.11.5 [list.ops]Requirements on function objects passed to{forward_,}list-specific algorithmsYes0
3087(i)C++2023.3.11.5 [list.ops]One final&x in §[list.ops]Yes3
2824(i)C++1723.3.11.5 [list.ops]list::sort should say that the order of elements is unspecified if an exception is thrownYes0
2122(i)C++1423.3.11.5 [list.ops]merge() stability for lists versus forward listsYes
1207(i)C++1123.3.11.5 [list.ops]Underspecifiedstd::list operations?Yes
1215(i)C++1123.3.11.5 [list.ops]list::merge with unequal allocatorsYes
250(i)CD123.3.11.5 [list.ops]splicing invalidates iteratorsYes
278(i)CD123.3.11.5 [list.ops]What does iterator validity mean?Yes
300(i)CD123.3.11.5 [list.ops]list::merge() specification incompleteYes
315(i)CD123.3.11.5 [list.ops]Bad "range" in list::unique complexityYes
2279(i)NAD23.3.11.5 [list.ops]Carefully state effects oflist::splice functionYes
131(i)NAD23.3.11.5 [list.ops]list::splice throws nothingYes
491(i)NAD23.3.11.5 [list.ops]std::list<>::unique incorrectly specifiedYes
464(i)CD123.3.13 [vector]Suggestion for new member functions in standard containersYes
469(i)CD123.3.13 [vector]vector<bool> ill-formed relational operatorsYes
496(i)CD123.3.13 [vector]Illegal use of "T" in vector<bool>Yes
69(i)TC123.3.13 [vector]Must elements of a vector be contiguous?Yes
101(i)NAD Editorial23.3.13 [vector]No way to free storage for vector and dequeYes
757(i)NAD Editorial23.3.13 [vector]Typo in the synopsis of vectorYes
1184(i)NAD23.3.13 [vector]Feature request: dynamic bitsetYes
96(i)NAD23.3.13 [vector]Vector<bool> is not a containerYes
134(i)TC123.3.13.2 [vector.cons]vector constructors over specifiedYes
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
2160(i)C++1723.3.13.3 [vector.capacity]Unintended destruction ordering-specification ofresizeYes1
2223(i)C++1723.3.13.3 [vector.capacity]shrink_to_fit effect on iterator validityYes2
2323(i)C++1423.3.13.3 [vector.capacity]vector::resize(n, t)'s specification should be simplifiedYes0
2033(i)C++1423.3.13.3 [vector.capacity]Preconditions ofreserve,shrink_to_fit, andresize functionsYes
1525(i)C++1123.3.13.3 [vector.capacity]Effects ofresize(size()) on avectorYes
329(i)CD123.3.13.3 [vector.capacity]vector capacity, reserve and reallocationYes
341(i)CD123.3.13.3 [vector.capacity]Vector reallocation and swapYes
755(i)CD123.3.13.3 [vector.capacity]std::vector andstd:string lack explicit shrink-to-fit operationsYes
2066(i)Resolved23.3.13.3 [vector.capacity]Missing specification ofvector::resize(size_type)Yes
1246(i)NAD23.3.13.3 [vector.capacity]vector::resize() missing efficiency guaranteeYes
2596(i)C++1723.3.13.4 [vector.data]vector::data() should useaddressofYes0
1312(i)C++1123.3.13.4 [vector.data]vector::data no longer returns a raw pointerYes
2164(i)C++2023.3.13.5 [vector.modifiers]What are the semantics ofvector.emplace(vector.begin(), vector.back())?Yes2
3077(i)C++2023.3.13.5 [vector.modifiers](push|emplace)_back should invalidate theend iteratorYes3
2853(i)C++1723.3.13.5 [vector.modifiers]Possible inconsistency in specification oferase in [vector.modifiers]Yes0
2252(i)C++1423.3.13.5 [vector.modifiers]Strong guarantee onvector::push_back() still broken with C++11?Yes
247(i)CD123.3.13.5 [vector.modifiers]vector,deque::insert complexityYes
406(i)CD123.3.13.5 [vector.modifiers]vector::insert(s) exception safetyYes
414(i)CD123.3.13.5 [vector.modifiers]Which iterators are invalidated by v.erase()?Yes
2256(i)NAD23.3.13.5 [vector.modifiers]Onvector iterator invalidationYes3
2449(i)NAD23.3.13.5 [vector.modifiers]vector::insert invalidatesend()?Yes3
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
2187(i)C++1423.3.14 [vector.bool]vector<bool> is missingemplace andemplace_back member functionsYes
814(i)C++1123.3.14 [vector.bool]vector<bool>::swap(reference, reference) not definedYes
1254(i)C++1123.3.14 [vector.bool]Misleading sentence invector<bool>::flipYes
1284(i)C++1123.3.14 [vector.bool]vector<bool> initializer_list constructor missing an allocator argumentYes
751(i)NAD23.3.14 [vector.bool]change pass-by-reference members ofvector<bool> to pass-by-value?Yes
4228(i)Tentatively NAD23.3.14.1 [vector.bool.pspc]Doesvector<bool, Allocator> mandate thatAllocator::value_type isbool?No
3778(i)C++2323.3.14.1 [vector.bool.pspc]vector<bool> missing exception specificationsYes
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
839(i)Resolved23.4 [associative]Maps and sets missing splice operationYes
2012(i)Resolved23.4 [associative]Associative maps should insertpair, nottupleYes
2161(i)NAD23.4 [associative]const equivalence ofstd::mapYes2
1111(i)NAD Concepts23.4 [associative]associative containers underconstrainedYes
4223(i)New23.4.1 [associative.general]Deduction guides for maps are mishandling tuples and referencesYes2
2059(i)C++1723.4.3 [map]C++0x ambiguity problem withmap::eraseYes3
2300(i)C++1423.4.3 [map][CD] Redundant sections formap andmultimap members should be removedYes
1423(i)C++1123.4.3 [map]map constructor accepting an allocator as single parameter should be explicitYes
133(i)TC123.4.3 [map]map missing get_allocator()Yes
140(i)NAD Editorial23.4.3 [map]map<Key, T>::value_type does not satisfy the assignable requirementYes
1296(i)NAD23.4.3 [map]map andmultimap value_compare overspecifiedYes
4291(i)Voting23.4.3.1 [map.overview]explicit map(const Allocator&) should beconstexprYes
3531(i)New23.4.3.1 [map.overview]LWG 3025 broke previous valid codeYes3
3025(i)C++2023.4.3.1 [map.overview]Map-like container deduction guides should usepair<Key, T>, notpair<const Key, T>Yes2
2354(i)C++1723.4.3.1 [map.overview]Unnecessary copying when inserting into maps with braced-init syntaxYes2
2469(i)C++1723.4.3.3 [map.access]Wrong specification of Requires clause ofoperator[] formap andunordered_mapYes3
2007(i)C++1123.4.3.3 [map.access]Incorrect specification of return value formap<>::at()Yes
334(i)CD123.4.3.3 [map.access]map::operator[] specification forces inefficient implementationYes
703(i)CD123.4.3.3 [map.access]map::at() need a complexity specificationYes
2274(i)Resolved23.4.3.3 [map.access]Doesmap::operator[] value-initialize or default-insert a missing element?Yes3
2464(i)C++1723.4.3.4 [map.modifiers]try_emplace andinsert_or_assign misspecifiedYes2
2571(i)C++1723.4.3.4 [map.modifiers]§[map.modifiers]/2 imposes nonsensical requirement oninsert(InputIterator, InputIterator)Yes0
2005(i)C++1423.4.3.4 [map.modifiers]unordered_map::insert(T&&) protection should apply tomap tooYes
1424(i)C++1123.4.4 [multimap]multimap constructor accepting an allocator as a single parameter should be explicitYes
1091(i)NAD23.4.4.3 [multimap.modifiers]Multimap description confusingYes
1425(i)C++1123.4.6 [set]set constructor accepting an allocator as a single parameter should be explicitYes
214(i)CD123.4.6 [set]set::find() missing const overloadYes450
450(i)Dup23.4.6 [set]set::find is inconsistent with associative container requirementsYes214
3704(i)C++2323.4.6.1 [set.overview]LWG 2059 added overloads that might be ill-formed for setsYes
2076(i)C++1723.4.6.2 [set.cons]BadCopyConstructible requirement in set constructorsYes3
1426(i)C++1123.4.7 [multiset]multiset constructor accepting an allocator as a single parameter should be explicitYes
2713(i)New23.5 [unord]More missing allocator-extended constructors for unordered containersYes3
2230(i)C++1723.5 [unord]"see below" for initializer-list constructors of unordered containersYes4
2050(i)C++1423.5 [unord]Unordered associative containers do not useallocator_traits to define member typesYes
676(i)C++1123.5 [unord]Moving the unordered containersYes
691(i)CD123.5 [unord]const_local_iterator cbegin, cend missing from TR1Yes
852(i)CD123.5 [unord]unordered containersbegin(n) mistakenlyconstYes
1248(i)Resolved23.5 [unord]Equality comparison for unordered containersYes
528(i)NAD23.5 [unord]const_iteratoriterator issue when they are the same typeYes
2026(i)NAD23.5 [unord]hash should bestd qualified for unordered containerYes
1427(i)C++1123.5.3 [unord.map]unordered_map constructor accepting an allocator as a single parameter should be explicitYes
1519(i)C++1123.5.3 [unord.map]bucketsize() const only for unordered setYes
4292(i)Voting23.5.3.1 [unord.map.overview]Unordered container local iterators should be constexpr iteratorsYes
761(i)CD123.5.3.3 [unord.map.elem]unordered_map needs anat() member functionYes
1428(i)C++1123.5.4 [unord.multimap]unordered_multimap constructor accepting an allocator as a single parameter should be explicitYes
1429(i)C++1123.5.6 [unord.set]unordered_set constructor accepting an allocator as a single parameter should be explicitYes
2982(i)C++2023.5.6.1 [unord.set.overview]Makingsize_type consistent in associative container deduction guidesYes2
1430(i)C++1123.5.7 [unord.multiset]unordered_multiset constructor accepting an allocator as a single parameter should be explicitYes
2566(i)C++1723.6 [container.adaptors]Requirements on the first template parameter of container adaptorsYes0
2194(i)C++1423.6 [container.adaptors]Impossible container requirements for adaptor typesYes
1199(i)C++1123.6 [container.adaptors]Missing extended copy constructor in container adaptorsYes
1194(i)C++1123.6 [container.adaptors]Unintendedqueue constructorYes
1198(i)C++1123.6 [container.adaptors]Container adaptor swap: member or non-member?Yes
2915(i)Resolved23.6 [container.adaptors]The three container adapters should each have a deduction guideYes
756(i)Resolved23.6 [container.adaptors]Container adaptors pushYes
1421(i)Resolved23.6 [container.adaptors]Accidental move-only library types due to new core language rulesYes1350
3781(i)C++2323.6.1 [container.adaptors.general]The exposition-only alias templatescont-key-type andcont-mapped-type should be removedYes
4398(i)Voting23.6.2 [queue.syn]enable_nonlocking_formatter_optimization should be disabled for container adaptorsYes2
4371(i)Tentatively NAD23.6.3.1 [queue.defn]Container adaptor'sempty/size should benoexceptYes
2783(i)C++2023.6.3.1 [queue.defn]stack::emplace() andqueue::emplace() should returndecltype(auto)Yes2
3189(i)New23.6.4 [priority.queue]Missing requirement forstd::priority_queueNo3
3506(i)C++2323.6.4 [priority.queue]Missing allocator-extended constructors forpriority_queueYes3
3522(i)C++2323.6.4 [priority.queue]Missing requirement onInputIterator template parameter forpriority_queue constructorsYes
3529(i)C++2323.6.4 [priority.queue]priority_queue(first, last) should constructc with(first, last)Yes
2684(i)C++1723.6.4 [priority.queue]priority_queue lacking comparator typedefYes0
2552(i)NAD23.6.4 [priority.queue]priority_queue doesn't work with move-only typesYes3
1196(i)Resolved23.6.4.2 [priqueue.cons]move semantics undefined for priority_queueYes
2537(i)C++1723.6.4.3 [priqueue.cons.alloc]Constructors forpriority_queue taking allocators should callmake_heapYes0
3723(i)C++2323.6.4.4 [priqueue.members]priority_queue::push_range needs toappend_rangeYes2
3161(i)Open23.6.6 [stack]Container adapters mandate use ofemplace_back but don't require itYes3
1186(i)NAD Concepts23.6.6 [stack]Forward list could model a stackYes
976(i)Resolved23.6.6.2 [stack.defn]Class templatestd::stack should be movableYes
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
3884(i)WP23.6.8 [flat.map]flat_foo is missing allocator-extended copy/move constructorsYes
3803(i)C++2323.6.8 [flat.map]flat_foo constructors takingKeyContainer lackKeyCompare parameterYes1
3966(i)New23.6.8.1 [flat.map.overview]Thevalue_type andreference members ofstd::flat_(multi)map::(const_)iterator are unclearNo3
3816(i)C++2323.6.8.1 [flat.map.overview]flat_map andflat_multimap should impose sequence container requirementsYes
3963(i)New23.6.8.2 [flat.map.defn]Differentstd::flat_map/std::flat_multimap specializations should be able to share same nested classesYes3
3786(i)C++2323.6.8.2 [flat.map.defn]Flat maps' deduction guide needs to defaultAllocator to be usefulYes2
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
4239(i)WP23.6.8.7 [flat.map.modifiers]flat_map's transparent comparator no longer works for string literalsYes
4352(i)New23.6.9.1 [flat.multimap.overview]"operations on flat_multimap are equivalent to those of flat_map"No3
3774(i)C++2323.6.10 [flat.set.syn]<flat_set> should include<compare>Yes
4048(i)New23.6.11 [flat.set]Inconsistent preconditions for transparent insertion ofstd::flat_map/std::flat_setYes2
4384(i)Voting23.6.11.2 [flat.set.defn]flat_set::erase(iterator) is underconstrainedYes
3879(i)C++2323.6.11.6 [flat.set.erasure]erase_if forflat_{,multi}set is incorrectly specifiedYes
4180(i)New23.6.12.5 [flat.multiset.modifiers]Inconsistent constraints onflat_foo::emplaceYes3
3881(i)C++2323.6.13 [container.adaptors.format]Incorrect formatting of container adapters backed bystd::stringYes
4351(i)Voting23.7.2.1 [span.syn]integral-constant-like needs moreremove_cvref_tYes
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
3203(i)WP23.7.2.2.1 [span.overview]span element access invalidationYes2
3903(i)WP23.7.2.2.1 [span.overview]span destructor is redundantlynoexceptYes
3102(i)C++2023.7.2.2.1 [span.overview]Clarifyspan iterator andconst_iterator behaviorYes0
3144(i)C++2023.7.2.2.1 [span.overview]span does not have aconst_pointer typedefYes0
3369(i)C++2023.7.2.2.1 [span.overview]span's deduction-guide for built-in arrays doesn't workYes0
4397(i)New23.7.2.2.2 [span.cons]Improvespan(R&& r)Yes3
3100(i)C++2023.7.2.2.2 [span.cons]Unnecessary and confusing "emptyspan" wordingYes0
3101(i)C++2023.7.2.2.2 [span.cons]span'sContainer constructors need another constraintYes1
3198(i)C++2023.7.2.2.2 [span.cons]Bad constraint onstd::span::span()Yes
3255(i)C++2023.7.2.2.2 [span.cons]span'sarray constructor is too strictYes2
3358(i)C++2023.7.2.2.2 [span.cons]§[span.cons] is mistaken thatto_address can throwYes0
4404(i)Tentatively NAD23.7.2.2.3 [span.deduct]Shouldspan(R&&) CTAD apply P2280?Yes
4293(i)Voting23.7.2.2.4 [span.sub]span::subspan/first/last chooses wrong constructor when T is const-qualified boolYes
3103(i)C++2023.7.2.2.4 [span.sub]Errors in taking subview ofspan should be ill-formed where possibleYes3
4011(i)WP23.7.2.2.6 [span.elem]"Effects: Equivalent to return" in [span.elem]Yes
3320(i)C++2023.7.2.2.7 [span.iterators]span::cbegin/cend methods produce different results thanstd::[ranges::]cbegin/cendYes0
4243(i)Voting23.7.2.3 [span.objectrep]as_bytes/as_writable_bytes is broken withspan<volatile T>Yes4
3995(i)New23.7.3 [views.multidim]Issue with custom index conversion in<mdspan>No3
4275(i)Voting23.7.3.2 [mdspan.syn]std::dynamic_extent should also be defined in<mdspan>Yes3
3970(i)WP23.7.3.2 [mdspan.syn]§[mdspan.syn] Missing definition offull_extent_t andfull_extentYes
4020(i)Voting23.7.3.3.2 [mdspan.extents.expo]extents::index-cast weirdnessYes
4272(i)Immediate23.7.3.4 [mdspan.layout]Forrank == 0,layout_stride is atypically convertibleYes2
4314(i)New23.7.3.4 [mdspan.layout]Missing move inmdspan layoutmapping::operator()Yes2
3876(i)C++2323.7.3.4 [mdspan.layout]Default constructor ofstd::layout_XX::mapping misses preconditionYes
4217(i)WP23.7.3.4.2 [mdspan.layout.reqmts]Clarifymdspan layout mapping requirements forrank == 0Yes
4266(i)Voting23.7.3.4.7 [mdspan.layout.stride]layout_stride::mapping should treat empty mappings as exhaustiveYes
3861(i)Resolved23.7.3.4.7 [mdspan.layout.stride]mdspanlayout_stride::mapping default constructor problemYes1
4372(i)Voting23.7.3.4.8.1 [mdspan.layout.leftpad.overview]WeakenMandates: for dynamic padding values in padded layoutsYes
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
3974(i)WP23.7.3.6.3 [mdspan.mdspan.members]mdspan::operator[] should not copyOtherIndexTypesYes
4060(i)WP23.7.3.7.7 [mdspan.sub.sub]submdspan preconditions do not forbid creating invalid pointerYes

Section 24 (218 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3952(i)New24.2 [iterator.synopsis]iter_common_reference_t does not conform to the definition ofindirectly_readableYes3
3736(i)C++2324.2 [iterator.synopsis]move_iterator missingdisable_sized_sentinel_for specializationYes
3765(i)C++2324.2 [iterator.synopsis]const_sentinel should be constrainedYes
3862(i)C++2324.2 [iterator.synopsis]basic_const_iterator'scommon_type specialization is underconstrainedYes
2061(i)C++1424.2 [iterator.synopsis]make_move_iterator and arraysYes
2128(i)C++1424.2 [iterator.synopsis]Absence of global functionscbegin/cendYes
1320(i)NAD24.2 [iterator.synopsis]Header foriter_swapYes
1128(i)NAD Concepts24.2 [iterator.synopsis]Missing definition ofiterator_traits<T*>Yes
1213(i)Open24.3 [iterator.requirements]Meaning of valid and singular iterator underspecifiedNo4
2578(i)C++1724.3 [iterator.requirements]Iterator requirements should reference iterator traitsYes3
1185(i)Resolved24.3 [iterator.requirements]Iterator categories and output iteratorsYes
1210(i)Resolved24.3 [iterator.requirements]Iterator reachability should not require a containerYes
1212(i)Resolved24.3 [iterator.requirements]result of post-increment/decrement operatorYes
408(i)NAD Editorial24.3 [iterator.requirements]Isvector<reverse_iterator<char*> > forbidden?Yes
446(i)NAD Editorial24.3 [iterator.requirements]Iterator equality between different containersYes
2107(i)NAD24.3 [iterator.requirements]Some iterator category should guarantee the lifetime of referencesYes
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
3259(i)C++2024.3.1 [iterator.requirements.general]The definition ofconstexpr iterators should be adjustedYes0
2375(i)Resolved24.3.1 [iterator.requirements.general]Is [iterator.requirements.general]/9 too broadly applied?Yes3
3110(i)Resolved24.3.1 [iterator.requirements.general]Contiguous Iterators should always be Random-AccessYes3
4178(i)NAD Editorial24.3.1 [iterator.requirements.general]writable is no longer a term of powerYes
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
3446(i)C++2324.3.2.2 [readable.traits]indirectly_readable_traits ambiguity for types with bothvalue_type andelement_typeYes2
3541(i)C++2324.3.2.2 [readable.traits]indirectly_readable_traits should be SFINAE-friendly for all typesYes
3287(i)New24.3.2.3 [iterator.traits]Exposition-onlycpp17-input-iterator concept is needlessly complexYes3
3420(i)C++2324.3.2.3 [iterator.traits]cpp17-iterator should check that the type looks like an iterator firstYes0
3798(i)C++2324.3.2.3 [iterator.traits]Rvalue reference anditerator_categoryYes
2952(i)C++2024.3.2.3 [iterator.traits]iterator_traits should work for pointers tocvTYes0
445(i)CD124.3.2.3 [iterator.traits]iterator_traits::reference unspecified for some iterator categoriesYes
3283(i)Resolved24.3.2.3 [iterator.traits]Types satisfyinginput_iterator but notequality_comparable look likeC++17 output iteratorsYes2
3289(i)Resolved24.3.2.3 [iterator.traits]Cannot opt out of C++17 iterator-ness without also opting out of C++20 iterator-nessYes2
2951(i)Resolved24.3.2.3 [iterator.traits]iterator_traits should SFINAE forvoid* and function pointersYes3
1127(i)NAD Concepts24.3.2.3 [iterator.traits]rvalue references and iterator traitsYes
3247(i)C++2024.3.3.1 [iterator.cust.move]ranges::iter_move should perform ADL-only lookup ofiter_moveYes2
3299(i)C++2024.3.3.1 [iterator.cust.move]Pointers don't need customized iterator behaviorYes0
765(i)C++1124.3.4 [iterator.concepts]More on iterator validityYes
198(i)CD124.3.4 [iterator.concepts]Validity of pointers and references unspecified after iterator destructionYes
346(i)CD124.3.4 [iterator.concepts]Some iterator member functions should be constYes
407(i)CD124.3.4 [iterator.concepts]Can singular iterators be destroyed?Yes
208(i)TC124.3.4 [iterator.concepts]Unnecessary restriction on past-the-end iteratorsYes
304(i)NAD24.3.4 [iterator.concepts]Must*a return an lvalue whena is an input iterator?Yes
3279(i)Resolved24.3.4.2 [iterator.concept.readable]shared_ptr<int>& does not not satisfyreadableYes1
3890(i)New24.3.4.4 [iterator.concept.winc]ABI issue for integer-class typesYes3
3467(i)C++2324.3.4.4 [iterator.concept.winc]bool can't be an integer-like typeYes0
3367(i)C++2024.3.4.4 [iterator.concept.winc]Integer-class conversions should not throwYes0
3366(i)Resolved24.3.4.4 [iterator.concept.winc]Narrowing conversions between integer and integer-class typesYes3
3376(i)Resolved24.3.4.4 [iterator.concept.winc]"integer-like class type" is too restrictiveYes3
3575(i)Resolved24.3.4.4 [iterator.concept.winc]<=> for integer-class types isn't consistently specifiedYes3
3183(i)C++2024.3.4.8 [iterator.concept.sizedsentinel]Normative permission to specialize Ranges variable templatesYes0
3716(i)New24.3.4.11 [iterator.concept.forward]§[iterator.concept.forward][forward.iterators] Two different definitions of multi-pass guaranteeNo3
3277(i)C++2024.3.4.13 [iterator.concept.random.access]Pre-increment on prvalues is not a requirement ofweakly_incrementableYes0
3284(i)C++2024.3.4.13 [iterator.concept.random.access]random_access_iterator semantic constraints accidentally promote difference type using unary negateYes0
4170(i)WP24.3.4.14 [iterator.concept.contiguous]contiguous_iterator should requireto_address(I{})Yes
3607(i)C++2324.3.4.14 [iterator.concept.contiguous]contiguous_iterator should not be allowed to have customiter_move anditer_swap behaviorYes
2437(i)C++1724.3.5.2 [iterator.iterators]iterator_traits<OutIt>::reference can and can't bevoidYes3
1009(i)NAD24.3.5.2 [iterator.iterators]InputIterator post-increment dangerousYes
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
98(i)CD124.3.5.3 [input.iterators]Input iterator requirements are badly writtenYes
558(i)NAD Editorial24.3.5.3 [input.iterators]lib.input.iterators DefectYes
392(i)NAD24.3.5.3 [input.iterators]'equivalence' for input iteratorsYes
493(i)NAD24.3.5.3 [input.iterators]Undefined Expression in Input Iterator Note TitleYes
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
324(i)CD124.3.5.4 [output.iterators]Do output iterators have value types?Yes
485(i)Resolved24.3.5.4 [output.iterators]output iterator insufficiently constrainedYes
200(i)CD124.3.5.5 [forward.iterators]Forward iterator requirements don't allow constant iteratorsYes
478(i)CD124.3.5.5 [forward.iterators]Should forward iterator requirements table have a line for r->m?Yes477
1311(i)Resolved24.3.5.5 [forward.iterators]multi-pass property of Forward Iterator underspecifiedYes
476(i)NAD24.3.5.5 [forward.iterators]Forward Iterator implied mutabilityYes
477(i)Dup24.3.5.5 [forward.iterators]Operator-> for const forward iteratorsYes478
1084(i)NAD Concepts24.3.5.5 [forward.iterators]ConceptForwardIterator should provide default implementation for post-incrementYes
383(i)CD124.3.5.6 [bidirectional.iterators]Bidirectional iterator assertion typoYes
299(i)NAD Editorial24.3.5.6 [bidirectional.iterators]Incorrect return types for iterator dereferenceYes
1085(i)NAD Concepts24.3.5.6 [bidirectional.iterators]BidirectionalIterator concept should provide default implementation for post-decrementYes
3236(i)C++2324.3.5.7 [random.access.iterators]Random access iterator requirements lack limiting relational operators domain to comparing those from the same rangeYes3
2519(i)C++1724.3.5.7 [random.access.iterators]Iteratoroperator-= has gratuitous undefined behaviourYes2
1079(i)C++1124.3.5.7 [random.access.iterators]UK-265:RandomAccessIterator'soperator- has nonsensical effects clauseYes
448(i)CD124.3.5.7 [random.access.iterators]Random Access Iterators over abstract classesYes
458(i)NAD24.3.5.7 [random.access.iterators]24.1.5 contains unintended limitation foroperator-Yes
1010(i)NAD Concepts24.3.5.7 [random.access.iterators]operator-= should use default in conceptYes
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
3859(i)Resolved24.3.6.4 [projected]std::projected cannot handle proxy iteratorYes3
3996(i)NAD24.3.6.4 [projected]projected<I, identity> should just beIYes
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
2353(i)C++1724.4.3 [iterator.operations]std::next is over-constrainedYes4
1011(i)C++1124.4.3 [iterator.operations]next/prev wrong iterator typeYes
940(i)Resolved24.4.3 [iterator.operations]std::distanceYes
204(i)NAD24.4.3 [iterator.operations]distance(first, last) when "last" is before "first"Yes
3306(i)C++2324.4.4.2 [range.iter.op.advance]ranges::advance violates its preconditionsYes2
3453(i)C++2324.4.4.2 [range.iter.op.advance]Generic code cannot callranges::advance(i, s)Yes2
4303(i)New24.4.4.3 [range.iter.op.distance]std::decay_t in the specification ofranges::distance is problematicYes4
4242(i)WP24.4.4.3 [range.iter.op.distance]ranges::distance does not work with volatile iteratorsYes
3392(i)C++2324.4.4.3 [range.iter.op.distance]ranges::distance() cannot be used on a move-only iterator with a sized sentinelYes3
3664(i)C++2324.4.4.3 [range.iter.op.distance]LWG 3392 brokestd::ranges::distance(a, a+3)Yes2
2858(i)New24.5.1 [reverse.iterators]LWG 2472: actually an incompatibility with C++03Yes4
2285(i)C++1424.5.1 [reverse.iterators]make_reverse_iteratorYes
280(i)CD124.5.1 [reverse.iterators]Comparison of reverse_iterator to const reverse_iteratorYes
2208(i)Resolved24.5.1 [reverse.iterators]std::reverse_iterator should be a literal typeYes3
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
2360(i)C++1424.5.1.2 [reverse.iterator]reverse_iterator::operator*() is unimplementableYes1
235(i)CD124.5.1.2 [reverse.iterator]No specification of default ctor for reverse_iteratorYes
3602(i)New24.5.1.4 [reverse.iter.cons]reverse_iterator's converting assignment is overconstrainedYes3
1012(i)C++1124.5.1.4 [reverse.iter.cons]reverse_iterator default ctor should value initializeYes
3725(i)New24.5.1.6 [reverse.iter.elem]reverse_iterator::operator-> should not useprev for non-pointer iteratorsYes3
2188(i)C++1424.5.1.6 [reverse.iter.elem]Reverse iterator does not fully support targets that overloadoperator&Yes1
386(i)CD124.5.1.6 [reverse.iter.elem]Reverse iterator's operator[] has impossible return typeYes
1052(i)Resolved24.5.1.6 [reverse.iter.elem]reverse_iterator::operator-> should also support smart pointersYes2775
3726(i)NAD24.5.1.6 [reverse.iter.elem]reverse_iterator::operator-> is underconstrained for non-pointer iteratorsYes
3727(i)NAD24.5.1.6 [reverse.iter.elem]reverse_iterator/common_iterator'soperator-> should not require the underlying iterator'soperator-> to be aconst member functionYes
1051(i)NAD24.5.1.6 [reverse.iter.elem]Specify subscript operation return types ofreverse_iterator andmove_iteratorYes
2204(i)NAD24.5.1.6 [reverse.iter.elem]reverse_iterator should not require a second copy of the base iteratorYes
2347(i)NAD24.5.1.6 [reverse.iter.elem]reverse_iterator::operator[] calls const version ofcurrent[]Yes2
2775(i)Dup24.5.1.6 [reverse.iter.elem]reverse_iterator is does not compile for fancy pointersYes1052
99(i)NAD24.5.1.8 [reverse.iter.cmp]Reverse_iterator comparisons completely wrongYes
685(i)CD124.5.1.9 [reverse.iter.nonmember]reverse_iterator/move_iterator difference has invalid signaturesYes
2916(i)NAD24.5.2 [insert.iterators]Insert iterators should each have an instantiation guide to initialize from a containerYes
100(i)NAD24.5.2 [insert.iterators]Insert iterators/ostream_iterators overconstrainedYes
977(i)NAD24.5.2 [insert.iterators]insert iterators inefficient for expensive to move typesYes
1062(i)NAD24.5.2 [insert.iterators]Missing insert_iterator for stacks/queuesYes
3415(i)NAD24.5.2.2 [back.insert.iterator]back_insert_iterator fails when a container is also its value typeYes
903(i)NAD24.5.2.2 [back.insert.iterator]back_insert_iterator issueYes
2324(i)C++1424.5.2.2.2 [back.insert.iter.ops]Insert iterator constructors should useaddressof()Yes0
1334(i)C++1124.5.2.2.2 [back.insert.iter.ops]Insert iterators are broken for some proxy containers compared to C++03Yes
901(i)NAD24.5.2.4 [insert.iterator]insert iterators can move from lvaluesYes
561(i)CD124.5.2.4.3 [inserter]inserter overly genericYes
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
3769(i)C++2324.5.3 [const.iterators]basic_const_iterator::operator== causes infinite constraint recursionYes1
3853(i)C++2324.5.3 [const.iterators]basic_const_iterator<volatile int*>::operator-> is ill-formedYes
3872(i)C++2324.5.3 [const.iterators]basic_const_iterator should have customiter_moveYes3
3863(i)New24.5.3.2 [const.iterators.alias]Isinput_iterator guaranteed to haveiter_const_reference_t?No2
4253(i)Voting24.5.3.3 [const.iterators.iterator]basic_const_iterator should provideiterator_typeYes
4237(i)New24.5.3.3 [const.iterators.iterator]The standard library iterator adaptor does not handleiterator_category correctlyNo3
3858(i)NAD24.5.3.4 [const.iterators.types]basic_const_iterator is too strict to provideiterator_categoryYes
4218(i)New24.5.3.5 [const.iterators.ops]Constraint recursion inbasic_const_iterator's relational operators due to ADL + CWG 2369Yes2
3391(i)C++2324.5.4 [move.iterators]Problems withcounted_iterator/move_iterator::base() const &Yes2
3593(i)C++2324.5.4 [move.iterators]Several iterators'base() const & andlazy_split_view::outer-iterator::value_type::end() missingnoexceptYes
2106(i)C++1724.5.4 [move.iterators]move_iterator wrapping iterators returning prvaluesYes3
979(i)NAD Editorial24.5.4 [move.iterators]Bad exampleYes
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
680(i)CD124.5.4.2 [move.iterator]move_iteratoroperator-> returnYes
1211(i)Resolved24.5.4.2 [move.iterator]Move iterators should be restricted as input iteratorsYes
3265(i)C++2324.5.4.4 [move.iter.cons]move_iterator's conversions are more broken after P1207Yes2
3435(i)C++2324.5.4.4 [move.iter.cons]three_way_comparable_with<reverse_iterator<int*>, reverse_iterator<const int*>>Yes2
4115(i)New24.5.4.6 [move.iter.elem]move_iterator::operator* should have conditionalnoexcept specificationYes4
872(i)C++1124.5.4.6 [move.iter.elem]move_iterator::operator[] has wrong return typeYes
3293(i)C++2324.5.4.9 [move.iter.nonmember]move_iterator operator+() has incorrect constraintsYes3
3390(i)C++2024.5.4.9 [move.iter.nonmember]make_move_iterator() cannot be used to construct amove_iterator for amove-only iteratorYes0
3749(i)WP24.5.5 [iterators.common]common_iterator should handle integer-class difference typesYes2
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
3574(i)C++2324.5.5.1 [common.iterator]common_iterator should be completelyconstexpr-ableYes3
3385(i)C++2024.5.5.1 [common.iterator]common_iterator is not sufficiently constrained for non-copyable iteratorsYes0
3660(i)C++2324.5.5.2 [common.iter.types]iterator_traits<common_iterator>::pointer should conform to §[iterator.traits]Yes
3595(i)C++2324.5.5.4 [common.iter.access]Exposition-only classesproxy andpostfix-proxy forcommon_iterator should be fullyconstexprYes
3672(i)C++2324.5.5.4 [common.iter.access]common_iterator::operator->() should return by valueYes
3546(i)C++2324.5.5.5 [common.iter.nav]common_iterator'spostfix-proxy is not quite rightYes
3601(i)C++2324.5.5.5 [common.iter.nav]common_iterator'spostfix-proxy needsindirectly_readableYes
3748(i)New24.5.5.6 [common.iter.cmp]common_iterator andcounted_iterator'operator- are missing cast to return typeYes3
3953(i)WP24.5.5.7 [common.iter.cust]iter_move forcommon_iterator andcounted_iterator should returndecltype(auto)Yes
3472(i)C++2324.5.7 [iterators.counted]counted_iterator is missing preconditionsYes
4245(i)WP24.5.7.1 [counted.iterator]Operators that interact withcounted_iterator anddefault_sentinel_t should benoexceptYes
3543(i)C++2324.5.7.1 [counted.iterator]Definition of whencounted_iterators refer to the same sequence isn't quite rightYes
3408(i)Resolved24.5.7.1 [counted.iterator]LWG 3291 reveals deficiencies incounted_iteratorYes2
3389(i)C++2024.5.7.2 [counted.iter.const]A move-only iterator still does not have acounted_iteratorYes0
3643(i)C++2324.5.7.5 [counted.iter.nav]Missingconstexpr instd::counted_iteratorYes
2576(i)C++1724.6 [stream.iterators]istream_iterator andostream_iterator should usestd::addressofYes0
1086(i)NAD Concepts24.6 [stream.iterators]Stream iterators need to be concept-constrained templatesYes
788(i)C++1124.6.2 [istream.iterator]Ambiguity in [istream.iterator]Yes
838(i)C++1124.6.2 [istream.iterator] Can anend-of-stream iterator become anon-end-of-stream one?Yes
245(i)NAD24.6.2 [istream.iterator]Which operations onistream_iterator trigger input operations?Yes
3600(i)C++2324.6.2.2 [istream.iterator.cons]Makingistream_iterator copy constructor trivial is an ABI breakYes3
2793(i)C++1724.6.2.2 [istream.iterator.cons]Awkward conflation of trivial special members ofistream_iteratorYes
2878(i)C++1724.6.2.2 [istream.iterator.cons]MissingDefaultConstructible requirement foristream_iterator default constructorYes
2804(i)C++1724.6.2.2 [istream.iterator.cons]Unconditionalconstexpr default constructor foristream_iteratorYes0
1280(i)C++1124.6.2.2 [istream.iterator.cons]Initialization of stream iteratorsYes
1129(i)Resolved24.6.2.2 [istream.iterator.cons]istream(buf)_iterator should support literal sentinel valueYes
260(i)CD124.6.2.3 [istream.iterator.ops]Inconsistent return type ofistream_iterator::operator++(int)Yes
261(i)CD124.6.2.3 [istream.iterator.ops]Missing description ofistream_iterator::operator!=Yes
349(i)CD124.6.3 [ostream.iterator]Minor typographical error in ostream_iteratorYes
1125(i)NAD24.6.3.3 [ostream.iterator.ops]ostream_iterator does not work with movable typesYes
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
2790(i)C++1724.6.4 [istreambuf.iterator]Missing specification ofistreambuf_iterator::operator->Yes3
659(i)C++1124.6.4 [istreambuf.iterator]istreambuf_iterator should have anoperator->()Yes
110(i)TC124.6.4 [istreambuf.iterator]istreambuf_iterator::equal not constYes
3108(i)New24.6.4.2 [istreambuf.iterator.proxy]istreambuf_iterator::proxy::operator* should beconstYes3
2544(i)C++1724.6.4.3 [istreambuf.iterator.cons]istreambuf_iterator(basic_streambuf<charT, traits>* s) effects unclear whens is0Yes3
1126(i)C++1124.6.4.4 [istreambuf.iterator.ops]istreambuff_iterator::equal needs a const & parameterYes
39(i)TC124.6.4.4 [istreambuf.iterator.ops]istreambuf_iterator<>::operator++(int) definition garbledYes
111(i)NAD24.6.4.4 [istreambuf.iterator.ops]istreambuf_iterator::equal overspecified, inefficientYes
112(i)TC124.6.5.2 [ostreambuf.iter.cons]Minor typo inostreambuf_iterator constructorYes
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
4234(i)WP24.7 [iterator.range]Including<hive> doesn't providestd::begin/endYes
3987(i)WP24.7 [iterator.range]Including<flat_foo> doesn't providestd::begin/endYes
3009(i)C++2024.7 [iterator.range]Including<string_view> doesn't providestd::size/empty/dataYes0
3208(i)C++2024.7 [iterator.range]Boolean's expression requirements are ordered inconsistentlyYes0
3300(i)C++2024.7 [iterator.range]Non-arrayssize overload is underconstrainedYes3
2812(i)C++1724.7 [iterator.range]Range access is available with<string_view>Yes0
2280(i)C++1424.7 [iterator.range]begin/end for arrays should beconstexpr andnoexceptYes
2457(i)NAD24.7 [iterator.range]std::begin() andstd::end() do not support multi-dimensional arrays correctlyYes3
3207(i)NAD24.7 [iterator.range]N inssize(const T (&)[N]) should besize_tYes

Section 25 (246 issues)

(view only non-Ready open 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
4027(i)WP25.2 [ranges.syn]possibly-const-range should prefer returningconst R&Yes2
3914(i)WP25.2 [ranges.syn]Inconsistenttemplate-head ofranges::enumerate_viewYes
3946(i)WP25.2 [ranges.syn]The definition ofconst_iterator_t should be reworkedYes
3948(i)WP25.2 [ranges.syn]possibly-const-range andas-const-pointer should benoexceptYes
3770(i)C++2325.2 [ranges.syn]const_sentinel_t is missingYes3
3860(i)C++2325.2 [ranges.syn]range_common_reference_t is missingYes
3302(i)C++2025.2 [ranges.syn]Range adaptor objectskeys andvalues are unspecifiedYes1
3335(i)C++2025.2 [ranges.syn]Resolve C++20 NB comments US 273 and GB 274Yes1
3351(i)C++2025.2 [ranges.syn]ranges::enable_safe_range should not be constrainedYes0
3379(i)C++2025.2 [ranges.syn]"safe" in several library names is misleadingYes1
3398(i)C++2025.2 [ranges.syn]tuple_element_t is also wrong forconst subrangeYes0
3913(i)NAD25.2 [ranges.syn]ranges::const_iterator_t<range R> fails to accept arrays of unknown boundYes3
3768(i)NAD25.2 [ranges.syn]possibly-const-range is overconstrainedYes
4184(i)Tentatively NAD25.3 [range.access]Domain ofranges::cmeow doesn't matchranges::meowNo
3258(i)Resolved25.3.2 [range.access.begin]Range access andinitializer_listYes3
3333(i)NAD25.3.4 [range.access.cbegin]ranges::cbegin/ranges::cend, (and mayberanges::crbegin/ranges::crend) are under-specified to allow rvalue-arraysYes
3368(i)Resolved25.3.10 [range.prim.size]Exactly when doessize returnend - begin?Yes0
3403(i)C++2325.3.11 [range.prim.ssize]Domain ofranges::ssize(E) doesn't matchranges::size(E)Yes2
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
3915(i)WP25.4.2 [range.range]Redundant paragraph about expression variationsYes
3361(i)C++2325.4.2 [range.range]safe_range<SomeRange&> caseYes3
3559(i)C++2325.4.4 [range.sized]Semantic requirements ofsized_range is circularYes
3264(i)C++2025.4.4 [range.sized]sized_range andranges::size redundantly usedisable_sized_rangeYes1
3982(i)Tentatively NAD25.4.5 [range.view]is-derived-from-view-interface should require thatT is derived fromview_interface<T>Yes
3326(i)C++2025.4.5 [range.view]enable_view has false positivesYes0
3452(i)Resolved25.4.5 [range.view]Are views really supposed to have strict𝒪(1) destruction?Yes2
3896(i)New25.4.6 [range.refinements]The definition ofviewable_range is not quite rightYes4
3481(i)C++2325.4.6 [range.refinements]viewable_range mishandles lvalue move-only viewsYes2
3375(i)C++2025.4.6 [range.refinements]decay inviewable_range should beremove_cvrefYes0
3381(i)C++2025.4.6 [range.refinements]begin anddata must agree forcontiguous_rangeYes0
4112(i)WP25.5.2 [range.utility.helpers]has-arrow should requiredoperator->() to beconst-qualifiedYes
4003(i)Tentatively NAD25.5.3 [view.interface]view_interface::back is overconstrainedYes
3549(i)C++2325.5.3 [view.interface]view_interface is overspecified to derive fromview_baseYes2
3646(i)C++2325.5.3.1 [view.interface.general]std::ranges::view_interface::size returns a signed typeYes3
3715(i)C++2325.5.3.1 [view.interface.general]view_interface::empty is overconstrainedYes
3766(i)C++2325.5.3.1 [view.interface.general]view_interface::cbegin is underconstrainedYes2
3404(i)C++2325.5.4 [range.subrange]Finish removingsubrange's conversions frompair-likeYes0
3470(i)C++2325.5.4 [range.subrange]convertible-to-non-slicing seems to reject valid caseYes3
3589(i)C++2325.5.4 [range.subrange]Theconst lvalue reference overload ofget forsubrange does not constrainI to becopyable whenN == 0Yes3
3281(i)C++2025.5.4 [range.subrange]Conversion frompair-like types tosubrange is a silent semantic promotionYes1
3282(i)C++2025.5.4 [range.subrange]subrange converting constructor should disallow derived to base conversionsYes1
4183(i)New25.5.4.1 [range.subrange.general]subrange should providedata()Yes4
3179(i)C++2025.5.4.2 [range.subrange.ctor]subrange should always modelRangeYes0
4010(i)New25.5.4.3 [range.subrange.access]subrange::advance should be improvedYes3
3433(i)C++2325.5.4.3 [range.subrange.access]subrange::advance(n) has UB whenn < 0Yes2
3551(i)C++2325.5.5 [range.dangling]borrowed_{iterator,subrange}_t are overspecifiedYes
4016(i)WP25.5.7 [range.utility.conv]container-insertable checks do not match whatcontainer-inserter doesYes
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
3984(i)WP25.5.7.2 [range.utility.conv.to]ranges::to's recursion branch may be ill-formedYes3
3733(i)C++2325.5.7.2 [range.utility.conv.to]ranges::to misusescpp17-input-iteratorYes2
3743(i)C++2325.5.7.2 [range.utility.conv.to]ranges::to'sreserve may be ill-formedYes
3785(i)C++2325.5.7.2 [range.utility.conv.to]ranges::to is over-constrained on the destination type being a rangeYes
3847(i)C++2325.5.7.2 [range.utility.conv.to]ranges::to can still return viewsYes2
3787(i)Resolved25.5.7.2 [range.utility.conv.to]ranges::to's template parameterC should not be a reference typeYes3
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
4035(i)WP25.6.3.2 [range.single.view]single_view should provideemptyYes
3428(i)C++2325.6.3.2 [range.single.view]single_view's in place constructor should be explicitYes0
4417(i)New25.6.4.1 [range.iota.overview]views::indices is underconstrainedYes
4096(i)WP25.6.4.1 [range.iota.overview]views::iota(views::iota(0)) should be rejectedYes
3614(i)New25.6.4.2 [range.iota.view]iota_view::size and the most negative signed integer valuesYes3
4001(i)WP25.6.4.2 [range.iota.view]iota_view should provideemptyYes
3523(i)C++2325.6.4.2 [range.iota.view]iota_view::sentinel is not alwaysiota_view's sentinelYes
3597(i)C++2325.6.4.2 [range.iota.view]Unsigned integer types don't modeladvanceableYes3
3610(i)C++2325.6.4.2 [range.iota.view]iota_view::size sometimes rejects integer-class typesYes
3292(i)C++2025.6.4.2 [range.iota.view]iota_view is under-constrainedYes
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
3580(i)C++2325.6.4.3 [range.iota.iterator]iota_view's iterator's binaryoperator+ should be improvedYes
3670(i)C++2325.6.4.3 [range.iota.iterator]Cpp17InputIterators don't have integer-class difference typesYes
3291(i)C++2025.6.4.3 [range.iota.iterator]iota_view::iterator has the wrongiterator_categoryYes0
3388(i)C++2025.6.4.3 [range.iota.iterator]view iterator types have ill-formed<=> operatorsYes0
3609(i)New25.6.4.4 [range.iota.sentinel]std::ranges::iota_view<int, long> has non-subtractableiterator andsentinel typesYes3
3875(i)C++2325.6.5 [range.repeat]std::ranges::repeat_view<T, IntegerClass>::iterator may be ill-formedYes
4054(i)WP25.6.5.1 [range.repeat.overview]Repeating arepeat_view should repeat the viewYes
3955(i)New25.6.5.2 [range.repeat.view]Addnoexcept to severalrepeat_view[::iterator] member functionsYes3
4053(i)WP25.6.5.2 [range.repeat.view]Unary call tostd::views::repeat does not decay the argumentYes
3772(i)C++2325.6.5.2 [range.repeat.view]repeat_view's piecewise constructor is missingPostconditionsYes2
3796(i)C++2325.6.5.2 [range.repeat.view]movable-box as member should use default-initialization instead of copy-initializationYes
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
3568(i)C++2325.6.6.2 [range.istream.view]basic_istream_view needs to initializevalue_Yes
3489(i)New25.6.6.3 [range.istream.iterator]Improveistream_view wordingYes3
3397(i)C++2025.6.6.3 [range.istream.iterator]ranges::basic_istream_view::iterator should not provideiterator_categoryYes1
3394(i)NAD25.6.6.3 [range.istream.iterator]ranges::basic_istream_view::iterator has an emptyiterator_traitsYes2
3524(i)Resolved25.7 [range.adaptors]Unimplementable narrowing and evaluation order requirements for range adaptorsYes3
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
3509(i)Resolved25.7.2 [range.adaptor.object]Range adaptor objects are underspecifiedYes2
3477(i)C++2325.7.3 [range.move.wrap]Simplify constraints forsemiregular-boxYes0
3572(i)C++2325.7.3 [range.move.wrap]copyable-box should be fullyconstexprYes
3479(i)Resolved25.7.3 [range.move.wrap]semiregular-box mishandles self-assignmentYes3
3173(i)C++2025.7.6.2 [range.ref.view]Enable CTAD forref-viewYes0
4099(i)New25.7.7.1 [range.as.rvalue.overview]The simple case ofviews::as_rvalue andviews::common are not strictly correctYes4
4083(i)WP25.7.7.1 [range.as.rvalue.overview]views::as_rvalue should reject non-input rangesYes
3829(i)New25.7.7.2 [range.as.rvalue.view]as_rvalue_view::end should improve non-common caseYes3
3280(i)C++2025.7.8.2 [range.filter.view]View converting constructors can cause constraint recursion and are unneededYes1
3533(i)C++2325.7.8.3 [range.filter.iterator]Makebase() const & consistent across iterator wrappers that supportsinput_iteratorsYes
3325(i)C++2025.7.9.2 [range.transform.view]Constrain return type of transformation function fortransform_viewYes0
3483(i)C++2325.7.9.3 [range.transform.iterator]transform_view::iterator's difference is overconstrainedYes0
3520(i)C++2325.7.9.3 [range.transform.iterator]iter_move anditer_swap are inconsistent fortransform_view::iteratorYes2
3555(i)C++2325.7.9.3 [range.transform.iterator]{transform,elements}_view::iterator::iterator_conceptshould consider const-qualification of the underlying rangeYes
3564(i)C++2325.7.9.3 [range.transform.iterator]transform_view::iterator<true>::value_type anditerator_category should useconst F&Yes2
3618(i)C++2325.7.9.3 [range.transform.iterator]Unnecessaryiter_move fortransform_view::iteratorYes
3301(i)C++2025.7.9.3 [range.transform.iterator]transform_view::iterator has incorrectiterator_categoryYes1
3448(i)C++2325.7.9.4 [range.transform.sentinel]transform_view'ssentinel<false> not comparable withiterator<true>Yes1
3384(i)C++2025.7.9.4 [range.transform.sentinel]transform_view::sentinel has an incorrectoperator-Yes0
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
3407(i)C++2325.7.10.1 [range.take.overview]Some problems with the wording changes ofP1739R4Yes2
3447(i)C++2325.7.10.2 [range.take.view]Deduction guides fortake_view anddrop_view have different constraintsYes0
3738(i)C++2325.7.10.2 [range.take.view]Missing preconditions fortake_view constructorYes
3286(i)C++2025.7.10.2 [range.take.view]ranges::size is not required to be valid after a call toranges::begin on an input rangeYes0
3449(i)C++2325.7.10.3 [range.take.sentinel]take_view andtake_while_view'ssentinel<false> not comparable with their const iteratorYes1
3737(i)C++2325.7.10.3 [range.take.sentinel]take_view::sentinel should provideoperator-Yes3
3450(i)C++2325.7.11.2 [range.take.while.view]Theconst overloads oftake_while_view::begin/end are underconstrainedYes0
3364(i)C++2025.7.11.2 [range.take.while.view]Initialize data members of ranges and their iteratorsYes0
3298(i)NAD25.7.11.2 [range.take.while.view]Range adaptors introduced by P1035 do not requireviewable_rangeYes
3708(i)C++2325.7.11.3 [range.take.while.sentinel]take_while_view::sentinel's conversion constructor should moveYes
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
3482(i)C++2325.7.12.2 [range.drop.view]drop_view'sconst begin should additionally requiresized_rangeYes0
3490(i)C++2325.7.13.2 [range.drop.while.view]ranges::drop_while_view::begin() is missing a preconditionYes0
3363(i)C++2025.7.13.2 [range.drop.while.view]drop_while_view should opt-out ofsized_rangeYes1
3666(i)New25.7.14 [range.join]join_view's difference type is too smallNo2
3474(i)C++2325.7.14 [range.join]Nestingjoin_views is broken because of CTADYes
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
3700(i)Resolved25.7.14.2 [range.join.view]Theconst begin of thejoin_view family does not requireInnerRng to be a rangeYes3
3322(i)Resolved25.7.14.2 [range.join.view]Addjoin_view::base() member functionYes0
3278(i)Resolved25.7.14.2 [range.join.view]join_view<V>::iterator<true> tries to write throughconst join_view ptrYes2
3500(i)C++2325.7.14.3 [range.join.iterator]join_view::iterator::operator->() is bogusYes0
3517(i)C++2325.7.14.3 [range.join.iterator]join_view::iterator'siter_swap is underconstrainedYes
3535(i)C++2325.7.14.3 [range.join.iterator]join_view::iterator::iterator_category and::iterator_concept lieYes2
3569(i)C++2325.7.14.3 [range.join.iterator]join_view fails to support ranges of ranges with non-default_initializable iteratorsYes3
3313(i)C++2025.7.14.3 [range.join.iterator]join_view::iterator::operator-- is incorrectly constrainedYes0
3791(i)Resolved25.7.14.3 [range.join.iterator]join_view::iterator::operator-- may be ill-formedYes3
3365(i)NAD25.7.14.3 [range.join.iterator]Renameref-is-glvalue toderef-is-refYes0
3873(i)New25.7.15.2 [range.join.with.view]join_with_view'sconst begin is underconstrainedNo3
4074(i)WP25.7.15.2 [range.join.with.view]compatible-joinable-ranges is underconstrainedYes
3971(i)NAD25.7.15.2 [range.join.with.view]Join ranges of rvalue references with ranges of prvaluesYes3
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
3592(i)C++2325.7.16.2 [range.lazy.split.view]lazy_split_view needs to check the simpleness ofPatternYes
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
3904(i)WP25.7.16.3 [range.lazy.split.outer]lazy_split_view::outer-iterator'sconst-converting constructor isn't settingtrailing_empty_Yes
3505(i)C++2325.7.16.3 [range.lazy.split.outer]split_view::outer-iterator::operator++ misspecifiedYes2
3181(i)NAD25.7.16.3 [range.lazy.split.outer]split_view::outer_iterator converting constructor is misconstrainedYes
4013(i)WP25.7.16.4 [range.lazy.split.outer.value]lazy_split_view::outer-iterator::value_type should not provide default constructorYes
3553(i)C++2325.7.16.4 [range.lazy.split.outer.value]Useless constraint insplit_view::outer-iterator::value_type::begin()Yes
3276(i)C++2025.7.16.4 [range.lazy.split.outer.value]Classsplit_view::outer_iterator::value_type should inherit fromview_interfaceYes0
3532(i)C++2325.7.16.5 [range.lazy.split.inner]split_view<V, P>::inner-iterator<true>::operator++(int) should depend onBaseYes
3591(i)C++2325.7.16.5 [range.lazy.split.inner]lazy_split_view<input_view>::inner-iterator::base() && invalidates outer iteratorsYes
3478(i)Resolved25.7.17 [range.split]views::split drops trailing empty rangeYes2
3590(i)C++2325.7.17.2 [range.split.view]split_view::base() const & is overconstrainedYes
4017(i)New25.7.17.3 [range.split.iterator]Behavior ofstd::views::split on an empty rangeYes3
4082(i)WP25.7.18.1 [range.concat.overview]views::concat(r) is well-formed whenr is anoutput_rangeYes
4166(i)Voting25.7.18.2 [range.concat.view]concat_view::end() should be more constrained in order to support noncopyable iteratorsYes
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
4079(i)WP25.7.18.3 [range.concat.iterator]MissingPreconditions inconcat_view::iterator's conversion constructorYes
4012(i)WP25.7.20.2 [range.common.view]common_view::begin/end are missing thesimple-view checkYes
3405(i)C++2325.7.20.2 [range.common.view]common_view's converting constructor is bad, tooYes0
3717(i)C++2325.7.20.2 [range.common.view]common_view::end should improverandom_access_range caseYes3
4019(i)SG925.7.21 [range.reverse]Reversing an infinite range leads to an infinite loopNo3
3494(i)C++2325.7.21 [range.reverse]Allow ranges to be conditionally borrowedYes
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
3387(i)C++2025.7.21.2 [range.reverse.view]§[range.reverse.view]reverse_view<V> unintentionally requiresrange<const V>Yes0
3811(i)C++2325.7.22.1 [range.as.const.overview]views::as_const onref_view<T> should returnref_view<const T>Yes
3850(i)C++2325.7.22.1 [range.as.const.overview]views::as_const onempty_view<T> should returnempty_view<const T>Yes
3386(i)C++2025.7.23 [range.elements]elements_view needs its ownsentinel typeYes1
3563(i)C++2325.7.23.1 [range.elements.overview]keys_view example is brokenYes3
3797(i)New25.7.23.2 [range.elements.view]elements_view insufficiently constrainedYes2
3406(i)C++2325.7.23.2 [range.elements.view]elements_view::begin() andelements_view::end() have incompatibleconstraintsYes1
3323(i)C++2025.7.23.2 [range.elements.view]has-tuple-element helper concept needsconvertible_toYes0
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
3492(i)C++2325.7.23.3 [range.elements.iterator]Minimal improvements toelements_view::iteratorYes0
3502(i)C++2325.7.23.3 [range.elements.iterator]elements_view should not be allowed to return dangling referencesYes2
3377(i)C++2025.7.23.3 [range.elements.iterator]elements_view::iterator befriends a specialization of itselfYes0
3558(i)NAD Editorial25.7.23.4 [range.elements.sentinel]elements_view::sentinel's firstoperator- has wrong return typeYes
3919(i)WP25.7.24 [range.enumerate]enumerate_view may invoke UB for sized common non-forward underlying rangesYes3
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
3912(i)WP25.7.24.3 [range.enumerate.iterator]enumerate_view::iterator::operator- should benoexceptYes
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
3755(i)C++2325.7.25.2 [range.zip.view]tuple-for-each can call user-definedoperator,Yes
3692(i)C++2325.7.25.3 [range.zip.iterator]zip_view::iterator'soperator<=> is overconstrainedYes
3773(i)C++2325.7.26.1 [range.zip.transform.overview]views::zip_transform still requiresF to becopy_constructible when empty packYes
3714(i)NAD25.7.26.2 [range.zip.transform.view]Non-single-argument constructors for range adaptors should not beexplicitYes4
3702(i)C++2325.7.26.3 [range.zip.transform.iterator]Shouldzip_transform_view::iterator removeoperator<?Yes
4098(i)WP25.7.27.1 [range.adjacent.overview]views::adjacent<0> should reject non-forward rangesYes
3735(i)NAD25.7.27.1 [range.adjacent.overview]views::adjacent<0> should be prohibitedYes
3848(i)C++2325.7.27.2 [range.adjacent.view]adjacent_view,adjacent_transform_view andslide_view missingbase accessorYes
3947(i)WP25.7.28.2 [range.adjacent.transform.view]Unexpected constraints onadjacent_transform_view::base()Yes
3710(i)C++2325.7.29.2 [range.chunk.view.input]Theend ofchunk_view for input ranges can beconstYes
3712(i)C++2325.7.29.2 [range.chunk.view.input]chunk_view andslide_view should not bedefault_initializableYes
3739(i)NAD25.7.29.2 [range.chunk.view.input]chunk_view::size should preserve the signedness of the size of the underlying rangeYes
4006(i)Tentatively NAD25.7.29.4 [range.chunk.outer.value]chunk_view::outer-iterator::value_type should provideemptyYes
4236(i)WP25.7.29.4 [range.chunk.outer.value]chunk_view::outer-iterator::value_type should providereserve_hintYes
3707(i)C++2325.7.29.4 [range.chunk.outer.value]chunk_view::outer-iterator::value_type::size should return unsigned typeYes
3851(i)C++2325.7.29.5 [range.chunk.inner.iter]chunk_view::inner-iterator missing customiter_move anditer_swapYes
3880(i)C++2325.7.29.7 [range.chunk.fwd.iter]Clarifyoperator+= complexity for{chunk,stride}_view::iteratorYes
3711(i)C++2325.7.30.2 [range.slide.view]Missing preconditions forslide_view constructorYes
3740(i)NAD25.7.30.2 [range.slide.view]slide_view::size should preserve the signedness of underlying range's sizeYes
4254(i)New25.7.32.3 [range.stride.iterator]stride_view::iterator should provideoperator->Yes3
3760(i)C++2325.7.33 [range.cartesian]cartesian_product_view::iterator'sparent_ is never validYes
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
3761(i)C++2325.7.33.3 [range.cartesian.iterator]cartesian_product_view::iterator::operator- should pass by referenceYes
3801(i)C++2325.7.33.3 [range.cartesian.iterator]cartesian_product_view::iterator::distance-from ignores the size of last underlying rangeYes
3820(i)C++2325.7.33.3 [range.cartesian.iterator]cartesian_product_view::iterator::prev is not quite rightYes
3849(i)C++2325.7.33.3 [range.cartesian.iterator]cartesian_product_view::iterator's default constructor is overconstrainedYes
4235(i)WP25.7.34.2 [range.cache.latest.view]cache_latest_view andto_input_view missreserve_hintYes2
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
3899(i)WP25.8.5 [coro.generator.promise]co_yielding elements of an lvaluegenerator is unnecessarily inefficientYes3
3900(i)WP25.8.5 [coro.generator.promise]Theallocator_arg_t overloads ofgenerator::promise_type::operator newshould not be constrainedYes3
4119(i)WP25.8.5 [coro.generator.promise]generator::promise_type::yield_value(ranges::elements_of<R, Alloc>)'s nestedgenerator may be ill-formedYes
3894(i)WP25.8.5 [coro.generator.promise]generator::promise_type::yield_value(ranges::elements_of<Rng, Alloc>) should not benoexceptYes
3826(i)C++2325.8.5 [coro.generator.promise]Redundant specification [for overload ofyield_value]Yes
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
3762(i)C++2325.8.6 [coro.generator.iterator]generator::iterator::operator== should pass by referenceYes

Section 26 (206 issues)

(view only non-Ready open 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
1205(i)C++1126 [algorithms]Some algorithms could more clearly document their handling of empty rangesYes
92(i)CD126 [algorithms]Incomplete Algorithm RequirementsYes
210(i)TC126 [algorithms]distance first and last confusedYes
2917(i)Resolved26 [algorithms]Parallel algorithms cannot easily work withInputIteratorsYes
1282(i)NAD26 [algorithms]A proposal to addstd::split algorithmYes
1053(i)NAD26 [algorithms]Unify algorithms with operator and function object variantsYes
631(i)NAD26 [algorithms]conflicting requirements forBinaryPredicateYes
2082(i)NAD26 [algorithms]Misleading complexity requirements in<algorithm>Yes
2727(i)C++1726.1 [algorithms.general]Parallel algorithms withconstexpr specifierYes0
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
3419(i)C++2326.2 [algorithms.requirements]§[algorithms.requirements]/15 doesn't reserve as many rights as it intends toYes0
2932(i)C++2026.3.3 [algorithms.parallel.exec]Constraints on parallel algorithm implementations are underspecifiedYes
2718(i)C++1726.3.3 [algorithms.parallel.exec]Parallelism bug in [algorithms.parallel.exec] p2Yes
2880(i)Resolved26.3.3 [algorithms.parallel.exec]Relax complexity specifications for non-sequenced policiesYes
3062(i)C++2026.3.5 [algorithms.parallel.overloads]Unnecessarydecay_t inis_execution_policy_v should beremove_cvref_tYes0
4273(i)New26.3.6 [execpol]Standard execution policy types should be conventional tag class typesYes3
2909(i)NAD26.3.6.2 [execpol.type]User specializations ofis_execution_policy should be ill-formedYes
4297(i)Voting26.4 [algorithm.syn]Missingpermutable constraint for iterator overloads in Parallel Range AlgorithmsYes
4095(i)Tentatively NAD26.4 [algorithm.syn]ranges::fold_meow should explicitly spell out the return typeYes
3180(i)C++2026.4 [algorithm.syn]Inconsistently named return type forranges::minmax_elementYes0
483(i)Dup26.6 [alg.nonmodifying]Heterogeneous equality and EqualityComparableYes283
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
2747(i)C++1726.6.5 [alg.foreach]Possibly redundantstd::move in [alg.foreach]Yes0
1110(i)C++1126.6.5 [alg.foreach]Isfor_each overconstrained?Yes
475(i)CD126.6.5 [alg.foreach]May the function object passed to for_each modify the elements of the iterated sequence?Yes
3213(i)Resolved26.6.5 [alg.foreach]for_each_n andcopy_n missing requirements forSizeYes3
969(i)NAD Editorial26.6.5 [alg.foreach]What happened to Library Issue 475?Yes
290(i)NAD26.6.5 [alg.foreach]Requirements to for_each and its function objectYes
219(i)NAD26.6.6 [alg.find]find algorithm missing version that takes a binary predicate argumentYes
244(i)NAD26.6.6 [alg.find]Mustfind's third argument be CopyConstructible?Yes
2150(i)C++1426.6.8 [alg.find.end]Unclear specification offind_endYes
576(i)CD126.6.9 [alg.find.first.of]find_first_of is overconstrainedYes
150(i)TC126.6.9 [alg.find.first.of]Find_first_of says integer instead of iteratorYes
240(i)CD126.6.10 [alg.adjacent.find]Complexity of adjacent_find() is meaninglessYes
1000(i)NAD Concepts26.6.10 [alg.adjacent.find]adjacent_find is over-constrainedYes
3560(i)C++2326.6.13 [alg.equal]ranges::equal andranges::is_permutation should short-circuit forsized_rangesYes
2967(i)NAD26.6.13 [alg.equal]std::equal on empty rangesYes
1431(i)C++1126.6.14 [alg.is.permutation]is_permutation must be more restrictiveYes
4179(i)WP26.6.15 [alg.search]Wrong range in [alg.search]Yes
1338(i)C++1126.6.15 [alg.search]LWG 1205 incorrectly appliedYes
426(i)CD126.6.15 [alg.search]search_n(), fill_n(), and generate_n() with negative nYes
714(i)CD126.6.15 [alg.search]search_n complexity is too laxYes
3596(i)NAD26.6.16 [alg.starts.with]ranges::starts_with andranges::ends_with are underspecifiedYes
4105(i)WP26.6.17 [alg.ends.with]ranges::ends_with'sReturns misses difference castingYes
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
3779(i)NAD26.6.18 [alg.fold]ranges::fold_* can unintentionallyconst_cast andreinterpret_castYes
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
2689(i)C++1726.7.1 [alg.copy]Parallel versions ofstd::copy andstd::move shouldn't be in orderYes0
2039(i)C++1426.7.1 [alg.copy]Issues withstd::reverse andstd::copy_ifYes
2242(i)NAD26.7.1 [alg.copy][uninitialized_]copy_n() defectYes2
1206(i)C++1126.7.2 [alg.move]Incorrect requires formove_backward andcopy_backwardYes
187(i)CD126.7.3 [alg.swap]iter_swap underspecifiedYes
809(i)CD126.7.3 [alg.swap]std::swap should be overloaded for array typesYes
227(i)TC126.7.3 [alg.swap]std::swap() should require CopyConstructible or DefaultConstructible argumentsYes
912(i)NAD Concepts26.7.3 [alg.swap]Array swap needs to be conceptualizedYes
242(i)CD126.7.4 [alg.transform]Side effects of function objectsYes
293(i)NAD26.7.4 [alg.transform]Order of execution in transform algorithmYes
4444(i)Immediate26.7.5 [alg.replace]Fix default template arguments forranges::replace andranges::replace_ifYes
3868(i)LEWG26.7.5 [alg.replace]Constrained algorithms should not requireoutput_iteratorYes4
283(i)CD126.7.5 [alg.replace]std::replace() requirement incorrect/insufficientYes483
337(i)CD126.7.5 [alg.replace]replace_copy_if's template parameter should be InputIteratorYes
913(i)NAD Concepts26.7.5 [alg.replace]Superfluous requirements for replace algorithmsYes
1087(i)NAD Concepts26.7.5 [alg.replace]IncorrectOutputIterator concept requirements forreplace algorithmsYes
865(i)C++1126.7.6 [alg.fill]More algorithms that throw away informationYes
3186(i)C++2026.7.8 [alg.remove]ranges removal, partition, andpartial_sort_copy algorithms discard useful informationYes1
2110(i)C++1426.7.8 [alg.remove]remove can't swap but note says it mightYes
779(i)CD126.7.8 [alg.remove]Resolution of #283 incompleteYes
367(i)NAD26.7.8 [alg.remove]remove_copy/remove_copy_if and Input IteratorsYes
489(i)NAD26.7.8 [alg.remove]std::remove / std::remove_if wrongly specifiedYes
4269(i)Voting26.7.9 [alg.unique]unique_copy passes arguments to its predicate backwardsYes
4103(i)New26.7.9 [alg.unique]ranges::unique_copy's constraints for the case whereresult is aninput_iterator are not quite rightYes3
2439(i)C++1726.7.9 [alg.unique]unique_copy() sometimes can't fall back to reading its outputYes3
1241(i)C++1126.7.9 [alg.unique]unique_copy needs to requireEquivalenceRelationYes
202(i)CD126.7.9 [alg.unique]unique() effects unclear when predicate not an equivalence relationYes
239(i)CD126.7.9 [alg.unique]Complexity of unique() and/or unique_copy incorrectYes
241(i)CD126.7.9 [alg.unique]Does unique_copy() require CopyConstructible and Assignable?Yes
538(i)CD126.7.9 [alg.unique]241 again: Does unique_copy() require CopyConstructible and Assignable?Yes
1101(i)NAD Editorial26.7.9 [alg.unique]unique requirementsYes
481(i)NAD26.7.9 [alg.unique]unique's effects on the range [result, last)Yes
490(i)NAD26.7.9 [alg.unique]std::unique wrongly specifiedYes
914(i)NAD Concepts26.7.9 [alg.unique]Superfluous requirement for uniqueYes
2074(i)C++1426.7.10 [alg.reverse]Off by one error instd::reverse_copyYes
223(i)TC126.7.10 [alg.reverse]reverse algorithm should use iter_swap rather than swapYes
2985(i)Resolved26.7.10 [alg.reverse]std::reverse should be permitted to be vectorizedYes
4441(i)Immediate26.7.11 [alg.rotate]ranges::rotate do not handle sized-but-not-sized-sentinel ranges correctlyYes
3759(i)C++2326.7.11 [alg.rotate]ranges::rotate_copy should usestd::moveYes
488(i)CD126.7.11 [alg.rotate]rotate throws away useful informationYes
2405(i)NAD26.7.11 [alg.rotate]rotate()'s return value is incorrect whenmiddle == firstYes
2716(i)C++1726.7.12 [alg.random.sample]Specification ofshuffle andsample disallows lvalueURNGsYes0
3191(i)C++2026.7.13 [alg.random.shuffle]std::ranges::shuffle synopsis does not match algorithm definitionYes1
1432(i)C++1126.7.13 [alg.random.shuffle]random_shuffle signatures are inconsistentYes1433
552(i)CD126.7.13 [alg.random.shuffle]random_shuffle and its generatorYes
1093(i)Resolved26.7.13 [alg.random.shuffle]Multiple definitions forrandom_shuffle algorithmYes
1433(i)Dup26.7.13 [alg.random.shuffle]random_shuffle andshuffle should have consistent signaturesYes1432
3031(i)C++2026.8 [alg.sorting]Algorithms and predicates with non-const reference argumentsYes2
2492(i)C++1726.8 [alg.sorting]Clarify requirements forcompYes0
556(i)C++1126.8 [alg.sorting]IsCompare aBinaryPredicate?Yes
218(i)NAD26.8 [alg.sorting]Algorithms do not use binary predicate objects for default comparisonsYes
3713(i)C++2326.8.1 [alg.sorting.general]Sorted with respect to comparator (only)Yes
812(i)NAD Editorial26.8.2 [alg.sort]unsolicited multithreading considered harmful?Yes
713(i)CD126.8.2.1 [sort]sort() complexity is too laxYes
499(i)NAD Editorial26.8.2.2 [stable.sort]Std. doesn't seem to require stable_sort() to be stable!Yes
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
2339(i)C++1426.8.3 [alg.nth.element]Wording issue innth_elementYes0
2163(i)C++1426.8.3 [alg.nth.element]nth_element requires inconsistent post-conditionsYes
4111(i)New26.8.4 [alg.binary.search]LWG 270 and ranges version of binary search algorithmsNo3
270(i)CD126.8.4 [alg.binary.search]Binary search requirements overly strictYes472
191(i)NAD26.8.4 [alg.binary.search]Unclear complexity for algorithms such as binary searchYes
577(i)CD126.8.4.3 [upper.bound]upper_bound(first, last, ...) cannot return lastYes
384(i)CD126.8.4.4 [equal.range]equal_range has unimplementable runtime complexityYes
472(i)Dup26.8.4.4 [equal.range]Missing "Returns" clause in std::equal_rangeYes270
787(i)CD126.8.4.5 [binary.search]complexity ofbinary_searchYes
2357(i)C++1426.8.5 [alg.partitions]Remaining "Assignable" requirementYes0
498(i)C++1126.8.5 [alg.partitions]Requirements for partition() and stable_partition() too strongYes
2741(i)Resolved26.8.5 [alg.partitions]is_partitioned requirements need updatingYes3
2973(i)LEWG26.8.6 [alg.merge]inplace_merge exact comparison count complexity prohibits useful real-world optimizationsYes4
4196(i)WP26.8.6 [alg.merge]Complexity ofinplace_merge() is incorrectYes4
780(i)C++1126.8.6 [alg.merge]std::merge() specification incorrect/insufficientYes
291(i)CD126.8.7 [alg.set.operations]Underspecification of set algorithmsYes
411(i)CD126.8.7 [alg.set.operations]Wrong names of set member functionsYes
3115(i)Resolved26.8.7.2 [includes]Unclear description for algorithmincludesYes3
862(i)NAD Editorial26.8.7.2 [includes]Impossible complexity for 'includes'Yes
1109(i)NAD Concepts26.8.7.2 [includes]std::includes should requireCopyConstructible predicateYes
3534(i)LEWG26.8.7.4 [set.intersection]ranges::set_intersection andranges::set_difference algorithm requirements are too strictYes3
3032(i)C++2326.8.8 [alg.heap.operations]ValueSwappable requirement missing forpush_heap andmake_heapYes3
2166(i)C++1726.8.8 [alg.heap.operations]Heap property underspecified?Yes3
193(i)TC126.8.8 [alg.heap.operations]Heap operations description incorrectYes216
3029(i)Open26.8.8.3 [pop.heap]pop_heap over-constrains inputYes3
2444(i)C++2026.8.8.5 [sort.heap]Inconsistent complexity forstd::sort_heapYes3
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
2239(i)C++1726.8.9 [alg.min.max]min/max/minmax requirementsYes3
2325(i)C++1726.8.9 [alg.min.max]minmax_element()'s behavior differing frommax_element()'s should be notedYes3
2369(i)C++1726.8.9 [alg.min.max]constexpr max(initializer_list) vsmax_elementYes3
2350(i)C++1426.8.9 [alg.min.max]min,max, andminmax should beconstexprYes1
281(i)CD126.8.9 [alg.min.max]std::min() and max() requirements overly restrictiveYes486
715(i)CD126.8.9 [alg.min.max]minmax_element complexity is too laxYes
212(i)TC126.8.9 [alg.min.max]Empty range behavior unclear for several algorithmsYes
915(i)NAD Editorial26.8.9 [alg.min.max]minmax withinitializer_list should returnpair ofT, notpair ofconst T&Yes
1013(i)NAD Editorial26.8.9 [alg.min.max]RemoveIsSameType hold-over constraintsYes
1434(i)NAD Editorial26.8.9 [alg.min.max]Formin/max functions replace variadic arguments byinitializer_list argumentYes
1308(i)NAD26.8.9 [alg.min.max]Concerns aboutinitializer_list overloads ofmin,max, andminmaxYes
190(i)NAD26.8.9 [alg.min.max]min() and max() functions should be std::binary_functionsYes
486(i)Dup26.8.9 [alg.min.max]min/max CopyConstructible requirement is too strictYes281
2688(i)C++1726.8.10 [alg.clamp]clamp misses preconditions and has extraneous condition on resultYes0
142(i)TC126.8.11 [alg.lex.comparison]lexicographical_compare complexity wrongYes
3410(i)C++2326.8.12 [alg.three.way]lexicographical_compare_three_way is overspecifiedYes3
3350(i)C++2026.8.12 [alg.three.way]Simplify return type oflexicographical_compare_three_wayYes0
3061(i)Resolved26.8.12 [alg.three.way]What is the return type ofcompare_3way?Yes2
3169(i)C++2026.8.13 [alg.permutation.generators]ranges permutation generators discard useful informationYes0
3487(i)New26.10 [numeric.ops]Missing precondition on input and output aliasing of [numeric.ops]No3
2055(i)Resolved26.10 [numeric.ops]std::move instd::accumulate and other algorithmsYes3
2924(i)Resolved26.10 [numeric.ops]AnExecutionPolicy overload forinner_product() seems impracticalYes
1067(i)NAD Concepts26.10 [numeric.ops]simplified wording for inner_productYes
2918(i)Resolved26.10.5 [inner.product]Possible need for extra storage ininner_productYes
3048(i)C++2026.10.6 [transform.reduce]transform_reduce(exec, first1, last1, first2, init) discards execution policyYes0
539(i)C++1126.10.7 [partial.sum]partial_sum andadjacent_difference should mention requirementsYes
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
2687(i)C++1726.10.8 [exclusive.scan]{inclusive,exclusive}_scan misspecifiedYes1
3222(i)C++2026.10.9 [inclusive.scan]P0574R1 introduced preconditions on non-existent parametersYes0
3463(i)New26.10.11 [transform.inclusive.scan]Incorrect requirements fortransform_inclusive_scan without initial valueYes3
3058(i)C++2026.10.12 [adjacent.difference]Paralleladjacent_difference shouldn't require creating temporariesYes3
2919(i)Resolved26.10.12 [adjacent.difference]The specification foradjacent_difference has baked-in sequential semanticsYes
871(i)C++1126.10.13 [numeric.iota]Iota's requirements onT are too strongYes
2837(i)C++1726.10.14 [numeric.ops.gcd]gcd andlcm should support a wider range of input valuesYes0
2759(i)C++1726.10.14 [numeric.ops.gcd]gcd /lcm andbool for the WPYes
4265(i)Voting26.10.16 [numeric.ops.midpoint]std::midpoint should not acceptconst boolYes
3200(i)C++2026.10.16 [numeric.ops.midpoint]midpoint should not constrainT is completeYes2
4030(i)WP26.10.17.1 [numeric.sat.func]Clarify whether arithmetic expressions in [numeric.sat.func] are mathematical or C++Yes
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
2433(i)C++1726.11 [specialized.algorithms]uninitialized_copy()/etc. should tolerate overloadedoperator&Yes0
866(i)C++1126.11 [specialized.algorithms]Qualification of placement new-expressionsYes
999(i)C++1126.11 [specialized.algorithms]Taking the address of a functionYes
3064(i)Resolved26.11 [specialized.algorithms]How do uninitialized memory algorithms obtain pointer without undefined behavior?Yes3
3156(i)Resolved26.11 [specialized.algorithms]ForwardIterator should only mean forward iteratorYes3
1029(i)NAD Concepts26.11 [specialized.algorithms]Specialized algorithms for memory management need to be concept-constrained templatesYes
4452(i)New26.11.1 [specialized.algorithms.general]Makederef-move constexprYes
3870(i)C++2326.11.1 [specialized.algorithms.general]RemovevoidifyYes
3647(i)New26.11.2 [special.mem.concepts]nothrow-input-iterator constraints should not mention copyingYes3
3747(i)C++2326.11.5 [uninitialized.copy]ranges::uninitialized_copy_n,ranges::uninitialized_move_n, andranges::destroy_n should usestd::moveYes
3054(i)C++2026.11.5 [uninitialized.copy]uninitialized_copy appears to not be able to meet its exception-safety guaranteeYes2
3355(i)C++2026.11.5 [uninitialized.copy]The memory algorithms should support move-only input iterators introduced by P1207Yes2
754(i)NAD Editorial26.11.5 [uninitialized.copy]Ambiguous return clause forstd::uninitialized_copyYes
582(i)NAD26.11.5 [uninitialized.copy]specialized algorithms and volatile storageYes
3918(i)WP26.11.6 [uninitialized.move]std::uninitialized_move/_n and guaranteed copy elisionYes3
1339(i)C++1126.11.7 [uninitialized.fill]uninitialized_fill_n should return the end of its rangeYes
3888(i)New26.11.8 [specialized.construct]Most ranges uninitialized memory algorithms are underconstrainedYes3
3436(i)WP26.11.8 [specialized.construct]std::construct_at should support arraysYes2
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
4085(i)WP26.12.2 [alg.rand.generate]ranges::generate_random's helper lambda should specify the return typeYes2
4086(i)NAD26.12.2 [alg.rand.generate]ranges::generate_random_n is missingYes
3521(i)C++2326.13 [alg.c.library]Overly strict requirements onqsort andbsearchYes
286(i)CD126.13 [alg.c.library]<cstdlib> requirements missing size_t typedefYes
405(i)CD126.13 [alg.c.library]qsort and PODYes

Section 27 (154 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
7(i)TC127 [strings]String clause minor problemsYes
2841(i)Resolved27 [strings]Use of "Equivalent to" in [strings]Yes3
85(i)NAD27 [strings]String char typesYes
1081(i)NAD Concepts27 [strings]basic_string needs to be a concept-constrained templateYes
2513(i)New27.1 [strings.general]Missing requirements forbasic_string::value_typeNo4
1170(i)C++1127.1 [strings.general]Stringchar-like types no longer PODsYes
3695(i)NAD27.1 [strings.general]The standard-layout property of char-like types serves for nothingYes4
2994(i)WP27.2 [char.traits]Needless UB forbasic_string andbasic_string_viewYes3
830(i)NAD Editorial27.2 [char.traits]Incomplete list of char_traits specializationsYes
570(i)NAD27.2 [char.traits]Request adding additional explicit specializations ofchar_traitsYes
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
3085(i)C++2327.2.2 [char.traits.require]char_traits::copy precondition too weakYes2
3518(i)C++2327.2.2 [char.traits.require]Exception requirements on char trait operations unclearYes
335(i)CD127.2.2 [char.traits.require]minor issue with char_traits, table 37Yes
352(i)CD127.2.3 [char.traits.typedefs]missing fpos requirementsYes
1200(i)NAD27.2.3 [char.traits.typedefs]"surprising"char_traits<T>::int_type requirementsYes
3942(i)New27.2.4 [char.traits.specializations]Inconsistent use ofconst char_type& in standard specializations ofstd::char_traitsYes3
709(i)CD127.2.4 [char.traits.specializations]char_traits::not_eof has wrong signatureYes
2232(i)Resolved27.2.4 [char.traits.specializations][CD] Thechar_traits specializations should declare theirlength(),compare(), andfind() members constexprYes
831(i)NAD Editorial27.2.4 [char.traits.specializations]wrong type for not_eof()Yes
4063(i)New27.2.4.2 [char.traits.specializations.char]Freestandingstd::char_traits<char>::eof depends on non-freestandingEOFNo2
467(i)CD127.2.4.2 [char.traits.specializations.char]char_traits::lt(), compare(), and memcmp()Yes
2959(i)New27.2.4.4 [char.traits.specializations.char16.t]char_traits<char16_t>::eof is a valid UTF-16 code unitNo3
1414(i)C++1127.2.4.4 [char.traits.specializations.char16.t]Fixing remaining dead links toPOS_T andOFF_TYes1444
57(i)TC127.2.4.6 [char.traits.specializations.wchar.t]Mistake in char_traitsYes
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
2778(i)C++1727.3 [string.view]basic_string_view is missingconstexprYes0
2780(i)Resolved27.3 [string.view]basic_string_view::copy is missingconstexprYes2
3950(i)WP27.3.2 [string.view.synop]std::basic_string_view comparison operators are overspecifiedYes
3457(i)New27.3.3 [string.view.template]*this is not invalidatedYes3
2938(i)Resolved27.3.3 [string.view.template]basic_string_view::const_iterator should be literal typesYes2
3068(i)NAD27.3.3 [string.view.template]Forbid assigning an rvaluebasic_string tobasic_string_viewYes2
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
3573(i)C++2327.3.3.2 [string.view.cons]MissingThrows element forbasic_string_view(It begin, End end)Yes
3581(i)C++2327.3.3.2 [string.view.cons]The range constructor makesbasic_string_view not trivially move constructibleYes
3857(i)C++2327.3.3.2 [string.view.cons]basic_string_view should allow explicit conversion when only traits varyYes
2826(i)C++1727.3.3.4 [string.view.iterators]string_view iterators use old wordingYes0
3040(i)C++2027.3.3.8 [string.view.ops]basic_string_view::starts_withEffects are incorrectYes0
2777(i)C++1727.3.3.8 [string.view.ops]basic_string_view::copy should usechar_traits::copyYes0
3432(i)C++2327.3.4 [string.view.comparison]Missing requirement forcomparison_categoryYes0
2755(i)C++1727.3.5 [string.view.io]§[string.view.io] uses non-existentbasic_string_view::to_string functionYes0
2791(i)Resolved27.3.6 [string.view.hash]string_view objects and strings should yield the same hash valuesYes
3339(i)New27.4.3 [basic.string]Move-constructed empty-container capacityNo3
3451(i)New27.4.3 [basic.string]Inconsistently explicit deduction guidesYes3
3075(i)C++2027.4.3 [basic.string]basic_string needs deduction guides frombasic_string_viewYes
2063(i)C++1727.4.3 [basic.string]Contradictory requirements for string move assignmentYes3
2064(i)C++1427.4.3 [basic.string]Morenoexcept issues inbasic_stringYes
2268(i)C++1427.4.3 [basic.string]Setting a default argument in the declaration of a member functionassign ofstd::basic_stringYes
876(i)C++1127.4.3 [basic.string]basic_string access operations should give stronger guaranteesYes
180(i)CD127.4.3 [basic.string]Container member iterator arguments constness has unintended consequencesYes
263(i)CD127.4.3 [basic.string]Severe restriction onbasic_string reference countingYes
530(i)CD127.4.3 [basic.string]Must elements of a string be contiguous?Yes
534(i)CD127.4.3 [basic.string]Missing basic_string membersYes
42(i)TC127.4.3 [basic.string]String ctors specify wrong default allocatorYes
83(i)TC127.4.3 [basic.string]String::npos vs. string::max_size()Yes89
209(i)TC127.4.3 [basic.string]basic_string declarations inconsistentYes
2836(i)Resolved27.4.3 [basic.string]More string operations should benoexceptYes2
2318(i)Resolved27.4.3 [basic.string]basic_string's wording has confusing relics from the copy-on-write eraYes4
2391(i)Resolved27.4.3 [basic.string]basic_string is missing non-constdata()Yes3
718(i)NAD Editorial27.4.3 [basic.string]basic_string is not a sequenceYes
3165(i)NAD27.4.3 [basic.string]Allstarts_with() overloads should be called "begins_with"Yes2
2372(i)NAD27.4.3 [basic.string]Assignment from int tostd::stringYes4
4(i)NAD27.4.3 [basic.string]basic_stringsize_type anddifference_type should be implementation definedYes
614(i)NAD27.4.3 [basic.string]std::string allocator requirements still inconsistentYes
2084(i)NAD27.4.3 [basic.string]basic_string use ofcharT*Yes
4029(i)New27.4.3.1 [basic.string.general]basic_string accidentally fails to meet the reversible container requirementsYes3
3650(i)C++2327.4.3.1 [basic.string.general]Arestd::basic_string'siterator andconst_iterator constexpr iterators?Yes
2861(i)C++1727.4.3.2 [string.require]basic_string should require thatcharT matchtraits::char_typeYes
2760(i)C++1727.4.3.2 [string.require]non-constbasic_string::data should not invalidate iteratorsYes
2003(i)C++1427.4.3.2 [string.require]String exception inconsistency in erase.Yes0
847(i)C++1127.4.3.2 [string.require]string exception safety guaranteesYes
301(i)CD127.4.3.2 [string.require]basic_string template ctor effects clause omits allocator argumentYes
86(i)TC127.4.3.2 [string.require]String constructors don't describe exceptionsYes
2151(i)Resolved27.4.3.2 [string.require]basic_string<>::swap semantics ignore allocatorsYes3
466(i)NAD27.4.3.2 [string.require]basic_string ctor should prevent null pointer errorYes
3663(i)New27.4.3.3 [string.cons]basic_string(const T&, const Alloc&) turns moves into copiesYes3
2946(i)C++2027.4.3.3 [string.cons]LWG 2758's resolution missed further correctionsYes2
3076(i)C++2027.4.3.3 [string.cons]basic_string CTAD ambiguityYes
2742(i)C++1727.4.3.3 [string.cons]Inconsistentstring interface takingstring_viewYes1
2583(i)C++1727.4.3.3 [string.cons]There is no way to supply an allocator forbasic_string(str, pos)Yes0
2069(i)C++1427.4.3.3 [string.cons]Inconsistent exception spec forbasic_string move constructorYes
2235(i)C++1427.4.3.3 [string.cons]Undefined behavior without proper requirements onbasic_string constructorsYes
3111(i)Resolved27.4.3.3 [string.cons]Too strong precondition onbasic_string constructorYes2
3033(i)NAD Editorial27.4.3.3 [string.cons]basic_string move ctor is underspecifiedYes
2402(i)NAD27.4.3.3 [string.cons]basic_string(const basic_string& str, size_type pos, size_type n = npos) shouldn't useAllocator()Yes3
2319(i)NAD27.4.3.3 [string.cons]basic_string's move constructor should not benoexceptYes1
2822(i)NAD27.4.3.3 [string.cons]Resolution for LWG 2742 introduces ambiguitiesYes
2580(i)NAD27.4.3.3 [string.cons]Who is definitive:operator= orassign?Yes4
3311(i)Dup27.4.3.3 [string.cons]basic_string::operator=(charT c) should be constrainedYes
1192(i)C++1127.4.3.4 [string.iterators]basic_string missing definitions forcbegin /cend /crbegin /crendYes
3645(i)C++2327.4.3.5 [string.capacity]resize_and_overwrite is overspecified to call its callback with lvaluesYes2
3004(i)C++2027.4.3.5 [string.capacity]§[string.capacity] and §[vector.capacity] should specify time complexity forcapacity()Yes0
2834(i)C++1727.4.3.5 [string.capacity]Resolution LWG 2223 is missing wording about end iteratorsYes0
259(i)CD127.4.3.5 [string.capacity]basic_string::operator[] and const correctnessYes
2968(i)Resolved27.4.3.5 [string.capacity]Inconsistencies betweenbasic_string reserve andvector/unordered_map/unordered_set reserve functionsYes3
3579(i)NAD27.4.3.5 [string.capacity]Complexity guarantees forresize() andappend() functions across the libraryYes3
104(i)NAD27.4.3.5 [string.capacity]Description of basic_string::operator[] is unclearYes
4378(i)New27.4.3.6 [string.access]Inconsistency betweenstd::basic_string'sdata() andoperator[] specificationYes4
2475(i)C++1727.4.3.6 [string.access]Allow overwriting ofstd::basic_string terminator withcharT() to allow cleaner interoperation with legacy APIsYes3
2207(i)C++1427.4.3.6 [string.access]basic_string::at should not have a Requires clauseYes
84(i)NAD27.4.3.6 [string.access]Ambiguity with string::insert()Yes
3662(i)New27.4.3.7.2 [string.append]basic_string::append/assign(NTBS, pos, n) suboptimalYes3
2788(i)C++1727.4.3.7.2 [string.append]basic_string range mutators unintentionally require a default constructible allocatorYes2
2758(i)C++1727.4.3.7.3 [string.assign]std::string{}.assign("ABCDE", 0, 1) is ambiguousYes1
2579(i)C++1727.4.3.7.3 [string.assign]Inconsistency wrt Allocators inbasic_string assignment vs.basic_string::assignYes0
2929(i)Resolved27.4.3.7.3 [string.assign]basic_string misuses "Effects: Equivalent to"Yes3
141(i)TC127.4.3.7.4 [string.insert]basic_string::find_last_of, find_last_not_of say pos instead of xposYes
2757(i)Resolved27.4.3.7.4 [string.insert]std::string{}.insert(3, "ABCDE", 0, 1) is ambiguousYes1
88(i)NAD27.4.3.7.4 [string.insert]Inconsistency between string::insert() and string::append()Yes
377(i)NAD27.4.3.7.4 [string.insert]basic_string::insert and length_errorYes
89(i)Dup27.4.3.7.4 [string.insert]Missing throw specification for string::insert() and string::replace()Yes83
428(i)CD127.4.3.7.5 [string.erase]string::erase(iterator) validityYes
27(i)TC127.4.3.7.5 [string.erase]String::erase(range) yields wrong iteratorYes
1323(i)C++1127.4.3.7.6 [string.replace]basic_string::replace should useconst_iteratorYes
368(i)NAD Editorial27.4.3.7.6 [string.replace]basic_string::replace has two "Throws" paragraphsYes
403(i)CD127.4.3.7.8 [string.swap]basic_string::swap should not throw exceptionsYes
535(i)CD127.4.3.7.8 [string.swap]std::string::swap specification poorly wordedYes
5(i)TC127.4.3.7.8 [string.swap]String::compare specification questionableYes87
87(i)Dup27.4.3.7.8 [string.swap]Error in description of string::compare()Yes5
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
3752(i)NAD27.4.3.8.3 [string.substr]Shouldstring::substr forward the allocator to the newly created string?Yes
2771(i)C++1727.4.3.8.4 [string.compare]BrokenEffects of somebasic_string::compare functions in terms ofbasic_string_viewYes1
1138(i)C++1127.4.4.1 [string.op.plus]Unusual return value foroperator+Yes
2852(i)NAD27.4.4.2 [string.cmp]Specifications ofoperator== forstd::basic_strings andstd::basic_string_views aredifficult to conform toYes2
2011(i)C++1427.4.4.4 [string.io]Unexpected output required of stringsYes
91(i)CD127.4.4.4 [string.io]Description of operator>> and getline() for string<> might cause endless loopYes
435(i)CD127.4.4.4 [string.io]bug in DR 25Yes
586(i)CD127.4.4.4 [string.io]string inserter not a formatted functionYes
824(i)CD127.4.4.4 [string.io]rvalue ref issue withbasic_string inserterYes
25(i)TC127.4.4.4 [string.io]String operator<< uses width() value wrongYes67
90(i)TC127.4.4.4 [string.io]Incorrect description of operator >> for stringsYes
211(i)TC127.4.4.4 [string.io]operator>>(istream&, string&) doesn't set failbitYes
2535(i)NAD27.4.4.4 [string.io]Inconsistency betweenostream::write andostream::operator<<Yes2
67(i)Dup27.4.4.4 [string.io]Setw useless for stringsYes25
3837(i)New27.4.4.5 [string.erasure]std::erase_if overloads for non-associative containers should move (andnot copy) their predicate objectYes3
2403(i)C++1727.4.5 [string.conversions]stof() should callstrtof() andwcstof()Yes2
2009(i)C++1427.4.5 [string.conversions]Reporting out-of-bound values on numeric string conversionsYes
1261(i)C++1127.4.5 [string.conversions]Insufficent overloads forto_string /to_wstringYes
771(i)CD127.4.5 [string.conversions]Impossible throws clause in [string.conversions]Yes
772(i)CD127.4.5 [string.conversions]Impossible return clause in [string.conversions]Yes
2270(i)NAD27.4.5 [string.conversions]Inconsistentto_string overloadsYes
3705(i)C++2327.4.6 [basic.string.hash]Hashability shouldn't depend onbasic_string's allocatorYes
2978(i)C++2027.4.6 [basic.string.hash]Hash support forpmr::string and friendsYes0
2355(i)NAD27.4.7 [basic.string.literals]"s" UDL suffix should be reserved for a compile-time string library typeYes1
2237(i)New27.5 [c.strings]<cuchar> macrosNo4
2238(i)Open27.5 [c.strings]Problematic iterator-pair constructor of containersNo3
2482(i)C++1727.5 [c.strings]§[c.strings] Table 73 mentions nonexistent functionsYes
345(i)CD127.5 [c.strings]type tm in <cwchar>Yes
615(i)NAD Editorial27.5 [c.strings]Inconsistencies in Section 21.4Yes
4064(i)WP27.5.1 [cstring.syn]Clarify thatstd::launder is not needed when using the result ofstd::memcpyYes3

Section 28 (290 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3266(i)C++2028.2.1 [charconv.syn]to_chars(bool) should be deletedYes0
3373(i)C++2028.2.1 [charconv.syn]{to,from}_chars_result andformat_to_n_result need the "we really mean what we say" wordingYes0
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
3080(i)C++2028.2.3 [charconv.from.chars]Floating pointfrom_chars pattern specification breaks round-trippingYes0
317(i)CD128.3 [localization]Instantiation vs. specialization of facetsYes
495(i)CD128.3 [localization]Clause 22 template parameter requirementsYes
708(i)NAD28.3 [localization]Locales need to be per thread and updated for POSIX changesYes
1082(i)NAD Concepts28.3 [localization]codecvt needs to be a concept-constrained templateYes
1083(i)NAD Concepts28.3 [localization]InputIterator andOutputIterator template parameters need to be concept constraintsYes
1298(i)C++1128.3.2 [locale.syn]Missing specialization ofctype_byname<char>Yes
3353(i)New28.3.3.1 [locale]locale's copy assignment operator should returnlocale&Yes3
268(i)CD128.3.3.1 [locale]Typo in locale synopsisYes
360(i)CD128.3.3.1 [locale]locale mandates inefficient implementationYes
31(i)TC128.3.3.1 [locale]Immutable locale valuesYes378
37(i)TC128.3.3.1 [locale]Leftover "global" referenceYes
137(i)TC128.3.3.1 [locale]Do use_facet and has_facet look in the global locale?Yes
330(i)NAD28.3.3.1 [locale]Misleading "exposition only" value in class locale definitionYes
378(i)Dup28.3.3.1 [locale]locale immutability and locale::operator=()Yes31
3767(i)WP28.3.3.1.2.1 [locale.category]codecvt<charN_t, char8_t, mbstate_t> incorrectly added to localeYes3
327(i)CD128.3.3.1.2.1 [locale.category]Typo in time_get facet in table 52Yes447
340(i)CD128.3.3.1.2.1 [locale.category]interpretation ofhas_facet<Facet>(loc)Yes
347(i)CD128.3.3.1.2.1 [locale.category]locale::category and bitmask requirementsYes
21(i)TC128.3.3.1.2.1 [locale.category]Codecvt_byname<> instantiationsYes
30(i)TC128.3.3.1.2.1 [locale.category]Wrong header for LC_*Yes
121(i)NAD28.3.3.1.2.1 [locale.category]Detailed definition for ctype<wchar_t> specializationYes
502(i)NAD28.3.3.1.2.1 [locale.category]Proposition: Clarification of the interaction between a facet and an iteratorYes
447(i)Dup28.3.3.1.2.1 [locale.category]Wrong template argument for time facetsYes327
2694(i)C++1728.3.3.1.2.2 [locale.facet]Application of LWG 436 accidentally deleted definition of "facet"Yes3
436(i)CD128.3.3.1.2.2 [locale.facet]are cv-qualified facet types valid facets?Yes
2295(i)C++2328.3.3.1.3 [locale.cons]Locale name when the providedFacet is anullptrYes3
3673(i)Resolved28.3.3.1.3 [locale.cons]§[locale.cons] Ambiguous argument inThrows for locale+name+category constructorYes3
3676(i)Resolved28.3.3.1.3 [locale.cons]Name of locale composed usingstd::locale::noneYes3
3674(i)New28.3.3.1.4 [locale.members]Removal of requirement for locale names for construction of locales not explainedYes2
2394(i)C++1728.3.3.1.4 [locale.members]locale::name specification unclear — what is implementation-defined?Yes3
14(i)TC128.3.3.1.4 [locale.members]Locale::combine should be constYes
15(i)TC128.3.3.1.4 [locale.members]Locale::name requirement inconsistentYes
452(i)NAD28.3.3.1.4 [locale.members] locale::combine should be permitted to generate a named localeYes
8(i)TC128.3.3.1.6 [locale.statics]Locale::global lacks guaranteeYes
38(i)TC128.3.3.2 [locale.global.templates]Facet definition incompleteYes
2019(i)C++1128.3.3.3.1 [classification]isblank not supported bystd::localeYes
391(i)CD128.3.3.3.2 [conversions.character]non-member functions specified as constYes
228(i)CD128.3.4 [locale.categories]Incorrect specification of "..._byname" facetsYes
338(i)CD128.3.4 [locale.categories] is whitespace allowed between `-' and a digit?Yes
439(i)NAD28.3.4 [locale.categories]Should facets be copyable?Yes
503(i)NAD28.3.4 [locale.categories]more on localesYes
585(i)NAD28.3.4 [locale.categories]facet error reportingYes
339(i)CD128.3.4.2 [category.ctype]definition of bitmask type restricted to clause 27Yes
356(i)NAD28.3.4.2 [category.ctype]Meaning of ctype_base::mask enumeratorsYes
4037(i)WP28.3.4.2.1 [category.ctype.general]Static data members ofctype_base are not yet required to be usable in constant expressionsYes
473(i)C++1128.3.4.2.2 [locale.ctype]underspecifiedctype callsYes
379(i)CD128.3.4.2.2.3 [locale.ctype.virtuals]nonsensical ctype::do_widen() requirementYes
126(i)TC128.3.4.2.2.3 [locale.ctype.virtuals]typos in Effects clause of ctype::do_narrow()Yes
152(i)TC128.3.4.2.2.3 [locale.ctype.virtuals]Typo inscan_is() semanticsYes
417(i)NAD28.3.4.2.2.3 [locale.ctype.virtuals]what doesctype::do_widen() return on failureYes
616(i)CD128.3.4.2.3 [locale.ctype.byname]missing 'typename' in ctype_bynameYes
124(i)TC128.3.4.2.3 [locale.ctype.byname]ctype_byname<charT>::do_scan_is & do_scan_not return type should be const charT*Yes
695(i)CD128.3.4.2.4 [facet.ctype.special]ctype<char>::classic_table() not accessibleYes
153(i)CD128.3.4.2.4.3 [facet.ctype.char.members]Typo innarrow() semanticsYes207
28(i)TC128.3.4.2.4.3 [facet.ctype.char.members]Ctype<char>is ambiguousYes236
207(i)Dup28.3.4.2.4.3 [facet.ctype.char.members]ctype<char> members return clause incompleteYes153
236(i)Dup28.3.4.2.4.3 [facet.ctype.char.members]ctype<char>::is() member modifies facetYes28
76(i)CD128.3.4.2.5 [locale.codecvt]Can acodecvt facet always convert one internal character at a time?Yes
75(i)TC128.3.4.2.5 [locale.codecvt]Contradiction incodecvt::length's argument typesYes
16(i)TC128.3.4.2.5 [locale.codecvt]Bad ctype_byname<char> declYes
19(i)TC128.3.4.2.5 [locale.codecvt]"Noconv" definition too vagueYes10
24(i)TC128.3.4.2.5 [locale.codecvt]"do_convert" doesn't existYes72
33(i)TC128.3.4.2.5 [locale.codecvt]Codecvt<> mentions from_typeYes43
74(i)TC128.3.4.2.5 [locale.codecvt]Garbled text forcodecvt::do_max_lengthYes
138(i)NAD28.3.4.2.5 [locale.codecvt]Classctype_byname<char> redundant and misleadingYes
382(i)NAD28.3.4.2.5 [locale.codecvt]codecvt do_in/out resultYes
72(i)Dup28.3.4.2.5 [locale.codecvt]Do_convert phantom member functionYes24
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
664(i)CD128.3.4.2.5.3 [locale.codecvt.virtuals]do_unshift forcodecvt<char, char, mbstate_t>Yes
665(i)CD128.3.4.2.5.3 [locale.codecvt.virtuals]do_unshift return valueYes
393(i)NAD Editorial28.3.4.2.5.3 [locale.codecvt.virtuals]do_in/do_out operation on state unclearYes
305(i)CD128.3.4.2.6 [locale.codecvt.byname]Default behavior of codecvt<wchar_t, char, mbstate_t>::length()Yes
380(i)CD128.3.4.2.6 [locale.codecvt.byname]typos in codecvt tables 53 and 54Yes
381(i)CD128.3.4.2.6 [locale.codecvt.byname]detection of invalid mbstate_t in codecvtYes
302(i)NAD28.3.4.2.6 [locale.codecvt.byname]Need error indication from codecvt<>::do_lengthYes
500(i)NAD28.3.4.2.6 [locale.codecvt.byname]do_length cannot be implemented correctlyYes
10(i)Dup28.3.4.2.6 [locale.codecvt.byname]Codecvt<>::do unclearYes19
43(i)Dup28.3.4.2.6 [locale.codecvt.byname]Locale table correctionYes33
344(i)NAD28.3.4.3 [category.numeric]grouping + showbaseYes
275(i)CD128.3.4.3.2.2 [facet.num.get.members]Wrong type in num_get::get() overloadsYes
18(i)TC128.3.4.3.2.2 [facet.num.get.members]Get(...bool&) omittedYes
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
2381(i)C++2328.3.4.3.2.3 [facet.num.get.virtuals]Inconsistency in parsing floating point numbersYes2
1169(i)C++1728.3.4.3.2.3 [facet.num.get.virtuals]num_get not fully compatible withstrto*Yes3
427(i)C++1128.3.4.3.2.3 [facet.num.get.virtuals]Stage 2 and rationale of DR 221Yes
2041(i)C++1128.3.4.3.2.3 [facet.num.get.virtuals]Stage 2 accumulate incompatibiltyYes
23(i)CD128.3.4.3.2.3 [facet.num.get.virtuals]Num_get overflow resultYes
221(i)CD128.3.4.3.2.3 [facet.num.get.virtuals]num_get<>::do_get stage 2 processing brokenYes
321(i)CD128.3.4.3.2.3 [facet.num.get.virtuals]Typo in num_getYes
358(i)CD128.3.4.3.2.3 [facet.num.get.virtuals]interpretingthousands_sep after adecimal_pointYes
17(i)TC128.3.4.3.2.3 [facet.num.get.virtuals]Bad bool parsingYes
154(i)TC128.3.4.3.2.3 [facet.num.get.virtuals]Missingdouble specifier fordo_get()Yes
459(i)NAD28.3.4.3.2.3 [facet.num.get.virtuals]Requirement for widening in stage 2 is overspecificationYes
662(i)NAD28.3.4.3.2.3 [facet.num.get.virtuals]Inconsistent handling of incorrectly-placed thousands separatorsYes
826(i)NAD28.3.4.3.3 [locale.nm.put]Equivalent of%'d, or rather, lack thereof?Yes
359(i)CD128.3.4.3.3.2 [facet.num.put.members]num_put<>::do_put (..., bool) undocumentedYes
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
4084(i)WP28.3.4.3.3.3 [facet.num.put.virtuals]std::fixed ignoresstd::uppercaseYes3
2293(i)C++1428.3.4.3.3.3 [facet.num.put.virtuals]Wrong facet used bynum_put::do_putYes0
671(i)C++1128.3.4.3.3.3 [facet.num.put.virtuals]precision ofhexfloatYes
1152(i)C++1128.3.4.3.3.3 [facet.num.put.virtuals]Expressions parsed differently than intendedYes
231(i)CD128.3.4.3.3.3 [facet.num.put.virtuals]Precision in iostream?Yes
282(i)CD128.3.4.3.3.3 [facet.num.put.virtuals]What types does numpunct grouping refer to?Yes
34(i)TC128.3.4.3.3.3 [facet.num.put.virtuals]True/falsename() not in ctype<>Yes
361(i)NAD28.3.4.3.3.3 [facet.num.put.virtuals]num_get<>::do_get (..., void*&) checks groupingYes
20(i)TC128.3.4.4.1.3 [facet.numpunct.virtuals]Thousands_sep returns wrong typeYes
318(i)CD128.3.4.4.2 [locale.numpunct.byname]Misleading comment in definition of numpunct_bynameYes
248(i)CD128.3.4.6 [category.time]time_get fails to set eofbitYes
71(i)TC128.3.4.6.2 [locale.time.get]Do_get_monthname synopsis missing argumentYes
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
461(i)CD128.3.4.6.2.3 [locale.time.get.virtuals]time_get hard or impossible to implementYes
164(i)TC128.3.4.6.4.3 [locale.time.put.virtuals]do_put() has apparently unused fill argumentYes
836(i)C++1128.3.4.7.2.3 [locale.money.get.virtuals] Effects ofmoney_base::space andmoney_base::none onmoney_getYes670
667(i)NAD28.3.4.7.2.3 [locale.money.get.virtuals]money_get's widened minus signYes
668(i)NAD28.3.4.7.2.3 [locale.money.get.virtuals]money_get's empty minus signYes
669(i)NAD28.3.4.7.2.3 [locale.money.get.virtuals]Equivalent postive and negative signs inmoney_getYes
2983(i)New28.3.4.7.3.3 [locale.money.put.virtuals]money_put::do_put underspecifiedYes3
328(i)CD128.3.4.7.3.3 [locale.money.put.virtuals]Bad sprintf format modifier in money_put<>::do_put()Yes
2691(i)New28.3.4.7.4 [locale.moneypunct]money_base::space anddo_put: U+0020 versusfillYes3
670(i)Dup28.3.4.7.4 [locale.moneypunct]money_base::pattern andspaceYes836
374(i)NAD28.3.4.7.4.2 [locale.moneypunct.members]moneypunct::frac_digits returns int not unsignedYes
325(i)CD128.3.4.7.4.3 [locale.moneypunct.virtuals]Misleading text in moneypunct<>::do_groupingYes
666(i)CD128.3.4.7.4.3 [locale.moneypunct.virtuals]moneypunct::do_curr_symbol()Yes
326(i)NAD28.3.4.7.5 [locale.moneypunct.byname]Missing typedef in moneypunct_bynameYes
2028(i)C++1428.3.4.8.2 [locale.messages]messages_base::catalog overspecifiedYes
4043(i)WP28.4.2.2 [text.encoding.general]"ASCII" is not a registered character encodingYes
4038(i)WP28.4.2.5 [text.encoding.aliases]std::text_encoding::aliases_view should have constexpr iteratorsYes
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
3243(i)C++2028.5.2 [format.string]std::format and negative zeroesYes2
3251(i)C++2028.5.2 [format.string]Arestd::format alignment specifiers applied to string arguments?Yes2
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
3612(i)C++2328.5.2.2 [format.string.std]Inconsistent pointer alignment instd::formatYes
3648(i)C++2328.5.2.2 [format.string.std]format should not printbool with'c'Yes
3720(i)C++2328.5.2.2 [format.string.std]Restrict the valid types ofarg-id forwidth andprecision instd-format-specYes2
3721(i)C++2328.5.2.2 [format.string.std]Allow anarg-id with a value of zero forwidth instd-format-specYes3
3242(i)C++2028.5.2.2 [format.string.std]std::format: missing rules forarg-id inwidth andprecisionYes1
3248(i)C++2028.5.2.2 [format.string.std]std::format#b,#B,#o,#x, and#X presentation types misformat negative numbersYes2
3250(i)C++2028.5.2.2 [format.string.std]std::format:# (alternate form) for NaN and infYes0
3290(i)C++2028.5.2.2 [format.string.std]Arestd::format field widths code units, code points, or something else?Yes
3327(i)C++2028.5.2.2 [format.string.std]Format alignment specifiers vs. text directionYes0
3412(i)Resolved28.5.2.2 [format.string.std]§[format.string.std] references to "Unicode encoding" unclearYes3
3576(i)Resolved28.5.2.2 [format.string.std]Clarifying fill character instd::formatYes2
3639(i)Resolved28.5.2.2 [format.string.std]Handling of fill character width is underspecified instd::formatYes3
3780(i)Resolved28.5.2.2 [format.string.std]format's width estimation is too approximate and not forward compatibleYes3
4078(i)New28.5.5 [format.functions]What if arguments alias the output buffer instd::format_to?No4
3539(i)C++2328.5.5 [format.functions]format_to must not copy models ofoutput_iterator<const charT&>Yes
3619(i)C++2328.5.5 [format.functions]Specification ofvformat_to contains ill-formedformatted_size callsYes
3340(i)C++2028.5.5 [format.functions]Formatting functions should throw on argument/format string mismatch in §[format.functions]Yes
3372(i)C++2028.5.5 [format.functions]vformat_to should not try to deduceOut twiceYes0
3336(i)Resolved28.5.5 [format.functions]How doesstd::vformat handle exception thrown by formatters?Yes2
3993(i)New28.5.6.1 [formatter.requirements]Theparse function of aBasicFormatter type needs to beconstexprYes3
3462(i)C++2328.5.6.1 [formatter.requirements]§[formatter.requirements]: Formatter requirements forbid use offc.arg()Yes3
3636(i)C++2328.5.6.1 [formatter.requirements]formatter<T>::format should beconst-qualifiedYes1
3776(i)NAD28.5.6.1 [formatter.requirements]Avoid parsingformat-spec if it is not present or emptyYes3
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
3925(i)WP28.5.6.3 [format.formattable]Conceptformattable's definition is incorrectYes
3806(i)NAD28.5.6.3 [format.formattable]Should conceptformattable<T, charT> default tochar?Yes2
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
3944(i)WP28.5.6.4 [format.formatter.spec]Formatters converting sequences ofchar to sequences ofwchar_tYes3
3701(i)C++2328.5.6.4 [format.formatter.spec]Makeformatter<remove_cvref_t<const charT[N]>, charT> requirement explicitYes
3833(i)C++2328.5.6.4 [format.formatter.spec]Remove specializationtemplate<size_t N> struct formatter<const charT[N], charT>Yes2
3965(i)WP28.5.6.5 [format.string.escaped]Incorrect example in [format.string.escaped] p3 for formatting of combining charactersYes
4142(i)WP28.5.6.6 [format.parse.ctx]format_parse_context::check_dynamic_spec should require at least one typeYes
3825(i)C++2328.5.6.6 [format.parse.ctx]Missing compile-time argumentid check inbasic_format_parse_context::next_arg_idYes
4061(i)WP28.5.6.7 [format.context]Shouldstd::basic_format_context be default-constructible/copyable/movable?Yes
3975(i)WP28.5.6.7 [format.context]Specializations ofbasic_format_context should not be permittedYes3
3567(i)C++2328.5.6.7 [format.context]Formatting move-only iterators take twoYes
3654(i)C++2328.5.6.7 [format.context]basic_format_context::arg(size_t) should benoexceptYes
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
3892(i)WP28.5.7.2 [format.range.formatter]Incorrect formatting of nested ranges and tuplesYes2
3839(i)C++2328.5.7.2 [format.range.formatter]range_formatter'sset_separator,set_brackets, andunderlying functions should benoexceptYes
4107(i)New28.5.7.4 [format.range.fmtmap]Map formatter may conflict with user-defined specializations ofpair/tuple formattersYes3
3540(i)C++2328.5.8.1 [format.arg]§[format.arg] There should be noconst inbasic_format_arg(const T* p)Yes
3542(i)C++2328.5.8.1 [format.arg]basic_format_arg mis-handlesbasic_string_view with custom traitsYes
3631(i)C++2328.5.8.1 [format.arg]basic_format_arg(T&&) should useremove_cvref_t<T> throughoutYes3
3246(i)C++2028.5.8.1 [format.arg]What are the constraints on the template parameter ofbasic_format_arg?Yes0
3371(i)C++2028.5.8.1 [format.arg]visit_format_arg andmake_format_args are not hidden friendsYes0
3718(i)Resolved28.5.8.1 [format.arg]P2418R2 broke the overload resolution forstd::basic_format_argYes2
3544(i)C++2328.5.8.2 [format.arg.store]format-arg-store::args is unintentionally not exposition-onlyYes3
4106(i)WP28.5.8.3 [format.args]basic_format_args should not be default-constructibleYes
3473(i)C++2328.5.8.3 [format.args]Normative encouragement in non-normative noteYes0
3810(i)C++2328.5.8.3 [format.args]CTAD forstd::basic_format_argsYes3
4399(i)Voting28.5.9 [format.tuple]enable_nonlocking_formatter_optimization forpair andtuple needsremove_cvref_tYes
2490(i)New28.6 [re]<regex> needs lots ofnoexceptNo3
523(i)Open28.6 [re]regex case-insensitive character ranges are unimplementable as specifiedNo4
524(i)CD128.6 [re]regex named character classes and case-insensitivity don't mixYes
1142(i)NAD Concepts28.6 [re]Regular expressions library not concept enabledYes
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
2329(i)C++1428.6.3 [re.syn]regex_match()/regex_search() withmatch_results should forbid temporary stringsYes2
1263(i)NAD28.6.3 [re.syn]missingswap overloads forregexYes
3998(i)New28.6.4 [re.const]Constants instd::regex_constants should be allowed to be enumeratorsNo3
2053(i)C++1428.6.4 [re.const]Errors inregex bitmask typesYes
2331(i)Open28.6.4.2 [re.synopt]regex_constants::collate's effects are inaccurately summarizedYes3
2503(i)C++1728.6.4.2 [re.synopt]multiline option should be added tosyntax_option_typeYes2
2359(i)C++1428.6.4.2 [re.synopt]How doesregex_constants::nosubs affectbasic_regex::mark_count()?Yes0
2330(i)C++1428.6.4.2 [re.synopt]regex("meow", regex::icase) is technically forbidden but should be permittedYes0
3605(i)New28.6.4.3 [re.matchflag]regex_constants::match_prev_avail is underspecifiedNo3
1450(i)C++1428.6.4.3 [re.matchflag]Contradiction inregex_constantsYes3
2338(i)Open28.6.6 [re.traits]§[re.traits]/7 expects of locale facets something not guaranteed by [locale.facet]/4Yes3
4186(i)WP28.6.6 [re.traits]regex_traits::transform_primary mistakenly detectstypeid of a functionYes
2018(i)C++1428.6.6 [re.traits][CD]regex_traits::isctype Returns clause is wrongYes
2271(i)C++1428.6.6 [re.traits]regex_traits::lookup_classname specification unclearYes
1337(i)C++1128.6.6 [re.traits]Swapped arguments inregex_traits::isctypeYes
3261(i)New28.6.7 [re.regex]regex components'noexcept annotations appear broken for POCMA or throwingBidirectionalIteratorNo3
3296(i)C++2028.6.7 [re.regex]Inconsistent default argument forbasic_regex<>::assignYes0
723(i)C++1128.6.7 [re.regex]basic_regex should be moveableYes
2029(i)C++1128.6.7 [re.regex]Missing 'noexcept' onbasic_regex move-assignment operatorYes
628(i)CD128.6.7 [re.regex]Inconsistent definition of basic_regex constructorYes
1396(i)NAD28.6.7 [re.regex]regex should support allocatorsYes1451
1451(i)Dup28.6.7 [re.regex]regex should support allocatorsYes1396
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
1014(i)C++1128.6.7.2 [re.regex.construct]basic_regex should be created/assigned from initializer listsYes
682(i)CD128.6.7.2 [re.regex.construct]basic_regex ctor takes InputIterator or ForwardIterator?Yes
2137(i)Open28.6.7.3 [re.regex.assign]Misleadingly constrained post-condition in the presence of exceptionsYes3
2001(i)C++1128.6.7.3 [re.regex.assign]Class templatebasic_regex uses non existentstring_typeYes
3126(i)New28.6.8 [re.submatch]There's nostd::sub_match::compare(string_view) overloadYes3
3204(i)C++2328.6.8 [re.submatch]sub_match::swap only swaps the base classYes3
1180(i)C++1128.6.8.2 [re.submatch.members]Missingstring_type member typedef in classsub_matchYes
2217(i)C++1728.6.8.3 [re.submatch.op]operator==(sub_match, string) slices on embedded'\0'sYes2
1181(i)C++1128.6.8.3 [re.submatch.op]Invalidsub_match comparison operatorsYes
681(i)CD128.6.8.3 [re.submatch.op]Operator functions impossible to compare are defined in [re.submatch.op]Yes
2195(i)C++2328.6.9 [re.results]Missing constructors formatch_resultsYes3
2589(i)C++1728.6.9 [re.results]match_results can't satisfy the requirements of a containerYes3
2306(i)C++1428.6.9 [re.results]match_results::reference should bevalue_type&, notconst value_type&Yes4
645(i)NAD Editorial28.6.9 [re.results]Missing members in match_resultsYes
684(i)NAD Editorial28.6.9 [re.results]Unclear which members of match_results should be used in comparisonYes
3800(i)NAD28.6.9.1 [re.results.general]No deduction guide forstd::match_resultsYes
2191(i)C++2328.6.9.2 [re.results.const]Incorrect specification ofmatch_results(match_results&&)Yes4
2183(i)C++2028.6.9.2 [re.results.const]Muddled allocator requirements formatch_results constructorsYes3
2184(i)C++2028.6.9.2 [re.results.const]Muddled allocator requirements formatch_results assignmentsYes3
1209(i)C++1128.6.9.2 [re.results.const]match_results should be moveableYes
1453(i)Resolved28.6.9.5 [re.results.acc]Default constructedmatch_results behavior for certain operationsYes
1452(i)NAD28.6.9.5 [re.results.acc]"target sequence" is not definedYes
646(i)CD128.6.9.6 [re.results.form]const incorrect match_result membersYes
2002(i)Resolved28.6.9.9 [re.results.nonmember]Class templatematch_results does not specify the semantics ofoperator==Yes
2273(i)C++1728.6.10.2 [re.alg.match]regex_match ambiguityYes2
2205(i)C++1428.6.10.2 [re.alg.match]Problematic postconditions ofregex_match andregex_searchYes0
647(i)NAD Editorial28.6.10.3 [re.alg.search]Inconsistentregex_search paramsYes
2216(i)New28.6.10.4 [re.alg.replace]regex_replace(basic_string) allocator handlingNo3
2213(i)C++1428.6.10.4 [re.alg.replace]Return value ofstd::regex_replaceYes0
727(i)C++1128.6.10.4 [re.alg.replace]regex_replace() doesn't acceptbasic_strings with custom traits and allocatorsYes
726(i)NAD28.6.10.4 [re.alg.replace]Missingregex_replace() overloadsYes
2332(i)C++1428.6.11 [re.iter]regex_iterator/regex_token_iterator should forbid temporary regexesYes2
3698(i)Resolved28.6.11 [re.iter]regex_iterator andjoin_view don't work together very wellYes2
652(i)CD128.6.11.1 [re.regiter]regex_iterator and const correctnessYes
648(i)NAD Editorial28.6.11.1.2 [re.regiter.cnstr]regex_iterator c'tor needs clarification/editorial fixYes
909(i)C++1128.6.11.2 [re.tokiter]regex_token_iterator should useinitializer_listYes
650(i)CD128.6.11.2 [re.tokiter]regex_token_iterator and const correctnessYes
683(i)NAD Editorial28.6.11.2 [re.tokiter]regex_token_iterator summary errorYes
3129(i)C++2028.6.11.2.2 [re.tokiter.cnstr]regex_token_iterator constructor uses wrong pointer arithmeticYes0
651(i)CD128.6.11.2.2 [re.tokiter.cnstr]Missing preconditions for regex_token_iterator c'torsYes
649(i)NAD Editorial28.6.11.2.2 [re.tokiter.cnstr]Several typos in regex_token_iterator constructorsYes
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
2584(i)C++1728.6.12 [re.grammar]<regex> ECMAScriptIdentityEscape is ambiguousYes2
716(i)C++1128.6.12 [re.grammar]Production in [re.grammar] not actually modifiedYes
2343(i)Resolved28.6.12 [re.grammar]Is the value of the ECMA-262 RegExp object's multiline property really false?Yes2

Section 29 (211 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
860(i)C++1129 [numerics]Floating-Point StateYes
1140(i)NAD Concepts29 [numerics]Numerics library not concept enabledYes
3133(i)C++2029.2 [numeric.requirements]Modernizing numeric type requirementsYes0
2699(i)C++1729.2 [numeric.requirements]Missing restriction in [numeric.requirements]Yes3
3905(i)WP29.3.1 [cfenv.syn]Type ofstd::fexcept_tYes
4161(i)New29.4 [complex.numbers]Some free functions don't automatically work for program-definedstd::complex<NonFloatingPoint>No3
387(i)CD129.4 [complex.numbers]std::complex over-encapsulatedYes
2693(i)Resolved29.4 [complex.numbers]constexpr for variousstd::complex arithmetic and value operatorsYes3
1154(i)NAD29.4 [complex.numbers]complex should accept integral typesYes
1217(i)NAD29.4 [complex.numbers]Quaternion supportYes
388(i)NAD29.4 [complex.numbers]Use ofcomplex as a key in associative containersYes
79(i)TC129.4.2 [complex.syn]Inconsistent declaration of polar()Yes
80(i)TC129.4.2 [complex.syn]Global Operators of complex declared twiceYes
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
3935(i)WP29.4.3 [complex]template<class X> constexpr complex& operator=(const complex<X>&) has no specificationYes
2714(i)New29.4.6 [complex.ops]complex stream extraction underspecifiedYes3
629(i)CD129.4.6 [complex.ops]complex<T> insertion and locale dependenceYes
146(i)TC129.4.6 [complex.ops]complex<T> Inserter and Extractor need sentriesYes
177(i)NAD29.4.6 [complex.ops]Complex operators cannot be explicitly instantiatedYes
2870(i)C++2029.4.7 [complex.value.ops]Default value of parametertheta ofpolar should be dependentYes
2459(i)C++1729.4.7 [complex.value.ops]std::polar should require a non-negative rhoYes0
1435(i)C++1129.4.7 [complex.value.ops]Unclear returns specifications for C99 complex number functionsYes
595(i)CD129.4.7 [complex.value.ops]TR1/C++0x:fabs(complex<T>) redundant / wrongly specifiedYes
781(i)CD129.4.7 [complex.value.ops]std::complex should add missing C99 functionsYes
2597(i)C++2029.4.8 [complex.transcendentals]std::log misspecified for complex numbersYes3
440(i)NAD29.4.8 [complex.transcendentals]Should std::complex use unqualified transcendentals?Yes
2846(i)New29.4.10 [cmplx.over]Undefined phrase "effectively cast"Yes3
4191(i)WP29.4.10 [cmplx.over]P1467 changed the return type ofpow(complex<float>, int)Yes
1137(i)C++1129.4.10 [cmplx.over]Return type ofconj andprojYes
1522(i)C++1129.4.10 [cmplx.over]conj specification is now nonsenseYes
844(i)CD129.4.10 [cmplx.over]complex pow return type is ambiguousYes
507(i)CD129.5 [rand]Missing requirement for variate_generator::operator()Yes
699(i)CD129.5 [rand]N2111 changes min/maxYes
506(i)NAD29.5 [rand]Requirements of Distribution parameter for variate_generatorYes
547(i)NAD29.5 [rand]division should be floating-point, not integerYes
572(i)NAD29.5 [rand]Oops, we gave 507 WP statusYes
1056(i)NAD29.5 [rand]Must all Engines and Distributions be Streamable?Yes
1057(i)NAD Concepts29.5 [rand]RandomNumberEngineAdaptorYes
656(i)NAD Editorial29.5.2 [rand.synopsis]Typo in subtract_with_carry_engine declarationYes
515(i)NAD29.5.2 [rand.synopsis]Random number engine traitsYes
505(i)CD129.5.3 [rand.req]Result_type in random distribution requirementsYes
504(i)NAD Editorial29.5.3 [rand.req]Integer types in pseudo-random number engine requirementsYes
517(i)NAD29.5.3 [rand.req]Should include name in external representationYes
4109(i)New29.5.3.1 [rand.req.genl]Instantiating templates in §[rand] withint8_t/uint8_t is undefined behaviorYes3
2326(i)NAD29.5.3.1 [rand.req.genl]uniform_int_distribution<unsigned char> should be permittedYes2
4289(i)LEWG29.5.3.2 [rand.req.seedseq]Seed sequence is overspecifiedYes3
2181(i)C++1729.5.3.2 [rand.req.seedseq]Exceptions fromseed sequence operationsYes3
2124(i)NAD29.5.3.2 [rand.req.seedseq]Seed sequence over-specifiedYes
3150(i)C++2029.5.3.3 [rand.req.urng]UniformRandomBitGenerator should validatemin andmaxYes3
2154(i)Resolved29.5.3.3 [rand.req.urng]What exactly does compile-time complexity imply?Yes4
2327(i)NAD29.5.3.3 [rand.req.urng]Non-power-of-two URNGs should be forbiddenYes
654(i)CD129.5.3.4 [rand.req.eng]Missing IO roundtrip for random number enginesYes
678(i)CD129.5.3.4 [rand.req.eng]Changes for [rand.req.eng]Yes
729(i)NAD29.5.3.4 [rand.req.eng]Problem in [rand.req.eng]/3Yes
730(i)NAD29.5.3.5 [rand.req.adapt]Comment on [rand.req.adapt]/3 e)Yes
1235(i)NAD29.5.3.6 [rand.req.dist]Issue with C++0x random number proposalYes
733(i)NAD29.5.3.6 [rand.req.dist]Comment on [rand.req.dist]/9Yes
3519(i)C++2329.5.4 [rand.eng]Incomplete synopses for<random> classesYes3
1436(i)C++1129.5.4 [rand.eng]Random number engine constructor concernsYes
512(i)NAD Editorial29.5.4 [rand.eng]Seedingsubtract_with_carry_01 from a single unsigned longYes
513(i)NAD Editorial29.5.4 [rand.eng]Size of state for subtract_with_carry_01Yes
516(i)NAD Editorial29.5.4 [rand.eng]Seeding subtract_with_carry_01 using a generatorYes
2351(i)NAD29.5.4 [rand.eng]Does.seed() completely reset state of engine?Yes2
1437(i)C++1129.5.4.3 [rand.eng.mers]Mersenne twister meaningless for word sizes less than twoYes
728(i)CD129.5.4.3 [rand.eng.mers]Problem in [rand.eng.mers]/6Yes
799(i)NAD29.5.4.3 [rand.eng.mers]Mersenne twister equality overspecifiedYes
3809(i)WP29.5.4.4 [rand.eng.sub]Isstd::subtract_with_carry_engine<uint16_t> supposed to work?Yes3
4014(i)WP29.5.4.4 [rand.eng.sub]LWG 3809 changes behavior of some existingstd::subtract_with_carry_engine codeYes2
514(i)NAD Editorial29.5.4.4 [rand.eng.sub]Size of state for subtract_with_carryYes
4212(i)New29.5.4.5 [rand.eng.philox]Make the round states in [rand.eng.philox] explicitYes3
4224(i)WP29.5.4.5 [rand.eng.philox]Philox engines should be freestandingYes
4134(i)WP29.5.4.5 [rand.eng.philox]Issue with Philox algorithm specificationYes1
4153(i)WP29.5.4.5 [rand.eng.philox]Fix extra "-1" forphilox_engine::max()Yes
3561(i)C++2329.5.5.2 [rand.adapt.disc]Issue with internal counter indiscard_block_engineYes
1438(i)C++1129.5.5.2 [rand.adapt.disc]No definition forbase()Yes
738(i)NAD Editorial29.5.5.2 [rand.adapt.disc]Editorial issue in [rand.adapt.disc]/3Yes
609(i)CD129.5.5.3 [rand.adapt.ibits]missing static constYes
508(i)CD129.5.6 [rand.predef]Bad parameters for ranlux64_base_01Yes
796(i)NAD29.5.6 [rand.predef]ranlux48_base returns wrong valueYes
797(i)NAD29.5.6 [rand.predef]ranlux48 returns wrong valueYes
802(i)NAD29.5.6 [rand.predef]knuth_b returns wrong valueYes
548(i)NAD29.5.7 [rand.device]May random_device block?Yes
1068(i)NAD29.5.7 [rand.device]classrandom_device should be movableYes
3422(i)C++2329.5.8.1 [rand.util.seedseq]Issues ofseed_seq's constructorsYes3
2440(i)C++1729.5.8.1 [rand.util.seedseq]seed_seq::size() should benoexceptYes0
2180(i)C++1429.5.8.1 [rand.util.seedseq]Exceptions fromstd::seed_seq operationsYes
607(i)CD129.5.8.1 [rand.util.seedseq]Concern about short seed vectorsYes
608(i)CD129.5.8.1 [rand.util.seedseq]Unclear seed_seq construction detailsYes
677(i)CD129.5.8.1 [rand.util.seedseq]Weaknesses in seed_seq::randomize [rand.util.seedseq]Yes
712(i)CD129.5.8.1 [rand.util.seedseq]seed_seq::size no longer usefulYes
782(i)CD129.5.8.1 [rand.util.seedseq]Extendedseed_seq constructor is uselessYes
800(i)Resolved29.5.8.1 [rand.util.seedseq]Issues in 26.4.7.1 [rand.util.seedseq](6)Yes
803(i)Resolved29.5.8.1 [rand.util.seedseq]Simplification ofseed_seq::seq_seqYes
2352(i)NAD29.5.8.1 [rand.util.seedseq]Is a default-constructedstd::seed_seq intended to produce a predictable.generate()?Yes2
731(i)NAD29.5.8.1 [rand.util.seedseq]proposal for a customizableseed_seqYes
1069(i)NAD29.5.8.1 [rand.util.seedseq]classseed_seq should support efficient move operationsYes
1313(i)NAD29.5.8.1 [rand.util.seedseq]Seed sequence's param function not useful for pure output iteratorYes
655(i)CD129.5.8.2 [rand.util.canonical]Signature of generate_canonical not usefulYes
739(i)NAD29.5.8.2 [rand.util.canonical]Defect in [rand.util.canonical]/3Yes
549(i)NAD Editorial29.5.9 [rand.dist]Undefined variable in binomial_distributionYes
511(i)NAD29.5.9 [rand.dist]Input_type for binomial_distributionYes
509(i)NAD29.5.9.2 [rand.dist.uni]Uniform_int template parametersYes
773(i)NAD29.5.9.2 [rand.dist.uni]issues with randomYes
2168(i)C++1729.5.9.2.2 [rand.dist.uni.real]Inconsistent specification ofuniform_real_distribution constructorYes3
510(i)NAD29.5.9.3 [rand.dist.bern]Input_type for bernoulli_distributionYes
735(i)NAD29.5.9.3.2 [rand.dist.bern.bin]Unfortunate namingYes
3402(i)New29.5.9.3.4 [rand.dist.bern.negbin]Wording fornegative_binomial_distribution is unclear as a consequence of LWG 2406 resolutionNo3
2406(i)C++1729.5.9.3.4 [rand.dist.bern.negbin]negative_binomial_distribution should rejectp == 1Yes3
2524(i)Resolved29.5.9.4.2 [rand.dist.pois.exp]generate_canonical can occasionally return 1.0Yes2
734(i)CD129.5.9.5.3 [rand.dist.norm.chisq]Unnecessary restriction in [rand.dist.norm.chisq]Yes
793(i)Resolved29.5.9.6.1 [rand.dist.samp.discrete]discrete_distribution missing constructorYes
874(i)Resolved29.5.9.6.1 [rand.dist.samp.discrete]Missinginitializer_list constructor fordiscrete_distributionYes
736(i)NAD29.5.9.6.1 [rand.dist.samp.discrete]Comment on [rand.dist.samp.discrete]Yes
4052(i)New29.5.9.6.2 [rand.dist.samp.pconst]Bogus requirements forpiecewise_linear_distributionYes4
1439(i)C++1129.5.9.6.2 [rand.dist.samp.pconst]Return fromdensities() functions?Yes
792(i)CD129.5.9.6.2 [rand.dist.samp.pconst]piecewise_constant_distribution is undefined for a range with just one endpointYes
794(i)Resolved29.5.9.6.2 [rand.dist.samp.pconst]piecewise_constant_distribution missing constructorYes
875(i)Resolved29.5.9.6.2 [rand.dist.samp.pconst]Missinginitializer_list constructor forpiecewise_constant_distributionYes
737(i)NAD29.5.9.6.2 [rand.dist.samp.pconst]Comment on [rand.dist.samp.pconst]Yes
791(i)NAD29.5.9.6.2 [rand.dist.samp.pconst]piecewise_constant_distribution::densities has wrong nameYes
1440(i)C++1129.5.9.6.3 [rand.dist.samp.plinear]Incorrect specification forpiecewise_linear_distributionYes
2058(i)C++1429.6 [numarray]valarray andbegin/endYes
621(i)CD129.6 [numarray]non-const copy assignment operators of helper arraysYes
93(i)NAD29.6 [numarray]Incomplete Valarray Subset DefinitionsYes
125(i)TC129.6.2 [template.valarray]valarray<T>::operator!() return type is inconsistentYes
107(i)NAD29.6.2 [template.valarray]Valarray constructor is strangeYes
630(i)C++1129.6.2.2 [valarray.cons]arrays ofvalarrayYes
1208(i)C++1129.6.2.2 [valarray.cons]valarray initializer_list constructor has incorrect effectsYes
253(i)CD129.6.2.2 [valarray.cons]valarray helper functions are almost entirely uselessYes
620(i)CD129.6.2.2 [valarray.cons]valid uses of empty valarraysYes
867(i)NAD Editorial29.6.2.2 [valarray.cons]Valarray and value-initializationYes
2071(i)C++1429.6.2.3 [valarray.assign]std::valarray move-assignmentYes
624(i)CD129.6.2.3 [valarray.assign]valarray assignment and arrays of unequal lengthYes
389(i)CD129.6.2.4 [valarray.access]Const overload of valarray::operator[] returns by valueYes77
636(i)NAD Editorial29.6.2.4 [valarray.access]26.5.2.3 valarray::operator[]Yes
717(i)NAD Editorial29.6.2.4 [valarray.access]Incompletevalarray::operator[] specification in [valarray.access]Yes
77(i)Dup29.6.2.4 [valarray.access]Valarray operator[] const returning valueYes389
430(i)C++1129.6.2.5 [valarray.sub]valarray subset operationsYes
188(i)NAD29.6.2.7 [valarray.cassign]valarray helpers missing augmented assignment operatorsYes
1243(i)NAD29.6.2.7 [valarray.cassign]Missingoperator+= (initializer_list<T>) forvalarrayYes
618(i)CD129.6.2.8 [valarray.members]valarray::cshift() effects on empty arrayYes
3074(i)C++2029.6.3 [valarray.nonmembers]Non-member functions forvalarray should only deduce from thevalarrayYes0
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
543(i)CD129.6.4 [class.slice]valarray slice default constructorYes
2423(i)New29.6.5 [template.slice.array]Missing specificationslice_array,gslice_array,mask_array,indirect_array copy constructorYes4
106(i)TC129.6.5 [template.slice.array]Numeric library private members are implementation definedYes
81(i)NAD29.6.5 [template.slice.array]Wrong declaration of slice operationsYes
123(i)CD129.6.5.4 [slice.arr.fill]Should valarray helper arrays fill functions be const?Yes
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
2192(i)C++1729.7 [c.math]Validity and return type ofstd::abs(0u) is unclearYes2
2735(i)C++1729.7 [c.math]std::abs(short),std::abs(signed char) and others should returnint instead ofdouble in order to be compatible with C++98 and CYes3
2086(i)C++1429.7 [c.math]Overly generic type support for math functionsYes
1134(i)C++1129.7 [c.math]Redundant specification of<stdint.h>,<fenv.h>,<tgmath.h>, and maybe<complex.h>Yes
1441(i)C++1129.7 [c.math]Floating-point test functions are incorrectly specifiedYes
295(i)CD129.7 [c.math]Is abs defined in <cmath>?Yes
395(i)CD129.7 [c.math]inconsistencies in the definitions of rand() and random_shuffle()Yes
550(i)CD129.7 [c.math]What should the return type ofpow(float,int) be?Yes
722(i)CD129.7 [c.math]Missing [c.math] functionsnanf andnanlYes
2294(i)Resolved29.7 [c.math]<cstdlib> should declareabs(double)Yes2
1327(i)Resolved29.7 [c.math]templates defined in<cmath> replacing C macros with the same nameYes
637(i)NAD Editorial29.7 [c.math]§[c.math]/10 inconsistent return valuesYes
357(i)NAD Editorial29.7 [c.math]<cmath> float functions cannot return HUGE_VALYes
690(i)NAD Editorial29.7 [c.math]abs(long long) should return long longYes
213(i)NAD29.7 [c.math]Math function overloads ambiguousYes
289(i)NAD29.7 [c.math]<cmath> requirements missing C float and long double versionsYes
323(i)NAD29.7 [c.math]abs() overloads in different headersYes
583(i)NAD29.7 [c.math]div() for unsigned integral typesYes
584(i)NAD29.7 [c.math]missing intpow(int,int) functionalityYes
2079(i)NAD29.7 [c.math]Requiredpow() overloadsYes3
2474(i)NAD29.7 [c.math]<cmath> functions unfriendly tointegral_constant argumentsYes4
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
3790(i)C++2329.7.1 [cmath.syn]P1467 accidentally changednexttoward's signatureYes1
3051(i)C++2029.7.1 [cmath.syn]Floating point classifications were inadvertently changed in P0175Yes0
3223(i)Resolved29.7.1 [cmath.syn]lerp should not add the "sufficient additional overloads"Yes2
3234(i)Resolved29.7.1 [cmath.syn]Sufficient Additional Special Math OverloadsYes3
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
3201(i)C++2029.7.4 [c.math.lerp]lerp should be marked asnoexceptYes2
3066(i)New29.7.6 [sf.cmath]"report a domain error" in [sf.cmath]/1 is underspecifiedNo3
4136(i)Voting29.9.3 [linalg.general]Specify behavior of [linalg] Hermitian algorithms on diagonal with nonzero imaginary partYes
4185(i)New29.9.7 [linalg.helpers]Ill-formed, no diagnostic required on runtime behaviorNo3
4302(i)Immediate29.9.13.8 [linalg.algs.blas1.ssq]Problematicvector_sum_of_squares wordingYes1
4315(i)Voting29.9.13.9 [linalg.algs.blas1.nrm2]Insufficient specification ofvector_two_norm andmatrix_frob_normYes
4137(i)Voting29.9.14 [linalg.algs.blas2]FixMandates,Preconditions, andComplexity elements of [linalg] algorithmsYes
4420(i)Immediate29.10 [simd]§[simd] conversions (constructor, load, stores, gather, and scatter) areincorrectly constrained for<stdfloat> typesYes1
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
4412(i)Voting29.10.3 [simd.syn]Fix declaration ofzero_element anduninit_elementYes
4231(i)WP29.10.3 [simd.syn]datapar::chunk<N> should usesimd-size-type instead ofsize_tYes
4413(i)Voting29.10.4 [simd.traits]Unused/left-oversimd::alignment specialization forbasic_maskYes
4232(i)WP29.10.4 [simd.traits]datapar::resize does not resizeYes
4403(i)Voting29.10.7.2 [simd.ctor]simd::basic_vec CTAD misses difference type castingYes
4407(i)Voting29.10.7.2 [simd.ctor]constexpr-wrapper-like needsremove_cvref_t insimd::basic_vecconstructorYes
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
4230(i)Immediate29.10.8.4 [simd.complex.access]simd<complex>::real/imag is overconstrainedYes2
4280(i)Voting29.10.8.7 [simd.loadstore]simd::partial_load uses undefined identifierTYes
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
4375(i)Voting29.10.8.15 [simd.bit]std::simd::bit_ceil should not benoexceptYes
4402(i)New29.10.9.1 [simd.mask.overview]List-initialization of iterators in [simd.mask.overview]Yes3
4382(i)Voting29.10.9.2 [simd.mask.ctor]Thesimd::basic_mask(bool) overload needs to be more constrainedYes
4376(i)Immediate29.10.9.4 [simd.mask.unary]ABI tag in return type of [simd.mask.unary] is overconstrainedYes1
4238(i)New29.10.9.4 [simd.mask.unary]simd_mask<complex<double>>::operator+/-/~ return a disabledsimd specializationYes1

Section 30 (96 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
786(i)Resolved30 [time]Thread library timed waits, UTC and monotonic clocksYes
1032(i)NAD Concepts30 [time]Tome utility templates need to be concept-constrainedYes
2592(i)New30.2 [time.syn]Require thatchrono::duration_casts from smaller durations to larger durations do not overflowYes4
2278(i)C++1430.2 [time.syn]User-defined literals for Standard Library typesYes
954(i)C++1130.3 [time.clock.req]Various threading bugs #4Yes
956(i)C++1130.3 [time.clock.req]Various threading bugs #6Yes
953(i)Resolved30.3 [time.clock.req]Various threading bugs #3Yes
955(i)NAD30.3 [time.clock.req]Various threading bugs #5Yes
951(i)C++1130.4.1 [time.traits.is.fp]Various threading bugs #1Yes
3123(i)C++2330.5 [time.duration]duration constructor from representation shouldn't be effectively non-throwingYes3
934(i)C++1130.5 [time.duration]duration is missingoperator%Yes
1171(i)C++1130.5 [time.duration]duration types should be literalYes
1177(i)C++1130.5 [time.duration]Improve "diagnostic required" wordingYes
2912(i)Resolved30.5 [time.duration]Add a deduction guide for class templatedurationYes
3090(i)Voting30.5.2 [time.duration.cons]What is §[time.duration.cons]p4's "no overflow is induced in the conversion" intended to mean?Yes3
3050(i)C++2030.5.2 [time.duration.cons]Conversion specification problem inchrono::duration constructorYes3
2094(i)C++1430.5.2 [time.duration.cons]duration conversion overflow shouldn't participate in overload resolutionYes
974(i)C++1130.5.2 [time.duration.cons]duration<double> should not implicitly convert toduration<int>Yes
3104(i)C++2030.5.6 [time.duration.nonmember]Fixingduration divisionYes0
1271(i)C++1130.5.6 [time.duration.nonmember]CR undefined in duration operatorsYes
2004(i)C++1130.5.6 [time.duration.nonmember]duration::operator* has template parameters in funny orderYes
2020(i)C++1130.5.6 [time.duration.nonmember]Time utility arithmeticconstexpr functions have invalid effectsYes
882(i)CD130.5.6 [time.duration.nonmember]duration non-member arithmetic requirementsYes
947(i)Resolved30.5.6 [time.duration.nonmember]duration arithmetic: contradictory requirementsYes
3503(i)New30.5.8 [time.duration.cast]chrono::ceil has surprising requirementYes3
952(i)NAD Editorial30.5.8 [time.duration.cast]Various threading bugs #2Yes
946(i)NAD30.5.8 [time.duration.cast]duration_cast improperly specifiedYes
2383(i)Open30.5.9 [time.duration.literals]Overflow cannot be ill-formed for chrono::duration integer literalsNo3
3741(i)NAD30.5.10 [time.duration.alg]std::chrono::abs(duration) is ill-formed with non-reduced periodsYes
3536(i)C++2330.5.11 [time.duration.io]Shouldchrono::from_stream() assign zero toduration for failure?Yes
3094(i)C++2030.5.11 [time.duration.io]§[time.duration.io]p4 makes surprising claims about encodingYes0
3314(i)C++2030.5.11 [time.duration.io]Is stream insertion behavior locale dependent whenPeriod::type ismicro?Yes2
3317(i)C++2030.5.11 [time.duration.io]Incorrectoperator<< for floating-point durationsYes0
3125(i)Resolved30.5.11 [time.duration.io]duration streaming precondition should be a SFINAE conditionYes2
2054(i)Resolved30.6 [time.point]time_point constructors need to beconstexprYes
2739(i)C++1730.6.6 [time.point.nonmember]Issue withtime_point non-member subtraction with an unsigned durationYes0
2057(i)Resolved30.6.6 [time.point.nonmember]time_point + duration semantics should be madeconstexpr conformingYes
935(i)NAD30.7 [time.clock]clock error handling needs to be specifiedYes
957(i)C++1130.7.2 [time.clock.system]Various threading bugs #7Yes
945(i)NAD Editorial30.7.2 [time.clock.system]system_clock::rep not specifiedYes
3318(i)C++2030.7.2.1 [time.clock.system.overview]Clarify whether clocks can represent time before their epochYes0
4288(i)New30.7.2.2 [time.clock.system.members]TheConstraints: element in [time.clock.system.members] is probably wrongYes3
3316(i)C++2030.7.3.1 [time.clock.utc.overview]Correctly define epoch forutc_clock /utc_timepointYes0
3145(i)C++2030.7.6 [time.clock.file]file_clock breaks ABI for C++17 implementationsYes1
1413(i)NAD30.7.8 [time.clock.hires]Specify whetherhigh_resolution_clock is a distinct type or a typedefYes
4257(i)Voting30.7.9 [time.clock.local]Stream insertion forchrono::local_time should be constrainedYes
3260(i)C++2030.8 [time.cal]year_month* arithmetic rejects durations convertible to yearsYes2
3209(i)C++2030.8.5.2 [time.cal.year.members]Expression inyear::ok() returns clause is ill-formedYes0
3273(i)C++2030.8.7.2 [time.cal.wdidx.members]Specifyweekday_indexed to range of[0, 7]Yes0
3221(i)C++2030.8.13.3 [time.cal.ym.nonmembers]Result ofyear_month arithmetic withmonths is ambiguousYes0
3206(i)C++2030.8.14.2 [time.cal.ymd.members]year_month_day conversion tosys_days uses not-existing member functionYes0
3231(i)C++2030.8.15.2 [time.cal.ymdlast.members]year_month_day_last::day specification does not cover!ok() valuesYes0
3091(i)Resolved30.9 [time.hms]subsecond-precisiontime_of_day and durations thatseconds cannot convert toYes2
4274(i)Voting30.9.2 [time.hms.members]Thechrono::hh_mm_ss constructor is ill-formed for unsigned durationsYes
3319(i)C++2030.11.1 [time.zone.general]Properly reference specification of IANA time zone databaseYes0
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
3232(i)C++2030.11.7.1 [time.zone.zonedtime.overview]Inconsistency inzoned_time deduction guidesYes0
3294(i)C++2030.11.7.1 [time.zone.zonedtime.overview]zoned_time deduction guides misinterpretsstring/char*Yes0
4067(i)New30.11.7.2 [time.zone.zonedtime.ctor]Inconsistency and potential infinity meta-recursion instd::chrono::zoned_time's constructorsYes3
3224(i)C++2030.11.7.2 [time.zone.zonedtime.ctor]zoned_time constructor fromTimeZonePtr does not specify initialization oftp_Yes0
3225(i)C++2030.11.7.2 [time.zone.zonedtime.ctor]zoned_time converting constructor shall not benoexceptYes0
3226(i)C++2030.11.7.2 [time.zone.zonedtime.ctor]zoned_time constructor fromstring_view should acceptzoned_time<Duration2, TimeZonePtr2>Yes2
4139(i)New30.11.8 [time.zone.leap]§[time.zone.leap] recursive constraint in<=>No3
3359(i)C++2030.11.8 [time.zone.leap]<chrono> leap second support should allow for negative leap secondsYes3
3383(i)C++2030.11.8.3 [time.zone.leap.nonmembers]§[time.zone.leap.nonmembers]sys_seconds should be replaced withsecondsYes1
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
4124(i)WP30.12 [time.format]Cannot formatzoned_time with resolution coarser than secondsYes
3842(i)C++2330.12 [time.format]Unclear wording forprecision inchrono-format-specYes
3241(i)C++2030.12 [time.format]chrono-spec grammar ambiguity in §[time.format]Yes0
3262(i)C++2030.12 [time.format]Formatting of negative durations is not specifiedYes2
3270(i)C++2030.12 [time.format]Parsing and formatting%j withdurationsYes2
3272(i)C++2030.12 [time.format]%I%p should parse/formatduration since midnightYes0
3332(i)C++2030.12 [time.format]Issue in §[time.format]Yes0
3565(i)Resolved30.12 [time.format]Handling of encodings in localized formatting ofchrono types is underspecifiedYes2
3547(i)Resolved30.12 [time.format]Time formatters should not be locale sensitive by defaultYes2
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
3956(i)WP30.13 [time.parse]chrono::parse usesfrom_stream as a customization pointYes3
3554(i)C++2330.13 [time.parse]chrono::parse needsconst charT* andbasic_string_view<charT> overloadsYes2
3131(i)C++2030.13 [time.parse]addressof all the thingsYes0
3218(i)C++2030.13 [time.parse]Modifier for%d parse flag does not match POSIX andformat specificationYes0
3230(i)C++2030.13 [time.parse]Format specifier%y/%Y is missing locale alternative versionsYes0
3235(i)C++2030.13 [time.parse]parse manipulator without abbreviation is not callableYes0
3245(i)C++2030.13 [time.parse]Unnecessary restriction on'%p' parse specifierYes0
3252(i)C++2030.13 [time.parse]Parse locale's aware modifiers for commands are not consistentwith POSIX specYes2
3269(i)C++2030.13 [time.parse]Parse manipulators do not specify the result of the extraction from streamYes2
3271(i)NAD30.13 [time.parse]Parsing functions should save and restore stream format stateYes3

Section 31 (322 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
423(i)Open31 [input.output]Effects of negativestreamsize in iostreamsYes3
3130(i)C++2031 [input.output]§[input.output] needs manyaddressofYes0
44(i)CD131 [input.output]Iostreams use operator== on int_type valuesYes
273(i)CD131 [input.output]Missing ios_base qualification on members of a dependent classYes
308(i)CD131 [input.output]Table 82 mentions unrelated headersYes
365(i)CD131 [input.output]Lack of const-qualification in clause 27Yes
55(i)TC131 [input.output]Invalid stream position is undefinedYes
366(i)NAD31 [input.output]Excessive const-qualificationYes
1141(i)NAD Concepts31 [input.output]Input/Output library not concept enabledYes
623(i)CD131.2.1 [iostream.limits.imbue]pubimbue forbidden to callimbueYes
3696(i)New31.2.2 [stream.types]"Basic integral types" should not be usedYes3
369(i)CD131.4 [iostream.objects]io stream objects and static ctorsYes
455(i)CD131.4 [iostream.objects]cerr::tie() and wcerr::tie() are overspecifiedYes
574(i)CD131.4 [iostream.objects]DR 369 Contradicts TextYes
155(i)TC131.4 [iostream.objects]Typo in naming the class defining the classInitYes
3910(i)New31.4.2 [iostream.objects.overview]The effects of including<iostream> on initialization are not yet precisely specifiedYes4
3878(i)C++2331.4.2 [iostream.objects.overview]import std; should guarantee initialization of standard iostreams objectsYes
29(i)TC131.4.3 [narrow.stream.objects]Ios_base::init doesn't existYes
178(i)NAD31.4.3 [narrow.stream.objects]Should clog and cerr initially be tied to cout?Yes
2087(i)C++1431.5 [iostreams.base]iostream_category() andnoexceptYes
1257(i)C++1131.5 [iostreams.base]Header <ios> still contains aconcept_mapYes
35(i)TC131.5 [iostreams.base]No manipulator unitbuf in synopsisYes
2462(i)C++1731.5.2 [ios.base]std::ios_base::failure is overspecifiedYes3
2143(i)C++1431.5.2 [ios.base]ios_base::xalloc should be thread-safeYes
41(i)TC131.5.2 [ios.base]Ios_base needs clear(), exceptions()Yes157
50(i)TC131.5.2 [ios.base]Copy constructor and assignment operator of ios_baseYes
78(i)TC131.5.2 [ios.base]Typo: event_call_backYes
331(i)CD131.5.2.2.1 [ios.failure]bad declaration of destructor for ios_base::failureYes
363(i)CD131.5.2.2.1 [ios.failure]Missing exception specification in 27.4.2.1.1Yes
48(i)TC131.5.2.2.1 [ios.failure]Use of non-existent exception constructorYes
2765(i)C++1731.5.2.2.6 [ios.init]Did LWG 1123 go too far?Yes0
1123(i)C++1131.5.2.2.6 [ios.init]No requirement that standard streams be flushedYes
418(i)NAD31.5.2.2.6 [ios.init]exceptions thrown during iostream cleanupYes
189(i)TC131.5.2.3 [fmtflags.state]setprecision() not specified correctlyYes
287(i)NAD31.5.2.3 [fmtflags.state]conflicting ios_base fmtflagsYes
47(i)TC131.5.2.4 [ios.base.locales]Imbue() and getloc() Returns clauses swappedYes
156(i)TC131.5.2.4 [ios.base.locales]Typo inimbue() descriptionYes
49(i)CD131.5.2.5 [ios.members.static]Underspecification of ios_base::sync_with_stdioYes
3675(i)New31.5.2.6 [ios.base.storage]std::ios_base::iword/pword might be misspecifiedYes4
3083(i)C++2031.5.2.6 [ios.base.storage]What shouldios::iword(-1) do?Yes0
36(i)TC131.5.2.6 [ios.base.storage]Iword & pword storage lifetime omittedYes
2600(i)NAD31.5.2.6 [ios.base.storage]ios_base must store inaccessible iostate flagsYes
157(i)Dup31.5.2.6 [ios.base.storage]Meaningless error handling forpword() andiword()Yes41
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
3434(i)C++2331.5.2.8 [ios.base.cons]ios_base never reclaims memory foriarray andparrayYes
220(i)TC131.5.2.8 [ios.base.cons]~ios_base() usage valid?Yes
441(i)CD131.5.3 [fpos]Is fpos::state const?Yes
6(i)NAD31.5.3 [fpos]File position not an offset unimplementableYes
332(i)NAD31.5.3 [fpos]Consider adding increment and decrement operators to std::fpos< T >Yes
573(i)NAD31.5.3 [fpos]C++0x file positioning should handle modern file sizesYes
3118(i)C++2331.5.3.3 [fpos.operations]fpos equality comparison unspecifiedYes4
52(i)TC131.5.3.3 [fpos.operations]Small I/O problemsYes
2808(i)Resolved31.5.3.3 [fpos.operations]Requirements forfpos andstateTYes4
2832(i)Resolved31.5.3.3 [fpos.operations]§[fpos.operations] strange requirement forP(i)Yes3
1444(i)Dup31.5.3.3 [fpos.operations]OFF_T is not definedYes1414
194(i)NAD31.5.4 [ios]rdbuf() functions poorly specifiedYes
2214(i)Open31.5.4.2 [basic.ios.cons]Clarifybasic_ios::init call restrictionsYes4
1249(i)C++1131.5.4.2 [basic.ios.cons]basic_ios default ctorYes
53(i)TC131.5.4.2 [basic.ios.cons]Basic_ios destructor unspecifiedYes
145(i)NAD31.5.4.2 [basic.ios.cons]adjustfield lacks default valueYes
835(i)C++1131.5.4.3 [basic.ios.members]Tying two streams together (correction to DR 581)Yes
1104(i)C++1131.5.4.3 [basic.ios.members]basic_ios::move should accept lvaluesYes
1183(i)C++1131.5.4.3 [basic.ios.members]basic_ios::set_rdbuf may break class invariantsYes
256(i)CD131.5.4.3 [basic.ios.members]typo in 27.4.4.2, p17: copy_event does not existYes
292(i)CD131.5.4.3 [basic.ios.members]effects of a.copyfmt (a)Yes
837(i)NAD Editorial31.5.4.3 [basic.ios.members]basic_ios::copyfmt() overly loosely specifiedYes
1094(i)C++1131.5.4.4 [iostate.flags]Replace "unspecified-bool-type" by "explicit operator bool() const" in I/O libraryYes
272(i)CD131.5.4.4 [iostate.flags]Missing parentheses around subexpressionYes569
412(i)CD131.5.4.4 [iostate.flags]Typo in 27.4.4.3Yes429
468(i)CD131.5.4.4 [iostate.flags]unexpected consequences of ios_base::operator void*()Yes
429(i)Dup31.5.4.4 [iostate.flags]typo in basic_ios::clear(iostate)Yes412
569(i)Dup31.5.4.4 [iostate.flags]Postcondition for basic_ios::clear(iostate) incorrectly statedYes272
2504(i)New31.6.3 [streambuf]basic_streambuf is not an abstract classNo3
56(i)TC131.6.3 [streambuf]Showmanyc's return typeYes
122(i)TC131.6.3 [streambuf]streambuf/wstreambuf description should not say they are specializationsYes
255(i)NAD31.6.3 [streambuf]Why dobasic_streambuf<>::pbump() andgbump() take an int?Yes
54(i)TC131.6.3.2 [streambuf.cons]Basic_streambuf's destructorYes
421(i)NAD31.6.3.2 [streambuf.cons]isbasic_streambuf copy-constructible?Yes
3658(i)New31.6.3.3.5 [streambuf.pub.put]basic_streambuf::sputn is both overspecified and underspecifiedYes3
4023(i)WP31.6.3.4 [streambuf.protected]Preconditions ofstd::basic_streambuf::setg/setpYes
59(i)TC131.6.3.4.2 [streambuf.get.area]Ambiguity in specification of gbumpYes
364(i)CD131.6.3.5.2 [streambuf.virt.buffer]Inconsistent wording in 27.5.2.4.2Yes
158(i)TC131.6.3.5.2 [streambuf.virt.buffer]Underspecified semantics forsetbuf()Yes
159(i)TC131.6.3.5.3 [streambuf.virt.get]Strange use ofunderflow()Yes
32(i)TC131.6.3.5.4 [streambuf.virt.pback]Pbackfail description inconsistentYes
565(i)C++1131.6.3.5.5 [streambuf.virt.put]xsputn inefficientYes
567(i)CD131.7 [iostream.format]streambuf inserter and extractor should be unformattedYes
1445(i)Resolved31.7 [iostream.format]Several iostreams member functions incorrectly specifiedYes
1447(i)Resolved31.7 [iostream.format]Request to resolve issue LWG 1328Yes
309(i)NAD31.7 [iostream.format]Does sentry catch exceptions?Yes
1148(i)NAD31.7 [iostream.format]Wrong argument type of I/O stream manipulatorssetprecision()andsetw()Yes
1446(i)NAD31.7 [iostream.format]Move and swap for I/O streamsYes
911(i)C++1131.7.5 [input.streams]I/O streams andmove/swap semanticYes
160(i)TC131.7.5.2 [istream]Typo: Use of non-existing functionexception()Yes
113(i)NAD31.7.5.2 [istream]Missing/extra iostream sync semanticsYes
2036(i)NAD31.7.5.2 [istream]istream >> char andeofbitYes
419(i)C++1131.7.5.2.4 [istream.sentry]istream extractors not settingfailbit ifeofbit is already setYes
26(i)TC131.7.5.2.4 [istream.sentry]Bad sentry exampleYes
195(i)TC131.7.5.2.4 [istream.sentry]Shouldbasic_istream::sentry's constructor ever set eofbit?Yes
1328(i)Resolved31.7.5.2.4 [istream.sentry]istream extractors not settingfailbit ifeofbit is already setYes
203(i)NAD31.7.5.2.4 [istream.sentry]basic_istream::sentry::sentry() is uninstantiable with ctype<user-defined type>Yes
373(i)CD131.7.5.3.1 [istream.formatted.reqmts]Are basic_istream and basic_ostream to use (exceptions()&badbit) != 0 ?Yes
60(i)TC131.7.5.3.1 [istream.formatted.reqmts]What is a formatted input function?Yes162,163,166
2349(i)Resolved31.7.5.3.1 [istream.formatted.reqmts]Clarify input/output function rethrow behaviorYes3
696(i)C++1131.7.5.3.2 [istream.formatted.arithmetic]istream::operator>>(int&) brokenYes
118(i)CD131.7.5.3.2 [istream.formatted.arithmetic]basic_istream uses nonexistentnum_get member functionsYes
661(i)CD131.7.5.3.2 [istream.formatted.arithmetic]New 27.6.1.2.2 changes make special extractions uselessYes
161(i)TC131.7.5.3.2 [istream.formatted.arithmetic]Typo:istream_iterator vs.istreambuf_iteratorYes
413(i)CD131.7.5.3.3 [istream.extractors]Proposed resolution to LDR#64 still wrongYes
13(i)TC131.7.5.3.3 [istream.extractors]Eos refuses to dieYes
64(i)TC131.7.5.3.3 [istream.extractors]Exception handling inbasic_istream::operator>>(basic_streambuf*)Yes
68(i)TC131.7.5.3.3 [istream.extractors]Extractors for char* should store null at endYes
2499(i)Resolved31.7.5.3.3 [istream.extractors]operator>>(basic_istream&, CharT*) makes it hard to avoid buffer overflowsYes2
58(i)NAD31.7.5.3.3 [istream.extractors]Extracting a char from a wide-oriented streamYes
639(i)NAD31.7.5.3.3 [istream.extractors]Still problems with exceptions during streambuf IOYes
162(i)Dup31.7.5.3.3 [istream.extractors]Really "formatted input functions"?Yes60
3464(i)C++2331.7.5.4 [istream.unformatted]istream::gcount() can overflowYes0
2243(i)C++2031.7.5.4 [istream.unformatted]istream::putback problemYes3
2244(i)C++1731.7.5.4 [istream.unformatted]Issue onbasic_istream::seekgYes3
2085(i)C++1431.7.5.4 [istream.unformatted]Wrong description of effect 1 ofbasic_istream::ignoreYes
136(i)CD131.7.5.4 [istream.unformatted]seekp, seekg setting wrong streams?Yes
243(i)CD131.7.5.4 [istream.unformatted]get andgetline when sentry reports failureYes
370(i)CD131.7.5.4 [istream.unformatted]Minor error in basic_istream::getYes
531(i)CD131.7.5.4 [istream.unformatted]array forms of unformatted input functionsYes
537(i)CD131.7.5.4 [istream.unformatted]Typos in the signatures in 27.6.1.3/42-43 and 27.6.2.4Yes
566(i)CD131.7.5.4 [istream.unformatted]array forms of unformatted input function undefined for zero-element arraysYes
61(i)TC131.7.5.4 [istream.unformatted]Ambiguity in iostreams exception policyYes
62(i)TC131.7.5.4 [istream.unformatted]Sync's return valueYes
129(i)TC131.7.5.4 [istream.unformatted]Need error indication from seekp() and seekg()Yes
172(i)TC131.7.5.4 [istream.unformatted]Inconsistent types forbasic_istream::ignore()Yes
342(i)NAD31.7.5.4 [istream.unformatted]seek and eofbitYes
399(i)NAD31.7.5.4 [istream.unformatted]volations of unformatted input function requirementsYes
2131(i)NAD31.7.5.4 [istream.unformatted]Member function getline taking a string as parameterYes
163(i)Dup31.7.5.4 [istream.unformatted]Return ofgcount() after a call togcountYes60
415(i)CD131.7.5.5 [istream.manip]behavior of std::wsYes
2328(i)C++1731.7.5.6 [istream.rvalue]Rvalue stream extraction should use perfect forwardingYes3
2498(i)Resolved31.7.5.6 [istream.rvalue]operator>>(basic_istream&&, T&&) returnsbasic_istream&, but should probably returnbasic_istream&&Yes3
271(i)CD131.7.5.7 [iostreamclass]basic_iostream missing typedefsYes
135(i)NAD31.7.5.7.2 [iostream.cons]basic_iostream doubly initializedYes
2221(i)C++1731.7.6 [output.streams]No formatted output operator fornullptrYes3
2342(i)New31.7.6.2 [ostream]User conversion towchar_t const* or towchar_t not invoked foroperator<<Yes4
165(i)CD131.7.6.2 [ostream]xsputn(),pubsync() never called bybasic_ostream members?Yes
311(i)CD131.7.6.2 [ostream]Incorrect wording in basic_ostream class synopsisYes
2497(i)New31.7.6.2.4 [ostream.sentry]Use ofuncaught_exception()Yes3
4188(i)WP31.7.6.2.4 [ostream.sentry]ostream::sentry destructor should handle exceptionsYes
442(i)CD131.7.6.2.4 [ostream.sentry]sentry::operator bool() inconsistent signatureYes
397(i)NAD Editorial31.7.6.2.4 [ostream.sentry]ostream::sentry dtor throws exceptionsYes
398(i)NAD31.7.6.2.4 [ostream.sentry]effects of end-of-file on unformatted input functionsYes
2341(i)C++1431.7.6.2.5 [ostream.seeks]Inconsistency betweenbasic_ostream::seekp(pos) andbasic_ostream::seekp(off, dir)Yes0
3667(i)NAD31.7.6.3 [ostream.formatted]std::cout << &X::f prints1Yes
394(i)NAD31.7.6.3.1 [ostream.formatted.reqmts]behavior of formatted output on failureYes
4101(i)New31.7.6.3.2 [ostream.inserters.arithmetic]LWG 117 loses the sign for negative NaN on some architecturesYes3
117(i)CD131.7.6.3.2 [ostream.inserters.arithmetic]basic_ostream uses nonexistentnum_put member functionsYes
640(i)CD131.7.6.3.2 [ostream.inserters.arithmetic]27.6.2.5.2 does not handle(unsigned) long longYes
437(i)NAD31.7.6.3.2 [ostream.inserters.arithmetic]Formatted output of function pointers is confusingYes
166(i)Dup31.7.6.3.3 [ostream.inserters]Really "formatted output functions"?Yes60
167(i)CD131.7.6.3.4 [ostream.inserters.character]Improper use oftraits_type::length()Yes
474(i)CD131.7.6.3.4 [ostream.inserters.character]confusing Footnote 297Yes
4039(i)New31.7.6.3.5 [ostream.formatted.print]§[ostream.formatted.print]: Inappropriate usage ofbadbit in definition ofvprint_unicode/vprint_nonunicodeYes4
4088(i)WP31.7.6.3.5 [ostream.formatted.print]println ignores the locale imbued instd::ostreamYes
581(i)CD131.7.6.4 [ostream.unformatted]flush() not unformatted functionYes
63(i)TC131.7.6.4 [ostream.unformatted]Exception-handling policy for unformatted outputYes
168(i)TC131.7.6.4 [ostream.unformatted]Typo: formatted vs. unformattedYes
3501(i)New31.7.6.5 [ostream.manip]basic_syncbuf-related manipulators refer to someAllocator without defining itYes3
3571(i)C++2331.7.6.5 [ostream.manip]flush_emit should setbadbit if theemit call failsYes
333(i)CD131.7.6.5 [ostream.manip]does endl imply synchronization with the device?Yes
1203(i)C++2031.7.6.6 [ostream.rvalue]More useful rvalue stream insertionYes2
2534(i)C++1731.7.6.6 [ostream.rvalue]Constrain rvalue stream operatorsYes3
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
183(i)CD131.7.7 [std.manip]I/O stream manipulators don't work for wide character streamsYes
216(i)Dup31.7.7 [std.manip]setbase manipulator description flawedYes193
2984(i)New31.7.8 [ext.manip]put_money(99) is unnecessarily undefinedYes3
810(i)C++1131.7.8 [ext.manip]Missing traits dependencies in operational semantics of extended manipulatorsYes
1299(i)C++1131.7.8 [ext.manip]Confusing typo in specification forget_timeYes
692(i)CD131.7.8 [ext.manip]get_money andput_money should be formatted I/O functionsYes
641(i)NAD Editorial31.7.8 [ext.manip]Editorial fix for 27.6.4 (N2134)Yes
2785(i)C++1731.7.9 [quoted.manip]quoted should work withbasic_string_viewYes0
2272(i)C++1431.7.9 [quoted.manip]quoted should usechar_traits::eq for character comparisonYes
2344(i)C++1431.7.9 [quoted.manip]quoted()'s interaction with padding is unclearYes1
4044(i)WP31.7.10 [print.fun]Confusing requirements forstd::print on POSIX platformsYes3
4042(i)Resolved31.7.10 [print.fun]std::print should permit an efficient implementationYes3
3309(i)New31.8 [string.streams]Is<ios> implicitly#included by<sstream>,<fstream> etc.?No3
252(i)CD131.8 [string.streams]missing casts/C-style casts used in iostreamsYes
562(i)CD131.8 [string.streams]stringbuf ctor inefficientYes
128(i)NAD31.8 [string.streams]Need open_mode() function for file stream, string streams, file buffers, and string  buffersYes
251(i)CD131.8.2 [stringbuf]basic_stringbuf missing allocator_typeYes
2995(i)C++2031.8.2.2 [stringbuf.cons]basic_stringbuf default constructor forbids it from using SSO capacityYes3
238(i)CD131.8.2.2 [stringbuf.cons]Contradictory results of stringbuf initialization.Yes
3006(i)Resolved31.8.2.2 [stringbuf.cons]Constructing abasic_stringbuf from astring — where does the allocator come from?Yes3
1251(i)NAD31.8.2.2 [stringbuf.cons]move constructingbasic_stringbufYes
3992(i)Tentatively NAD31.8.2.4 [stringbuf.members]basic_stringbuf::str()&& should enforce 𝒪(1)Yes4
1448(i)C++1131.8.2.4 [stringbuf.members]Concerns aboutbasic_stringbuf::str(basic_string) postconditionsYes
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
564(i)C++1131.8.2.5 [stringbuf.virtuals]stringbuf seekpos underspecifiedYes
375(i)CD131.8.2.5 [stringbuf.virtuals]basic_ios should be ios_base in 27.7.1.3Yes
376(i)CD131.8.2.5 [stringbuf.virtuals]basic_streambuf semanticsYes
432(i)CD131.8.2.5 [stringbuf.virtuals]stringbuf::overflow() makes only one write position availableYes
453(i)CD131.8.2.5 [stringbuf.virtuals]basic_stringbuf::seekoff need not always fail for an empty streamYes
563(i)CD131.8.2.5 [stringbuf.virtuals]stringbuf seeking from endYes
169(i)TC131.8.2.5 [stringbuf.virtuals]Bad efficiency ofoverflow() mandatedYes
1449(i)C++1131.8.3 [istringstream]Incomplete specification of header<cinttypes>Yes
2429(i)NAD31.8.4 [ostringstream]std::basic_ostringstream is missing an allocator-extended constructorYes
45(i)NAD31.8.4 [ostringstream]Stringstreams read/write pointers initial position unclearYes
170(i)TC131.8.5 [stringstream]Inconsistent definition oftraits_typeYes
2121(i)NAD31.8.5.2 [stringstream.cons]app for string streamsYes3
2676(i)C++1731.10 [file.streams]Providefilesystem::path overloads forFile-based streamsYes2
420(i)CD131.10 [file.streams]is std::FILE a complete type?Yes
444(i)CD131.10 [file.streams]Bad use of casts in fstreamYes
460(i)CD131.10 [file.streams]Default modes missing from basic_fstream member specificationsYes
73(i)NAD31.10 [file.streams]is_open should be constYes
863(i)NAD31.10 [file.streams]What is the state of a stream after close() succeedsYes
105(i)Dup31.10 [file.streams]fstream ctors argument types desiredYes454
3430(i)C++2331.10.1 [fstream.syn]std::fstream & co. should be constructible fromstring_viewYes3
643(i)CD131.10.3 [filebuf]Impossible "as if" clausesYes
2943(i)C++2031.10.3.4 [filebuf.members]Problematic specification of the wide version ofbasic_filebuf::openYes2
443(i)CD131.10.3.4 [filebuf.members]filebuf::close() inconsistent use of EOFYes
596(i)CD131.10.3.4 [filebuf.members]27.8.1.3 Table 112 omits "a+" and "a+b" modesYes
454(i)NAD31.10.3.4 [filebuf.members]basic_filebuf::open should acceptwchar_t namesYes105
2473(i)C++1731.10.3.5 [filebuf.virtuals]basic_filebuf's relation to CFILE semanticsYes2
171(i)CD131.10.3.5 [filebuf.virtuals]Strangeseekpos() semantics due to joint positionYes
173(i)TC131.10.3.5 [filebuf.virtuals]Inconsistent types forbasic_filebuf::setbuf()Yes
900(i)C++1131.10.4 [ifstream]Stream move-assignmentYes
285(i)CD131.10.4.2 [ifstream.cons]minor editorial errors in fstream ctorsYes
409(i)CD131.10.4.4 [ifstream.members]Closing an fstream should clear error stateYes
22(i)TC131.10.4.4 [ifstream.members]Member open vs. flagsYes
592(i)NAD Editorial31.10.4.4 [ifstream.members]Incorrect treatment of rdbuf()->close() return typeYes
642(i)NAD Editorial31.10.4.4 [ifstream.members]Invalidated fstream footnotes in N2134Yes
1150(i)Resolved31.10.6 [fstream]wchar_t, char16_t and char32_t filenamesYes
622(i)CD131.10.6.4 [fstream.members]behavior offilebuf dtor andclose on errorYes
3498(i)C++2331.11.2.1 [syncstream.syncbuf.overview]Inconsistentnoexcept-specifiers forbasic_syncbufYes3
3253(i)C++2031.11.2.1 [syncstream.syncbuf.overview]basic_syncbuf::basic_syncbuf() should not be explicitYes0
3399(i)NAD31.11.2.1 [syncstream.syncbuf.overview]basic_syncbuf::emit() + Qt's#define emit = Big Bada-BoomYes
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
3616(i)C++2331.11.2.6 [syncstream.syncbuf.special]LWG 3498 seems to miss the non-memberswap forbasic_syncbufYes
3334(i)C++2031.11.3 [syncstream.osyncstream]basic_osyncstream move assignment and destruction callsbasic_syncbuf::emit() twiceYes3
3867(i)C++2331.11.3.1 [syncstream.osyncstream.overview]Shouldstd::basic_osyncstream's move assignment operator benoexcept?Yes
3127(i)C++2031.11.3.1 [syncstream.osyncstream.overview]basic_osyncstream::rdbuf needs aconst_castYes0
3570(i)C++2331.11.3.3 [syncstream.osyncstream.members]basic_osyncstream::emit should be an unformatted output functionYes
2680(i)C++1731.12 [filesystems]Add "Equivalent to" to filesystemYes2
2666(i)NAD Editorial31.12 [filesystems]Bitmask operations should use bitmask termsYes3
3657(i)C++2331.12.6 [fs.class.path]std::hash<std::filesystem::path> is not enabledYes
2707(i)C++1731.12.6 [fs.class.path]path construction and assignment should have "string_type&&" overloadsYes0
2798(i)Resolved31.12.6 [fs.class.path]Definition of path in terms of a stringYes2
2668(i)NAD31.12.6 [fs.class.path]path::operator+= is defined, but notoperator+Yes3
3244(i)C++2031.12.6.4 [fs.path.req]Constraints forSource in §[fs.path.req] insufficiently constraintyYes0
2711(i)C++1731.12.6.5.1 [fs.path.construct]path is convertible from approximately everything under the sunYes1
2664(i)C++1731.12.6.5.3 [fs.path.append]operator/ (and other append) semantics not useful if argument has rootYes2
2732(i)C++1731.12.6.5.3 [fs.path.append]Questionable specification ofpath::operator/= andpath::appendYes2
3055(i)C++2031.12.6.5.4 [fs.path.concat]path::operator+=(single-character) misspecifiedYes3
2734(i)Resolved31.12.6.5.4 [fs.path.concat]Questionable specification in [fs.path.concat]Yes2
2665(i)Resolved31.12.6.5.5 [fs.path.modifiers]remove_filename() post condition is incorrectYes1
2966(i)C++2031.12.6.5.6 [fs.path.native.obs]Incomplete resolution of US 74Yes
2936(i)C++2031.12.6.5.8 [fs.path.compare]Path comparison is defined in terms of the generic formatYes2
3098(i)New31.12.6.5.9 [fs.path.decompose]Misleading example forfilesystem::path::filename()Yes3
2667(i)C++1731.12.6.5.9 [fs.path.decompose]path::root_directory() description is confusingYes0
3699(i)New31.12.6.5.11 [fs.path.gen]lexically_relative on UNC drive paths (\\?\C:\...) results in a default-constructed valueNo3
3070(i)C++2031.12.6.5.11 [fs.path.gen]path::lexically_relative causes surprising results if a filename can also be aroot-nameYes2
3096(i)C++2031.12.6.5.11 [fs.path.gen]path::lexically_relative is confused by trailing slashesYes2
3794(i)New31.12.6.6 [fs.path.itr]std::filesystem::path::iterator::reference should be allowed to bestd::filesystem::pathYes3
2674(i)C++1731.12.6.6 [fs.path.itr]Bidirectional iterator requirement onpath::iteratoris very expensiveYes2
2989(i)C++2031.12.6.7 [fs.path.io]path's stream insertion operator lets you insert everything under the sunYes2
3065(i)C++2031.12.6.8 [fs.path.nonmember]LWG 2989 missed that allpath's other operators should be hidden friends as wellYes2
4070(i)Open31.12.6.9.2 [fs.path.fmtr.funcs]Transcoding bystd::formatter<std::filesystem::path>Yes2
2965(i)C++2031.12.7.2 [fs.filesystem.error.members]Non-existingpath::native_string() infilesystem_error::what() specificationYes0
3043(i)C++2031.12.7.2 [fs.filesystem.error.members]Bogus postcondition forfilesystem_error constructorYes0
2947(i)New31.12.8.1 [fs.enum.path.format]Clarify several filesystem termsNo3
2851(i)C++2031.12.8.2 [fs.enum.file.type]std::filesystem enum classes are now underspecifiedYes2
2678(i)C++1731.12.8.2 [fs.enum.file.type]std::filesystem enum classes overspecifiedYes3
2787(i)C++1731.12.9 [fs.class.file.status]§[fs.file_status.cons] doesn't match class definitionYes0
3078(i)New31.12.10 [fs.class.directory.entry]directory_entry,directory_iterator andrecursive_directory_iterator perform needless path copiesNo3
3171(i)C++2331.12.10 [fs.class.directory.entry]LWG 2989 breaksdirectory_entry stream insertionYes2
2677(i)Resolved31.12.10.4 [fs.dir.entry.obs]directory_entry::status is not allowed to be cached as a quality-of-implementation issueYes2
2761(i)NAD31.12.10.4 [fs.dir.entry.obs]directory_entry comparisons are membersYes2
3480(i)C++2331.12.11 [fs.class.directory.iterator]directory_iterator andrecursive_directory_iterator are not C++20 rangesYes3
2723(i)C++1731.12.11 [fs.class.directory.iterator]Dodirectory_iterator andrecursive_directory_iterator become the end iterator upon error?Yes0
3719(i)C++2331.12.11.1 [fs.class.directory.iterator.general]Directory iterators should be usable with default sentinelYes
3668(i)New31.12.11.2 [fs.dir.itr.members][recursive_]directory_iterator constructors refer to undefinedoptionsYes3
3013(i)C++2031.12.11.2 [fs.dir.itr.members](recursive_)directory_iterator construction and traversal should not benoexceptYes0
2726(i)C++1731.12.11.2 [fs.dir.itr.members][recursive_]directory_iterator::increment(error_code&) is underspecifiedYes0
2840(i)Resolved31.12.11.2 [fs.dir.itr.members]directory_iterator::increment is seemingly narrow-contract but markednoexceptYes2
2706(i)C++1731.12.12 [fs.class.rec.dir.itr]Error reporting forrecursive_directory_iterator::pop() is under-specifiedYes0
2708(i)Open31.12.12.2 [fs.rec.dir.itr.members]recursive_directory_iterator::recursion_pending() is incorrectly specifiedYes2
3067(i)C++2031.12.12.2 [fs.rec.dir.itr.members]recursive_directory_iterator::pop must invalidateYes0
2669(i)C++1731.12.12.2 [fs.rec.dir.itr.members]recursive_directory_iterator effects refers to non-existent functionsYes0
2704(i)C++1731.12.12.2 [fs.rec.dir.itr.members]recursive_directory_iterator's members should require '*this is dereferenceable'Yes1
4279(i)New31.12.13.2 [fs.op.absolute]§[fs.op.absolute] Non-normative encouragement should beRecommended practiceNo4
2956(i)C++1731.12.13.3 [fs.op.canonical]filesystem::canonical() still defined in terms ofabsolute(p, base)Yes1
3057(i)Open31.12.13.4 [fs.op.copy]Correctcopy_options handlingYes2
2682(i)C++2031.12.13.4 [fs.op.copy]filesystem::copy() won't create a symlink to a directoryYes2
3015(i)C++2031.12.13.4 [fs.op.copy]copy_options::unspecified underspecifiedYes3
2671(i)C++1731.12.13.4 [fs.op.copy]Errors in CopyYes0
2681(i)C++1731.12.13.4 [fs.op.copy]filesystem::copy() cannot copy symlinksYes2
2683(i)C++1731.12.13.4 [fs.op.copy]filesystem::copy() says "no effects"Yes3
3056(i)New31.12.13.5 [fs.op.copy.file]copy_file() copies which attributes?Yes3
2849(i)C++2031.12.13.5 [fs.op.copy.file]Why does!is_regular_file(from) causecopy_file to report a "file already exists" error?Yes2
3014(i)C++2031.12.13.5 [fs.op.copy.file]Morenoexcept issues with filesystem operationsYes
2712(i)C++1731.12.13.5 [fs.op.copy.file]copy_file(from, to, ...) has a number of unspecified error conditionsYes2
3744(i)New31.12.13.6 [fs.op.copy.symlink]copy_symlink(junction, new_symlink)'s behavior is unclearNo3
2935(i)C++2031.12.13.7 [fs.op.create.directories]What shouldcreate_directories do whenp already exists but is not a directory?Yes0
3079(i)C++2031.12.13.8 [fs.op.create.directory]LWG 2935 forgot to fix theexisting_p overloads ofcreate_directoryYes0
2937(i)C++2031.12.13.13 [fs.op.equivalent]Isequivalent("existing_thing", "not_existing_thing") an error?Yes0
2722(i)C++1731.12.13.13 [fs.op.equivalent]equivalent incorrectly specifies throws clauseYes3
2725(i)C++1731.12.13.14 [fs.op.exists]filesystem::exists(const path&, error_code&) error reportingYes1
2663(i)Resolved31.12.13.15 [fs.op.file.size]Enable efficient retrieval of file size fromdirectory_entryYes2
2672(i)C++1731.12.13.20 [fs.op.is.empty]Should is_empty use error_code in its specification?Yes3
2719(i)C++1731.12.13.27 [fs.op.permissions]permissions function should not benoexcept due to narrow contractYes0
2720(i)C++1731.12.13.27 [fs.op.permissions]permissions function incorrectly specified for symlinksYes2
2721(i)C++1731.12.13.32 [fs.op.remove.all]remove_all has incorrect post conditionsYes3
2816(i)C++2031.12.13.34 [fs.op.resize.file]resize_file has impossible postconditionYes3
2728(i)C++1731.12.13.36 [fs.op.status]status(p).permissions() andsymlink_status(p).permissions() are not specifiedYes0
2673(i)C++1731.12.13.36 [fs.op.status]status() effects cannot be implemented as specifiedYes0
3822(i)C++2331.12.13.40 [fs.op.weakly.canonical]Avoiding normalization infilesystem::weakly_canonicalYes
3026(i)C++2031.12.13.40 [fs.op.weakly.canonical]filesystem::weakly_canonical still defined in terms ofcanonical(p, base)Yes0
984(i)C++1131.13 [c.files]Does<cinttypes> have macro guards?Yes
2548(i)Resolved31.13 [c.files]Missingvfscanf from<cstdio>Yes3
2249(i)Resolved31.13 [c.files][CD] Removegets from<cstdio>Yes
2043(i)NAD31.13 [c.files]std{in,out,err} should be usable as field namesYes
3834(i)C++2331.13.2 [cinttypes.syn]Missingconstexpr forstd::intmax_t math functions in<cinttypes>Yes

Section 32 (288 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
1089(i)C++1132 [thread]Unify "Throws: Nothing." specificationsYes
1442(i)NAD Editorial32 [thread]"happens-before" should be "synchronizes-with"Yes1443
1443(i)Dup32 [thread]Imposed happens-before edges are not made transitiveYes1442
1139(i)NAD Concepts32 [thread]Thread support library not concept enabledYes
1481(i)Resolved32.2 [thread.req]Missing Lockable requirementsYes
1108(i)C++1132.2.2 [thread.req.exception]thread.req.exception overly constrains implementationsYes
2379(i)NAD32.2.3 [thread.req.native]Obtaining native handle of the current threadYes
2941(i)C++2032.2.4 [thread.req.timing]§[thread.req.timing] wording should apply to both member and namespace-level functionsYes0
1158(i)C++1132.2.4 [thread.req.timing]Encouragement to use monotonic clockYes
1482(i)Resolved32.2.4 [thread.req.timing]Timeout operations are under-specifiedYes
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
3254(i)C++2032.3.4 [stoptoken]Strikestop_token'soperator!=Yes0
3362(i)C++2032.3.5 [stopsource]Strikestop_source'soperator!=Yes0
4362(i)Tentatively NAD32.3.8 [stoptoken.inplace]Inconsistent usage ofconstexpr forinplace_stop_token andinplace_stop_sourceYes
1483(i)NAD Editorial32.4 [thread.threads]__STDCPP_THREADS spellingYes
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
1277(i)C++1132.4.3.2 [thread.thread.id]std::thread::id should be trivially copyableYes
783(i)CD132.4.3.2 [thread.thread.id]thread::id reuseYes
889(i)Resolved32.4.3.2 [thread.thread.id]thread::id comparisonsYes
1485(i)NAD32.4.3.2 [thread.thread.id]Unclearthread::id specificationYes
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
3476(i)C++2332.4.3.3 [thread.thread.constr]thread andjthread constructors require that the parameters be move-constructible but never move construct the parametersYes0
3039(i)C++2032.4.3.3 [thread.thread.constr]Unnecessarydecay inthread andpackaged_taskYes0
891(i)C++1132.4.3.3 [thread.thread.constr]std::thread,std::call_once issueYes
929(i)C++1132.4.3.3 [thread.thread.constr]Thread constructorYes
967(i)C++1132.4.3.3 [thread.thread.constr]Various threading bugs #17Yes
1176(i)NAD32.4.3.3 [thread.thread.constr]Makethread constructor non-variadicYes
963(i)C++1132.4.3.6 [thread.thread.member]Various threading bugs #13Yes
1033(i)C++1132.4.3.6 [thread.thread.member]thread::join() effects?Yes
3788(i)C++2332.4.4.2 [thread.jthread.cons]jthread::operator=(jthread&&) postconditions are unimplementable under self-assignmentYes3
888(i)C++1132.4.5 [thread.thread.this]this_thread::yield too strongYes
1487(i)C++1132.4.5 [thread.thread.this]Clock related operations exception specifications conflictYes
1486(i)NAD32.4.5 [thread.thread.this]Value ofthis_thread::get_id() underspecified for detached threadYes
3633(i)New32.5 [atomics]Atomics are copy constructible and copy assignable fromvolatile atomicsYes3
880(i)Resolved32.5 [atomics]Missing atomic exchange parameterYes942
923(i)Resolved32.5 [atomics]atomics with floating-pointYes
924(i)Resolved32.5 [atomics]structs with internal paddingYes
1143(i)Resolved32.5 [atomics]Atomic operations library not concept enabledYes
1145(i)Resolved32.5 [atomics]Inappropriate headers for atomicsYes
1455(i)Resolved32.5 [atomics]C language compatibility for atomicsYes1454
1523(i)Resolved32.5 [atomics]noexcept for Clause 29Yes
879(i)NAD Editorial32.5 [atomics]Atomic load const qualificationYes
937(i)NAD Editorial32.5 [atomics]Atomics for standard typedef typesYes
1456(i)NAD32.5 [atomics]Missing fixed-sizeatomic_ typedefsYes
1461(i)NAD32.5 [atomics]Rename allATOMIC_* macros asSTD_ATOMIC_*Yes
942(i)Dup32.5 [atomics]Atomics synopsis typoYes880
1454(i)Dup32.5 [atomics]Ensure C compatibility for atomicsYes1455
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
3745(i)C++2332.5.2 [atomics.syn]std::atomic_wait and its friends lacknoexceptYes
2988(i)C++2032.5.2 [atomics.syn]Clause 32 cleanup missed onetypenameYes0
1457(i)Resolved32.5.2 [atomics.syn]Splitting lock-free propertiesYes
2037(i)Resolved32.5.2 [atomics.syn]atomic free functions incorrectly specifiedYes
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
2130(i)C++1432.5.4 [atomics.order]Missing ordering constraintsYes
818(i)CD132.5.4 [atomics.order]wording for memory orderingYes
2034(i)Resolved32.5.4 [atomics.order]Initialization of atomics is misspecified so that it doesn't preserve sequential consistencyYes
926(i)NAD Editorial32.5.4 [atomics.order]Sequentially consistent fences, relaxed operations and modification orderYes
1458(i)Dup32.5.4 [atomics.order]Overlapping evaluations are allowedYes1459
3249(i)C++2332.5.5 [atomics.lockfree]There are no 'pointers' in §[atomics.lockfree]Yes4
1146(i)Resolved32.5.5 [atomics.lockfree]"lockfree" does not say enoughYes
1460(i)Resolved32.5.5 [atomics.lockfree]Missing lock-free property for typebool should be addedYes
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
3160(i)C++2032.5.7 [atomics.ref.generic]atomic_ref() = delete; should be deletedYes0
3485(i)NAD32.5.7 [atomics.ref.generic]atomic_ref safety should be based on operations that "potentially conflict" rather than lifetimeYes3
3508(i)Resolved32.5.7.1 [atomics.ref.generic.general]atomic_ref<cv T> is not well-specifiedYes2
4377(i)Voting32.5.7.2 [atomics.ref.ops]Misleading note about lock-free property ofstd::atomic_refYes
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
4450(i)Immediate32.5.7.3 [atomics.ref.int]std::atomic_ref<T>::store_key should be disabled for constTYes
3012(i)C++2032.5.8 [atomics.types.generic]atomic<T> is unimplementable for non-is_trivially_copy_constructible TYes2
2441(i)C++1732.5.8 [atomics.types.generic]Exact-width atomic typedefs should be providedYes0
768(i)CD132.5.8 [atomics.types.generic]Typos in [atomics]?Yes
845(i)CD132.5.8 [atomics.types.generic]atomics cannot support aggregate initializationYes
4069(i)Resolved32.5.8 [atomics.types.generic]std::atomic<volatile T> should be ill-formedYes2
908(i)Resolved32.5.8 [atomics.types.generic]Deleted assignment operators for atomic types must be volatileYes
2715(i)Resolved32.5.8 [atomics.types.generic]What is 'aggregate initialization syntax'?Yes3
2424(i)Resolved32.5.8 [atomics.types.generic]29.5 should state that atomic types are not trivially copyableYes2
944(i)Resolved32.5.8 [atomics.types.generic]atomic<bool> derive fromatomic_bool?Yes
1469(i)Resolved32.5.8 [atomics.types.generic]atomic<T*> inheritance fromatomic_address breaks type safetyYes
2024(i)Resolved32.5.8 [atomics.types.generic]Inconsistent implementation requirements foratomic<integral> andatomic<T*>Yes
2165(i)Resolved32.5.8 [atomics.types.generic]std::atomic<X> requiresX to be nothrow default constructibleYes4
3949(i)WP32.5.8.1 [atomics.types.generic.general]std::atomic<bool>'s trivial destructor dropped in C++17 spec wordingYes
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
4169(i)WP32.5.8.2 [atomics.types.operations]std::atomic<T>'s default constructor should be constrainedYes
2426(i)C++1732.5.8.2 [atomics.types.operations]Issue aboutcompare_exchangeYes1
1474(i)C++1132.5.8.2 [atomics.types.operations]weak compare-and-exchange confusionYes1470,1475,1476,1477
1478(i)C++1132.5.8.2 [atomics.types.operations]Clarify race conditions in atomics initializationYes
777(i)CD132.5.8.2 [atomics.types.operations]Atomics Library IssueYes
846(i)CD132.5.8.2 [atomics.types.operations]No definition for constructorYes
2334(i)Resolved32.5.8.2 [atomics.types.operations]atomic's default constructor requires "uninitialized" state even for types with non-trivial default-constructorYes
1043(i)Resolved32.5.8.2 [atomics.types.operations]Clarify thatcompare_exchange is not a read-modify-write operationYes
1147(i)Resolved32.5.8.2 [atomics.types.operations]Non-volatile atomic functionsYes
864(i)NAD Editorial32.5.8.2 [atomics.types.operations]Defect in atomic wordingYes
1471(i)NAD Editorial32.5.8.2 [atomics.types.operations]Default constructor of atomics needs specificationYes
1472(i)NAD Editorial32.5.8.2 [atomics.types.operations]Incorrect semantics ofatomic_initYes
3611(i)NAD32.5.8.2 [atomics.types.operations]Shouldcompare_exchange be allowed to modify theexpected value on success?Yes2
1473(i)NAD32.5.8.2 [atomics.types.operations]Incomplete memory order specificationsYes
1470(i)Dup32.5.8.2 [atomics.types.operations]"Same-ness" curiositiesYes1474
1475(i)Dup32.5.8.2 [atomics.types.operations]weak compare-and-exchange confusion IIYes1474
1476(i)Dup32.5.8.2 [atomics.types.operations]Meaningless specification of spurious failureYes1474
1477(i)Dup32.5.8.2 [atomics.types.operations]weak compare-and-exchange confusion IIIYes1474
3047(i)New32.5.8.3 [atomics.types.int]atomic compound assignment operators can cause undefined behavior when correspondingfetch_meow members don'tYes3
3045(i)C++2032.5.8.4 [atomics.types.float]atomic<floating-point> doesn't havevalue_type ordifference_typeYes0
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
3893(i)WP32.5.8.7.2 [util.smartptr.atomic.shared]LWG 3661 brokeatomic<shared_ptr<T>> a; a = nullptr;Yes
3661(i)C++2332.5.8.7.2 [util.smartptr.atomic.shared]constinit atomic<shared_ptr<T>> a(nullptr); should workYes
3418(i)New32.5.9 [atomics.nonmembers]Deprecated free functions in<atomic>Yes3
3659(i)C++2332.5.10 [atomics.flag]ConsiderATOMIC_FLAG_INIT undeprecationYes3
2138(i)C++1432.5.10 [atomics.flag]atomic_flag::clear should not acceptmemory_order_consumeYes
2159(i)C++1432.5.10 [atomics.flag]atomic_flag initializationYes
1479(i)C++1132.5.11 [atomics.fences]Fence functions should beextern "C"Yes
1480(i)C++1132.5.11 [atomics.fences]Atomic fences don't havesynchronizes with relationYes
3671(i)C++2332.5.12 [stdatomic.h.syn]atomic_fetch_xor missing fromstdatomic.hYes
1488(i)LEWG32.6 [thread.mutex]Improve interoperability between the C++0x and C1x threads APIsNo4
1044(i)C++1132.6 [thread.mutex]Empty tag types should beconstexpr literalsYes
1268(i)Resolved32.6 [thread.mutex]The Mutex requirements in 30.4.1 and 30.4.2 are wrongYes
1489(i)NAD Editorial32.6 [thread.mutex]unlock functions and unlock mutex requirements are inconsistentYes
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
2126(i)Pending NAD Editorial32.6.4 [thread.mutex.requirements]Several specification problems in regard to mutex requirementsYes
960(i)C++1132.6.4 [thread.mutex.requirements]Various threading bugs #10Yes
968(i)C++1132.6.4 [thread.mutex.requirements]Various threading bugs #18Yes
1218(i)C++1132.6.4 [thread.mutex.requirements]mutex destructor synchronizationYes
1490(i)Resolved32.6.4 [thread.mutex.requirements]Mutex requirements too stringentYes
1491(i)Resolved32.6.4 [thread.mutex.requirements]try_lock does not guarantee forward progressYes
1492(i)Resolved32.6.4 [thread.mutex.requirements]Mutex requirements should not be bound to threadsYes
980(i)NAD32.6.4 [thread.mutex.requirements]mutex lock() missing error conditionsYes
2134(i)Pending NAD Editorial32.6.4.2 [thread.mutex.requirements.mutex]Redundant Mutex requirement?Yes
2309(i)C++1732.6.4.2 [thread.mutex.requirements.mutex]mutex::lock() should not throwdevice_or_resource_busyYes0
2090(i)NAD32.6.4.2 [thread.mutex.requirements.mutex]Minor Overconstraint in Mutex TypesYes
893(i)C++1132.6.4.2.2 [thread.mutex.class]std::mutex issueYes905
828(i)Resolved32.6.4.2.2 [thread.mutex.class]Static initialization forstd::mutex?Yes
905(i)Dup32.6.4.2.2 [thread.mutex.class]Mutex specification questionsYes893
2125(i)Pending NAD Editorial32.6.4.3 [thread.timedmutex.requirements]TimedMutex specification problemYes
2091(i)C++1432.6.4.3 [thread.timedmutex.requirements]Misplaced effect inm.try_lock_for()Yes
2288(i)C++1432.6.4.4 [thread.sharedmutex.requirements]Inconsistent requirements for shared mutexesYes
2363(i)Resolved32.6.4.5.2 [thread.sharedtimedmutex.class]Defect in 30.4.1.4.1 [thread.sharedtimedmutex.class]Yes2
2731(i)C++2332.6.5.2 [thread.lock.guard]Existence oflock_guard<MutexTypes...>::mutex_type typedef unclearYes3
2887(i)Resolved32.6.5.2 [thread.lock.guard]Revert the changes from P0156R0: variadiclock_guardYes
2023(i)Resolved32.6.5.2 [thread.lock.guard]Incorrect requirements forlock_guard andunique_lockYes
2104(i)C++1432.6.5.4 [thread.lock.unique]unique_lock move-assignment should not benoexceptYes
4172(i)WP32.6.5.4.2 [thread.lock.unique.cons]unique_lock self-move-assignment is brokenYes
2577(i)C++1732.6.5.4.2 [thread.lock.unique.cons]{shared,unique}_lock should usestd::addressofYes0
1045(i)C++1132.6.5.4.2 [thread.lock.unique.cons]Remove unnecessary preconditions fromunique_lock constructorYes
962(i)C++1132.6.5.4.3 [thread.lock.unique.locking]Various threading bugs #12Yes
1159(i)C++1132.6.5.4.3 [thread.lock.unique.locking]Unclear spec forresource_deadlock_would_occurYes1219
1219(i)Dup32.6.5.4.3 [thread.lock.unique.locking]unique_lock::lock and resource_deadlock_would_occurYes1159
784(i)NAD32.6.5.4.4 [thread.lock.unique.mod]unique_lock::releaseYes
3030(i)C++2032.6.6 [thread.lock.algorithm]Who shall meet the requirements oftry_lock?Yes0
986(i)C++1132.6.6 [thread.lock.algorithm]Generictry_lock contradictionYes
2080(i)C++1432.6.7 [thread.once]Specify whenonce_flag becomes invalidYes
2442(i)C++1732.6.7.2 [thread.once.callonce]call_once() shouldn'tDECAY_COPY()Yes
1494(i)C++1132.6.7.2 [thread.once.callonce]Term "are serialized" not definedYes
2140(i)C++1432.7 [thread.condition]Meaning ofnotify_all_at_thread_exit synchronization requirement?Yes
2190(i)C++1432.7 [thread.condition]Condition variable specificationYes
859(i)C++1132.7 [thread.condition]Monotonic Clock is Conditionally Supported?Yes
1220(i)C++1132.7 [thread.condition]What doescondition_variable wait on?Yes
1222(i)C++1132.7 [thread.condition]condition_variable incorrect effects for exception safetyYes
1497(i)C++1132.7 [thread.condition]lock() postcondition can not be generally achievedYes
1498(i)Resolved32.7 [thread.condition]Unclear specification for [thread.condition]Yes
1495(i)NAD Editorial32.7 [thread.condition]Condition variablewait_for return value insufficientYes
1499(i)NAD32.7 [thread.condition]Condition variables preclude wakeup optimizationYes
3343(i)Immediate32.7.3 [thread.condition.nonmember]Ordering of calls tounlock() andnotify_all() inEffects element ofnotify_all_at_thread_exit() should be reversedYes3
4301(i)Voting32.7.4 [thread.condition.condvar]condition_variable{_any}::wait_{for, until} should take timeout by valueYes
3504(i)New32.7.4 [thread.condition.condvar]condition_variable::wait_for is overspecifiedYes3
2093(i)C++1432.7.4 [thread.condition.condvar]Throws clause ofcondition_variable::wait with predicateYes
2135(i)C++1432.7.4 [thread.condition.condvar]Unclear requirement for exceptions thrown incondition_variable::wait()Yes
857(i)C++1132.7.4 [thread.condition.condvar]condition_variable::time_wait returnbool error proneYes
965(i)C++1132.7.4 [thread.condition.condvar]Various threading bugs #15Yes
1221(i)C++1132.7.4 [thread.condition.condvar]condition_variable wordingYes
958(i)Resolved32.7.4 [thread.condition.condvar]Various threading bugs #8Yes
966(i)Resolved32.7.4 [thread.condition.condvar]Various threading bugs #16Yes
2240(i)Resolved32.7.4 [thread.condition.condvar]Probable misuse of term "function scope" in [thread.condition]Yes
1496(i)NAD Editorial32.7.4 [thread.condition.condvar]condition_variable not implementableYes
887(i)NAD32.7.4 [thread.condition.condvar]issue with condition::wait_...Yes
959(i)NAD32.7.4 [thread.condition.condvar]Various threading bugs #9Yes
3425(i)C++2332.7.5 [thread.condition.condvarany]condition_variable_any fails to constrain itsLock parametersYes0
2092(i)C++1432.7.5 [thread.condition.condvarany]Vague Wording forcondition_variable_anyYes
1267(i)C++1132.7.5 [thread.condition.condvarany]Incorrect wording forcondition_variable_any::wait_forYes
964(i)Resolved32.7.5 [thread.condition.condvarany]Various threading bugs #14Yes
1500(i)NAD Editorial32.7.5 [thread.condition.condvarany]Consider removal ofnative_handle()Yes
1223(i)NAD32.7.5 [thread.condition.condvarany]condition_variable_any lock matching?Yes
1224(i)NAD32.7.5 [thread.condition.condvarany]condition_variable_any support for recursive mutexes?Yes
3898(i)New32.9.3.3 [thread.barrier.class]Possibly unintended preconditions for completion functions ofstd::barrierYes3
2276(i)C++1732.10 [futures]Missing requirement onstd::promise::set_exceptionYes
1518(i)C++1132.10 [futures]Waiting for deferred functionsYes
1046(i)Resolved32.10 [futures]Provide simple facility to start asynchronous operationsYes
1244(i)Resolved32.10 [futures]wait_*() in*future for synchronous functionsYes
1275(i)Resolved32.10 [futures]Creating and setting futuresYes
1501(i)Resolved32.10 [futures]Specification for managing associated asynchronous state has problemsYes
1513(i)Resolved32.10 [futures]'launch' enum too restrictiveYes
2056(i)C++1432.10.1 [futures.overview]future_errc enums start with value 0 (invalid value forbroken_promise)Yes
2102(i)C++1432.10.1 [futures.overview]Why isstd::launch an implementation-defined type?Yes
1226(i)Resolved32.10.3 [futures.errors]Incomplete changes of #890Yes
1160(i)Resolved32.10.4 [futures.future.error]future_error public constructor is 'exposition only'Yes
2530(i)Open32.10.5 [futures.state]Clarify observable side effects of releasing a shared stateNo3
1269(i)Resolved32.10.5 [futures.state]Associated state doesn't account forasyncYes
1502(i)Resolved32.10.5 [futures.state]Specification of [futures.state] unclearYes
1503(i)NAD Editorial32.10.5 [futures.state]"associated asynchronous state" must goYes
2532(i)Open32.10.6 [futures.promise]Satisfying apromise at thread exitYes3
3466(i)C++2332.10.6 [futures.promise]Specify the requirements forpromise/future/shared_future consistentlyYes3
2412(i)C++2032.10.6 [futures.promise]promise::set_value() andpromise::get_future() should not raceYes3
2523(i)C++1732.10.6 [futures.promise]std::promise synopsis shows twoset_value_at_thread_exit()'s for no apparent reasonYes0
2098(i)C++1432.10.6 [futures.promise]Minor Inconsistency betweenpromise::set_value andpromise::set_value_at_thread_exitYes
2095(i)Resolved32.10.6 [futures.promise]promise andpackaged_task missing constructors needed for uses-allocator constructionYes4
3003(i)Resolved32.10.6 [futures.promise]<future> still has type-erased allocators inpromiseYes2
1049(i)Resolved32.10.6 [futures.promise]Move assignment ofpromise invertedYes
1050(i)Resolved32.10.6 [futures.promise]Clarify postconditions forget_future()Yes
1088(i)Resolved32.10.6 [futures.promise]std::promise should provide non-memberswap overloadYes
1165(i)Resolved32.10.6 [futures.promise]Unneededpromise move constructorYes
1272(i)Resolved32.10.6 [futures.promise]confusing declarations ofpromise::set_valueYes
1291(i)Resolved32.10.6 [futures.promise]Exceptions thrown duringpromise::set_valueYes
1300(i)Resolved32.10.6 [futures.promise]Circular definition ofpromise::swapYes
1504(i)Resolved32.10.6 [futures.promise]Term "are serialized" is not definedYes
1505(i)Resolved32.10.6 [futures.promise]Synchronization betweenpromise::set_value andfuture::getYes
1507(i)Resolved32.10.6 [futures.promise]promise::XXX_at_thread_exit functions have nosynchronization requirementsYes
1506(i)NAD Editorial32.10.6 [futures.promise]set_exception with a null pointerYes
1164(i)NAD32.10.6 [futures.promise]promise::swap should pass by rvalue referenceYes
3795(i)C++2332.10.7 [futures.unique.future]Self-move-assignment ofstd::future andstd::shared_future have unimplementable postconditionsYes3
2531(i)C++1732.10.7 [futures.unique.future]future::get should explicitly state that the shared state is releasedYes3
2556(i)C++1732.10.7 [futures.unique.future]Wide contract forfuture::share()Yes3
2096(i)C++1432.10.7 [futures.unique.future]Incorrect constraints offuture::get in regard toMoveAssignableYes
2185(i)C++1432.10.7 [futures.unique.future]Missing throws clause forfuture/shared_future::wait_for/wait_untilYes
2031(i)C++1132.10.7 [futures.unique.future]std::future<>::share() only applies to rvaluesYes
1047(i)Resolved32.10.7 [futures.unique.future]Ensure that future'sget() blocks when not readyYes
1048(i)Resolved32.10.7 [futures.unique.future]Provide empty-state inspection forstd::unique_futureYes
1161(i)Resolved32.10.7 [futures.unique.future]Unnecessaryunique_future limitationsYes
1273(i)Resolved32.10.7 [futures.unique.future]future::valid should be callable on an invalid futureYes
3458(i)Resolved32.10.7 [futures.unique.future]Isshared_future intended to work with arrays or function types?Yes0
1106(i)Resolved32.10.8 [futures.shared.future]Multiple exceptions from connectedshared_future::get()?Yes
1162(i)Resolved32.10.8 [futures.shared.future]shared_future should support an efficient move constructorYes
1163(i)Resolved32.10.8 [futures.shared.future]shared_future is inconsistent withshared_ptrYes
1266(i)Resolved32.10.8 [futures.shared.future]shared_future::get and deferredasync functionsYes
1304(i)Resolved32.10.8 [futures.shared.future]Missing preconditions forshared_futureYes
2799(i)Resolved32.10.8 [futures.shared.future]noexcept-specifications inshared_futureYes2
2920(i)Resolved32.10.8 [futures.shared.future]Add a deduction guide for creating ashared_future from afuture rvalueYes
1107(i)NAD Editorial32.10.8 [futures.shared.future]constructorshared_future(unique_future) by value?Yes
2046(i)NAD32.10.8 [futures.shared.future]shared_future(future<R>&&) should be allowed to throwYes
3582(i)New32.10.9 [futures.async]Unclear wherestd::async exceptions are handledYes3
2202(i)Deferred32.10.9 [futures.async]Missing allocator support byasyncNo4
2752(i)C++1732.10.9 [futures.async]"Throws:" clauses ofasync andpackaged_task are unimplementableYes3
2186(i)C++1432.10.9 [futures.async]Incomplete action onasync/launch::deferredYes
2078(i)C++1432.10.9 [futures.async]Throw specification ofasync() incompleteYes
2100(i)C++1432.10.9 [futures.async]timed waiting functions cannot timeout iflaunch::async policy usedYes
2120(i)C++1432.10.9 [futures.async]What shouldasync do if neither 'async' nor 'deferred' is set in policy?Yes
2032(i)C++1132.10.9 [futures.async]Incorrect synchronization clause ofasync functionYes
2856(i)Resolved32.10.9 [futures.async]std::async should be marked as[[nodiscard]]Yes2
1315(i)NAD Editorial32.10.9 [futures.async]return type ofasyncYes
1512(i)NAD Editorial32.10.9 [futures.async]Conflict in specification: block or join?Yes
3117(i)C++2332.10.10 [futures.task]Missingpackaged_task deduction guidesYes3
2976(i)C++2032.10.10 [futures.task]Danglinguses_allocator specialization forpackaged_taskYes3
2921(i)C++1732.10.10 [futures.task]packaged_task and type-erased allocatorsYes
2067(i)C++1432.10.10 [futures.task]packaged_task should have deleted copy c'tor with const parameterYes
2030(i)C++1132.10.10 [futures.task]packaged_task::result_type should be removedYes
1090(i)Resolved32.10.10 [futures.task]Missing description ofpackaged_task memberswap, missing non-memberswapYes
1508(i)Resolved32.10.10 [futures.task]Renamepackaged_task::operator bool()Yes
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
4154(i)WP32.10.10.2 [futures.task.members]The Mandates forstd::packaged_task's constructor from a callable entity should consider decayingYes3
2407(i)C++1732.10.10.2 [futures.task.members]packaged_task(allocator_arg_t, const Allocator&, F&&) should neither be constrained norexplicitYes
2097(i)C++1432.10.10.2 [futures.task.members]packaged_task constructors should be constrainedYes
2142(i)C++1432.10.10.2 [futures.task.members]packaged_task::operator() synchronization too broad?Yes
1514(i)C++1132.10.10.2 [futures.task.members]packaged_task constructors need reviewYes
2008(i)C++1132.10.10.2 [futures.task.members]Conflicting Error Conditions forpackaged_task::operator()Yes
2027(i)C++1132.10.10.2 [futures.task.members]Initialization of the stored task of apackaged_taskYes
2245(i)Resolved32.10.10.2 [futures.task.members]packaged_task::reset() memory allocationYes3
1515(i)Resolved32.10.10.2 [futures.task.members]packaged_task::make_ready_at_thread_exit has no synchronization requirementsYes
2025(i)Resolved32.10.10.2 [futures.task.members]Incorrect semantics of move assignment operator ofpackaged_taskYes
2000(i)C++1132.10.10.3 [futures.task.nonmembers]Missing definition ofpackaged_task specialization ofuses_allocatorYes

Section 33 (67 issues)

(view only non-Ready open 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
4447(i)Immediate33.4 [execution.syn]Remove unnecessarysizeof…(Env) > 1 conditionYes
4326(i)New33.5.1 [exec.fwd.env]Standard defined queries can't customizeforwarding_query_t by inheriting from itYes4
4175(i)WP33.5.2 [exec.get.allocator]get_env() specified in terms ofas_const() but this doesn't work with rvalue sendersYes
4354(i)SG133.5.8 [exec.get.fwd.progress]Reconsiderweakly_parallel as the defaultforward_progress_guaranteeYes1
4328(i)Voting33.6 [exec.sched]Remove note in §[exec.sched] regarding waiting for completion of scheduled operationsYes
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
4200(i)WP33.8.1 [exec.opstate.general]Theoperation_state concept can be simplifiedYes
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
4202(i)WP33.9.3 [exec.snd.concepts]enable-sender should be a variable templateYes1
4201(i)WP33.9.4 [exec.awaitable]with-await-transform::await_transform should not use a deduced return typeYes
4368(i)New33.9.5 [exec.domain.default]Potential dangling reference returned fromtransform_senderYes1
4209(i)WP33.9.5 [exec.domain.default]default_domain::transform_env should be returningFWD-ENV(env)Yes
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
4208(i)WP33.9.10 [exec.connect]Wording needs to ensure that inconnect(sndr, rcvr) thatrcvr expression is only evaluated onceYes
4395(i)New33.9.12.3 [exec.write.env]write_env implementation-detail lambda should have explicit return typeNo2
4198(i)WP33.9.12.7 [exec.schedule.from]schedule_from isn't starting the schedule sender if decay-copying results throwsYes1
4203(i)WP33.9.12.7 [exec.schedule.from]Constraints onget-state functions are incorrectYes1
4369(i)Immediate33.9.12.9 [exec.then]check-types function forupon_error andupon_stopped is wrongYes2
4419(i)New33.9.12.10 [exec.let]let_value/error/stopped should specify the attributes of their sendersNo1
4204(i)WP33.9.12.10 [exec.let]specification ofas-sndr2(Sig) in [exec.let] is incompleteYes1
4205(i)WP33.9.12.10 [exec.let]let_[*].transform_env is specified in terms of thelet_* sender itself instead of its childYes1
4438(i)Immediate33.9.12.12 [exec.when.all]Bad expression in [exec.when.all]Yes
4227(i)WP33.9.12.12 [exec.when.all]Missingnoexcept operator in [exec.when.all]Yes
4448(i)Immediate33.10 [exec.cmplsig]Do not forwardfn incompletion_signaturesYes
4215(i)New33.12.1 [exec.run.loop]run_loop::finish should benoexceptYes2
4150(i)Resolved33.12.1.4 [exec.run.loop.members]The preconditions onrun_loop::run() are too strictYes
4358(i)Immediate33.13.1 [exec.as.awaitable]§[exec.as.awaitable] is using "Preconditions:" when it should probably be described in the constraintYes2
4360(i)Immediate33.13.1 [exec.as.awaitable]awaitable-sender concept should qualify use ofawaitable-receiver typeYes2
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
4342(i)Voting33.13.5 [exec.task.scheduler]Missing rvalue reference qualification fortask_scheduler::ts-sender::connect()Yes
4445(i)Immediate33.13.5 [exec.task.scheduler]sch_ must not be in moved-from stateYes
4446(i)Immediate33.13.5 [exec.task.scheduler]Bad phrasing forSCHED(s)Yes
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
4341(i)Voting33.13.6.2 [task.class]Missing rvalue reference qualification fortask::connect()Yes
4343(i)Voting33.13.6.2 [task.class]Missing default template arguments fortaskYes
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
4340(i)Voting33.13.6.5 [task.promise]task::promise_type::unhandled_stopped() should benoexceptYes
4345(i)Voting33.13.6.5 [task.promise]task::promise_type::return_value default template parameterYes
4346(i)Voting33.13.6.5 [task.promise]task::promise_type::return_void/value lack a specificationYes
4349(i)Voting33.13.6.5 [task.promise]task is not actually started lazilyYes
4415(i)Voting33.13.6.5 [task.promise]task::promise_type::uncaught_exception seems to be misnamedYes
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 (119 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
927(i)NAD Concepts99 [allocator.concepts]Dereferenceable should beHasDereferenceYes
1172(i)Resolved99 [allocator.concepts.members]select_on_container_(copy|move)_construction over-constrainedYes
1074(i)NAD Concepts99 [allocator.element.concepts]concept map broken by N2840Yes
1166(i)Resolved99 [allocator.propagation]Allocator-specific move/copy break model of move-constructor and move-assignmentYes
943(i)C++1199 [atomics.types.address]ssize_t undefinedYes
1465(i)Resolved99 [atomics.types.address]Missing arithmetic operators foratomic_addressYes
1466(i)Resolved99 [atomics.types.address]Silentconst breakage bycompare_exchange_* member functionsYes
1467(i)Resolved99 [atomics.types.address]Derivingatomic<T*> fromatomic_address breaks type safetyYes
1468(i)Resolved99 [atomics.types.address]atomic_address::compare_exchange_* member functions should matchatomic_compare_exchange_* free functionsYes
1462(i)Resolved99 [atomics.types.integral]Ambiguous value assignment toatomic_boolYes1463
1464(i)Resolved99 [atomics.types.integral]Underspecified typedefs for atomic integral typesYes
1463(i)Dup99 [atomics.types.integral]Inconsistent value assignment foratomic_boolYes1462
1247(i)C++1199 [auto.ptr]auto_ptr is overspecifiedYes
127(i)TC199 [auto.ptr]auto_ptr<> conversion issuesYes
973(i)NAD Editorial99 [auto.ptr]auto_ptr characteristicsYes
249(i)NAD99 [auto.ptr]Return Type ofauto_ptr::operator=Yes
463(i)NAD99 [auto.ptr]auto_ptr usability issuesYes
2505(i)Resolved99 [auto.ptr.conv]auto_ptr_ref creation requirements underspecifiedYes4
2(i)NAD99 [auto.ptr.conv]Auto_ptr conversions effects incorrectYes
1080(i)NAD Concepts99 [concept.arithmetic]Concept ArithmeticLike should provide explicit boolean conversionYes
988(i)NAD99 [concept.comparison]Reflexivity meaningless?Yes
1016(i)NAD Concepts99 [concept.comparison]ProvideLessThanComparable andEqualityComparable forFloatingPointTypeYes
1017(i)NAD Concepts99 [concept.regular]Floating-point types should not satisfyRegularYes
1015(i)NAD Concepts99 [concept.transform]C++ programs - but not users - need to provide supportconcept_mapsYes
1124(i)NAD Concepts99 [concept.transform] Invalid definition of concept RvalueOfYes
3395(i)C++2099 [defns.comparison]Definition for three-way comparison needs to be updated (US 152)Yes1
1355(i)Resolved99 [defns.move.assign.op]The definition of move-assignment operator is redundantYes
1356(i)Resolved99 [defns.move.ctor]The definition of move-constructor is redundantYes
2890(i)C++1799 [defns.obj.state]The definition of 'object state' applies only to class typesYes
1064(i)NAD99 [defns.obj.state]Term "object state" should not refer to classesYes
1516(i)C++1199 [depr.auto.ptr]No specification for which header containsauto_ptrYes
1279(i)C++1199 [depr.base]forbid[u|bi]nary_function specializationYes
257(i)NAD99 [depr.base]STL functional object and iterator inheritance.Yes
480(i)NAD99 [depr.base]unary_function and binary_function should have protected nonvirtual destructorsYes
501(i)NAD99 [depr.base]Proposal: strengthen guarantees of lib.comparisonsYes
2479(i)New99 [depr.conversions.buffer]Unclear howwbuffer_convert usescvtstateNo4
2480(i)New99 [depr.conversions.buffer]Error handling ofwbuffer_convert unclearNo4
1252(i)C++1199 [depr.conversions.buffer]wbuffer_convert::state_type inconsistencyYes
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
2175(i)C++1499 [depr.conversions.string]wstring_convert andwbuffer_convert validityYes
2176(i)C++1499 [depr.conversions.string]Special members forwstring_convert andwbuffer_convertYes
2174(i)C++1499 [depr.conversions.string]wstring_convert::converted() should benoexceptYes
991(i)C++1199 [depr.conversions.string]Provide allocator forwstring_convertYes
2226(i)NAD99 [depr.conversions.string]wstring_convert methods do not take allocator instanceYes
2854(i)NAD99 [depr.conversions.string]wstring_convert provides no indication of incomplete input or outputYes3
721(i)NAD99 [depr.conversions.string]wstring_convert inconsistensiesYes
174(i)TC199 [depr.ios.members]Typo:OFF_T vs.POS_TYes
175(i)TC199 [depr.ios.members]Ambiguity forbasic_streambuf::pubseekpos() and a few other functions.Yes
176(i)TC199 [depr.ios.members]exceptions() inios_base...?Yes
587(i)NAD Editorial99 [depr.istrstream.cons]iststream ctor missing descriptionYes
109(i)CD199 [depr.lib.binders]Missing binders for non-const sequence elementsYes
362(i)CD199 [depr.lib.binders]bind1st/bind2nd type safetyYes
798(i)CD199 [depr.lib.binders]Refactoring of binders lead to interface breakageYes
2507(i)New99 [depr.locale.stdcvt]codecvt_mode should be a bitmask typeNo3
2229(i)C++1499 [depr.locale.stdcvt]Standard code conversion facets underspecifiedYes
2869(i)Resolved99 [depr.locale.stdcvt]Deprecate sub-clause [locale.stdcvt]Yes
2896(i)Dup99 [depr.locale.stdcvt]The contents of<codecvt> are underspecifiedYes
1076(i)NAD Concepts99 [depr.negators]unary/binary_negate need constraining and move supportYes
2127(i)C++1799 [depr.storage.iterator]Move-construction withraw_storage_iteratorYes3
2454(i)C++1799 [depr.storage.iterator]Addraw_storage_iterator::base() memberYes0
1028(i)NAD Concepts99 [depr.storage.iterator]raw_storage_iterator needs to be a concept-constrained templateYes
46(i)TC199 [depr.str.strstreams]Minor Annex D errorsYes
115(i)TC199 [depr.strstream.cons]Typo in strstream constructorsYes
3128(i)C++2099 [depr.strstream.oper]strstream::rdbuf needs aconst_castYes0
3109(i)New99 [depr.strstreambuf]strstreambuf is copyableNo4
3095(i)New99 [depr.strstreambuf.virtuals]strstreambuf refers to nonexistent member offpos,fpos::offsetYes4
66(i)TC199 [depr.strstreambuf.virtuals]Strstreambuf::setbufYes
65(i)NAD99 [depr.strstreambuf.virtuals]Underspecification of strstreambuf::seekoffYes
267(i)NAD99 [depr.strstreambuf.virtuals]interaction of strstreambuf::overflow() and seekoff()Yes
2072(i)C++1799 [depr.temporary.buffer]Unclear wording about capacity of temporary buffersYes3
425(i)CD199 [depr.temporary.buffer]return value of std::get_temporary_bufferYes
1368(i)C++1199 [depr.uncaught]Thread safety ofstd::uncaught_exception()Yes
2980(i)C++2099 [depr.util.smartptr.shared.atomic]Cannotcompare_exchange empty pointersYes
2172(i)C++1499 [depr.util.smartptr.shared.atomic]Doesatomic_compare_exchange_* acceptv == nullptr arguments?Yes
1030(i)C++1199 [depr.util.smartptr.shared.atomic]Missing requirements for smart-pointer safety APIYes
2445(i)Resolved99 [depr.util.smartptr.shared.atomic]"Stronger" memory orderingYes
1367(i)C++1199 [exception.unexpected]Deprecate library support for checking dynamic exception specificationsYes
4206(i)New99 [exec.syn]Alias templateconnect_result_t should be constrained withsender_toYes1
40(i)TC199 [facets.examples]Meaningless normative paragraph in examplesYes
148(i)TC199 [facets.examples]Functions in the example facet BoolNames should be constYes
217(i)TC199 [facets.examples]Facets example (Classifying Japanese characters) contains errorsYes
2670(i)C++1799 [fs.op.system_complete]system_complete refers to undefined variable 'base'Yes0
2863(i)Resolved99 [func.default.traits]Undodefault_order changes of maps and setsYes
843(i)CD199 [func.referenceclosure.cons] Reference ClosureYes
904(i)C++1199 [func.ret]result_of argument typesYes
1270(i)C++1199 [func.ret]result_of should be moved to<type_traits>Yes
1225(i)Resolved99 [func.ret]C++0xresult_of issueYes
1274(i)Resolved99 [futures.atomic_future]atomic_future constructorYes
1305(i)Resolved99 [futures.atomic_future]preconditions foratomic_futureYes
1509(i)NAD Editorial99 [futures.atomic_future]No restriction on callingfuture::get more than onceYes
1510(i)NAD Editorial99 [futures.atomic_future]Should be undefined behaviour to callatomic_future operations unlessvalid()Yes
1511(i)NAD Editorial99 [futures.atomic_future]Synchronize the move-constructor foratomic_futureYes
1063(i)NAD Concepts99 [iterator.backward]03 iterator compatibiltyYes
1105(i)NAD Concepts99 [iterator.concepts.range]Shouldn'tRange be anauto conceptYes
2404(i)C++1799 [mismatch]mismatch()'s complexity needs to be updatedYes0
3178(i)Resolved99 [mismatch]std::mismatch is missing an upper boundYes0
1381(i)C++1199 [pair.range]Replacepair's range support by proper range facilityYes
789(i)CD199 [rand.adapt.xor]xor_combine_engine(result_type) should be explicitYes
790(i)NAD99 [rand.adapt.xor]xor_combine::seed not specifiedYes
1149(i)NAD Concepts99 [rand.concept.urng]Reformulating NonemptyRange axiomYes
732(i)Resolved99 [rand.dist.samp.genpdf]Defect in [rand.dist.samp.genpdf]Yes795
795(i)Dup99 [rand.dist.samp.genpdf]general_pdf_distribution should be droppedYes732
3909(i)Tentatively NAD99 [ranges.refinements]Issues aboutviewable_rangeYes
529(i)NAD Editorial99 [res.on.required]The standard encourages redundant and confusing preconditionsYes
3212(i)Resolved99 [span.tuple]tuple_element_t<1, const span<int, 42>> isconst intYes2
3138(i)NAD99 [support.contract.cviol]There is no such thing asassertion-levelYes2
3139(i)NAD99 [support.contract.cviol]contract_violation's special member functionsYes1
990(i)C++1199 [time.clock.monotonic]monotonic_clock::is_monotonic must betrueYes
1409(i)Resolved99 [time.clock.monotonic]Specify whethermonotonic_clock is a distinct type or a typedefYes
1410(i)Resolved99 [time.clock.monotonic]Add a feature-detect macro formonotonic_clockYes1411
1412(i)Resolved99 [time.clock.monotonic]Make monotonic clocks mandatoryYes
1411(i)Dup99 [time.clock.monotonic]Add a compile-time flag to detectmonotonic_clockYes1410
1387(i)C++1199 [tuple.range]Range support bytuple should be removedYes
433(i)NAD99 [unexpected]Contradiction in specification of unexpected()Yes
1098(i)C++1199 [util.dynamic.safety]definition ofget_pointer_safety()Yes
1408(i)C++1199 [util.dynamic.safety]Allow recycling of pointers afterundeclare_no_pointersYes
858(i)CD199 [util.dynamic.safety]Wording for Minimal Support for Garbage CollectionYes
1022(i)NAD Editorial99 [util.dynamic.safety]Pointer-safety API has nothing to do with smart pointersYes

Section B (1 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
922(i)C++11B [implimits]§[func.bind.place] Number of placeholdersYes

Section C (5 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2786(i)C++17C.4.9 [diff.cpp14.utilities]Annex C should mentionshared_ptr changes for array supportYes0
2201(i)NAD EditorialC.8 [diff.library]Missing macro entries from C standard libraryYes2
544(i)NAD EditorialC.8 [diff.library]minor NULL problems in C.2Yes
1115(i)NAD EditorialC.8 [diff.library]va_copy missing from Standard macros tableYes
1155(i)NAD EditorialC.8 [diff.library]Reference should be to C99Yes

Section D (8 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3936(i)NADD [depr]Are implementations allowed to deprecate components not in [depr]?Yes
4036(i)WPD.11 [depr.c.macros]__alignof_is_defined is only implicitly specified in C++ and not yet deprecatedYes
2940(i)C++20D.13 [depr.meta.types]result_of specification also needs a little cleanupYes3
3042(i)C++20D.13 [depr.meta.types]is_literal_type_v should be inlineYes0
2838(i)C++17D.13 [depr.meta.types]is_literal_type specification needs a little cleanupYes0
2438(i)C++17D.17 [depr.iterator]std::iterator inheritance shouldn't be mandatedYes3
3840(i)OpenD.22.1 [depr.fs.path.factory]filesystem::u8path should be undeprecatedYes3
3328(i)C++20D.22.1 [depr.fs.path.factory]Clarify thatstd::string is not good for UTF-8Yes0

Section arrays.ts 99 (5 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2254(i)NAD Arrays99 [arrays.ts::container.requirements.general][arrays.ts] Isdynarray an allocator-aware container?Yes3
2264(i)NAD Arrays99 [arrays.ts::dynarray][arrays.ts]std::dynarray defines its initializer-list constructor in terms of a non-existent constructorYes1
2255(i)NAD Arrays99 [arrays.ts::dynarray.cons][arrays.ts]dynarray constructor ambiguityYes0
2253(i)NAD Arrays99 [arrays.ts::dynarray.overview][arrays.ts]dynarray should state which container requirements aren't metYes0
2277(i)NAD Arrays99 [arrays.ts::iterator.range][arrays.ts]<dynarray> is missing in 24.7/1Yes3

Section concurr.ts 99 (2 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2533(i)Open99 [concurr.ts::futures.unique.future][concurr.ts] Constrain threads wherefuture::then can run a continuationNo4
2697(i)C++2399 [concurr.ts::futures.unique_future][concurr.ts] Behavior offuture/shared_future unwrapping constructor when given an invalidfutureYes2

Section dec.tr 3 (10 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
602(i)TRDec3 [dec.tr::trdec.types][dec.tr] "generic floating type" not defined.Yes
603(i)TRDec3 [dec.tr::trdec.types][dec.tr] Trivially simplifying decimal classes.Yes
604(i)TRDec3 [dec.tr::trdec.types][dec.tr] Storing a reference to a facet unsafe.Yes
599(i)TRDec3.1 [dec.tr::trdec.types.encodings][dec.tr] Say "octets" instead of "bytes."Yes
598(i)TRDec3.2 [dec.tr::trdec.types.types][dec.tr] Conversion to integral should truncate, not round.Yes
597(i)NAD3.2 [dec.tr::trdec.types.types][dec.tr] The notion of 'promotion' cannot be emulated by user-defined types.Yes
606(i)NAD3.2 [dec.tr::trdec.types.types][dec.tr] allow narrowing conversionsYes
601(i)TRDec3.3 [dec.tr::trdec.types.limits][dec.tr] numeric_limits typosYes
605(i)TRDec3.4 [dec.tr::trdec.types.cdecfloat][dec.tr] <decfloat.h> doesn't live here anymore.Yes
600(i)TRDec3.9 [dec.tr::trdec.types.cwchar][dec.tr] Wrong parameters for wcstod* functionsYes

Section filesys.ts 1 (2 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2654(i)NAD Future1 [filesys.ts::fs.scope][filesys.ts] [PDTS] Concerns with security and testabilityYes
2601(i)TS1 [filesys.ts::fs.scope][filesys.ts] [PDTS] Make namespaces consistent with Library TS policyYes

Section filesys.ts 2 (2 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2602(i)TS2.1 [filesys.ts::fs.conform.9945][filesys.ts] [PDTS] Tighten specification when there is no reasonable behaviorYes
2657(i)TS2.1 [filesys.ts::fs.conform.9945][filesys.ts] [PDTS] Inappropriate use of "No diagnostic is required"Yes

Section filesys.ts 4 (3 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2603(i)TS4.7 [filesys.ts::fs.def.filename][filesys.ts] [PDTS] Filename length needs bullet itemYes
2604(i)NAD4.14 [filesys.ts::fs.def.parent][filesys.ts] [PDTS] Need definition of dot and dot-dotYes
2606(i)TS4.15 [filesys.ts::fs.def.path][filesys.ts] [PDTS] Path depth is underspecifiedYes

Section filesys.ts 5 (2 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2656(i)TS5 [filesys.ts::fs.req][filesys.ts] [PDTS] Feature test macro for TS versionYes
2662(i)TS5 [filesys.ts::fs.req][filesys.ts] Allocator requirements unspecifiedYes

Section filesys.ts 6 (10 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2611(i)NAD Future6 [filesys.ts::fs.filesystem.synopsis][filesys.ts] [PDTS] Lack ofrelative() operation functionYes
2612(i)NAD Future6 [filesys.ts::fs.filesystem.synopsis][filesys.ts] [PDTS]uintmax_t too small for large file sizesYes
2607(i)TS6 [filesys.ts::fs.filesystem.synopsis][filesys.ts] [PDTS] Unhelpful comment forstruct space_infoYes
2608(i)TS6 [filesys.ts::fs.filesystem.synopsis][filesys.ts] [PDTS]file_time_type underspecifiedYes
2609(i)TS6 [filesys.ts::fs.filesystem.synopsis][filesys.ts] [PDTS] Unclear why range-based-for functions return different typesYes
2634(i)TS6 [filesys.ts::fs.filesystem.synopsis][filesys.ts] [PDTS]enum class directory_options has no summaryYes
2635(i)TS6 [filesys.ts::fs.filesystem.synopsis][filesys.ts] [PDTS]directory_options::skip_permission_denied is not usedYes
2639(i)NAD Editorial6 [filesys.ts::fs.filesystem.synopsis][filesys.ts] [PDTS]permissions() is missing from synopsisYes
2661(i)NAD6 [filesys.ts::fs.filesystem.synopsis][filesys.ts] Surprisingequivalent() behavior if neither file existsYes
2610(i)NAD6 [filesys.ts::fs.filesystem.synopsis][filesys.ts] [PDTS] Apparently inconsistent return types from several functionsYes

Section filesys.ts 7 (2 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2655(i)TS7 [filesys.ts::fs.err.report][filesys.ts] [PDTS] Clarify Error reportingYes
2613(i)NAD7 [filesys.ts::fs.err.report][filesys.ts] [PDTS] Missing actual error conditions thrownYes

Section filesys.ts 8 (13 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2650(i)TS8 [filesys.ts::class.path][filesys.ts] [PDTS]path::compare(const string& s) wrong argument typeYes
2642(i)NAD8 [filesys.ts::class.path][filesys.ts] [PDTS]class path should have defaulted constructors/destructor/assignments.Yes
2643(i)Dup8 [filesys.ts::class.path][filesys.ts] [PDTS]path::compare(const string&) should bepath::compare(const string_type&)Yes
2605(i)TS8.1 [filesys.ts::path.generic][filesys.ts] [PDTS] Parent of root directory unspecifiedYes
2615(i)TS8.2.2 [filesys.ts::path.type.cvt][filesys.ts] [PDTS] Missing behavior for characters with no representationYes
2614(i)TS8.4.1 [filesys.ts::path.construct][filesys.ts] [PDTS] Incorrect postconditions forpath copy/move constructorYes
2649(i)TS8.4.1 [filesys.ts::path.construct][filesys.ts] [PDTS]path anddirectory_entry move ctors should not benoexceptYes
2616(i)TS8.4.3 [filesys.ts::path.append][filesys.ts] [PDTS] Append behavior underspecified if target is emptyYes
2617(i)NAD8.4.5 [filesys.ts::path.modifiers][filesys.ts] [PDTS]path memberswap() unnecessaryYes
2648(i)TS8.4.6 [filesys.ts::path.native.obs][filesys.ts] [PDTS]path::template<class charT>string() conversion rulesYes
2646(i)NAD8.4.7 [filesys.ts::path.generic.obs][filesys.ts] [PDTS] Do we really needgeneric*?Yes
2618(i)TS8.4.10 [filesys.ts::path.query][filesys.ts] [PDTS]is_absolute() return clause confusingYes
2619(i)TS8.6.1 [filesys.ts::path.io][filesys.ts] [PDTS] Consider using quoted manipulatorsYes

Section filesys.ts 10 (3 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2659(i)NAD Editorial10 [filesys.ts::fs.enum][filesys.ts] [PDTS] Invalid expressions for bitmask typesYes
2636(i)TS10.2 [filesys.ts::enum.copy_options][filesys.ts] [PDTS]copy_options::copy_symlinks is not usedYes
2644(i)TS10.2 [filesys.ts::enum.copy_options][filesys.ts] [PDTS] enum classescopy_options andperms should be bitmask typesYes

Section filesys.ts 12 (4 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2640(i)TS12 [filesys.ts::class.directory_entry][filesys.ts] [PDTS]class directory_entry should retainoperator const path&() from V2Yes
2653(i)TS12 [filesys.ts::class.directory_entry][filesys.ts] [PDTS]directory_entry multithreading concernsYes
2621(i)TS12.3 [filesys.ts::directory_entry.obs][filesys.ts] [PDTS]directory_entry operator== needs clarificationYes
2638(i)NAD12.3 [filesys.ts::directory_entry.obs][filesys.ts] [PDTS] Make certain functionsnoexcept and droperror_code versionYes

Section filesys.ts 13 (4 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2641(i)TS13 [filesys.ts::class.directory_iterator][filesys.ts] [PDTS]directory_iterator,recursive_directory_iterator, move construct/assign should benoexceptYes
2652(i)TS13 [filesys.ts::class.directory_iterator][filesys.ts] [PDTS] Better to avoid deriving fromstd::iteratorYes
2651(i)Dup13 [filesys.ts::class.directory_iterator][filesys.ts] [PDTS]directory_iterator,recursive_directory_iterator,pointer/reference typedefs wrongYes
2622(i)TS13.1 [filesys.ts::directory_iterator.members][filesys.ts] [PDTS]directory_iterator underspecifiedYes

Section filesys.ts 15 (16 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2633(i)TS15 [filesys.ts::fs.op.funcs][filesys.ts] [PDTS]unique_path() is a security vulnerabilityYes
2623(i)NAD15 [filesys.ts::fs.op.funcs][filesys.ts] [PDTS] Request forcreate_regular_file() and/ortouch()Yes
2660(i)TS15.1 [filesys.ts::fs.op.absolute][filesys.ts] [PDTS] IncorrectThrows specification forabsolute()Yes
2637(i)TS15.2 [filesys.ts::fs.op.canonical][filesys.ts] [PDTS] All functions witherror_code arguments should benoexceptYes
2624(i)TS15.3 [filesys.ts::fs.op.copy][filesys.ts] [PDTS] Incorrect effects clause for pathcopyYes
2625(i)TS15.4 [filesys.ts::fs.op.copy_file][filesys.ts] [PDTS] Copying equivalent paths effects not specifiedYes
2645(i)TS15.7 [filesys.ts::fs.op.create_directory][filesys.ts] [PDTS]create_directory should refer toperms::all instead of PosixS_IRWXU|S_IRWXG|S_IRWXOYes
2626(i)NAD15.13 [filesys.ts::fs.op.equivalent][filesys.ts] [PDTS] Equivalence is a volatile propertyYes
2627(i)TS15.14 [filesys.ts::fs.op.file_size][filesys.ts] [PDTS] Return value ofuintmax_t on error?Yes
2647(i)TS15.25 [filesys.ts::fs.op.last_write_time][filesys.ts] [PDTS]last_write_time() uses ill-formed castYes
2658(i)TS15.25 [filesys.ts::fs.op.last_write_time][filesys.ts] [PDTS] POSIXutime() is obsolescentYes
2628(i)NAD15.25 [filesys.ts::fs.op.last_write_time][filesys.ts] [PDTS] Possiblelast_write_time() postcondition?Yes
2629(i)TS15.27 [filesys.ts::fs.op.read_symlink][filesys.ts] [PDTS] Unclear semantics ofread_symlink on errorYes
2630(i)NAD15.28 [filesys.ts::fs.op.remove][filesys.ts] [PDTS]remove() must avoid raceYes
2631(i)NAD15.30 [filesys.ts::fs.op.rename][filesys.ts] [PDTS] POSIX guarantees atomicity forrename()Yes
2632(i)TS15.36 [filesys.ts::fs.op.system_complete][filesys.ts] [PDTS]system_complete() example needs clarificationYes

Section fund.ts 3 (4 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2418(i)TS3.2.2 [fund.ts::tuple.apply][fund.ts]apply does not work with member pointersYes0
2371(i)TS3.3.1 [fund.ts::meta.type.synop][fund.ts] No template aliases defined for new type traitsYes0
2390(i)TS3.3.2 [fund.ts::meta.trans.other][fund.ts] Invocation types and rvaluesYes
2409(i)TS3.3.2 [fund.ts::meta.trans.other][fund.ts] SFINAE-friendlycommon_type/iterator_traits should be removed from the fundamental-tsYes

Section fund.ts 4 (2 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2395(i)TS4.2 [fund.ts::func.wrap.func][fund.ts]Preconditions: is defined nowhereYes2
2389(i)TS4.2.1 [fund.ts::func.wrap.func.con][fund.ts]function::operator= is over-specified and handles allocators incorrectlyYes2

Section fund.ts 5 (6 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2305(i)NAD5.3.1 [fund.ts::optional.object.ctor][fund.ts]optional forwarding construction/assignmentYes4
2282(i)Resolved5.3.3 [fund.ts::optional.object.assign][fund.ts] Incorrectis_assignable constraint inoptional::op=(U&&)Yes
2287(i)Resolved5.3.3 [fund.ts::optional.object.assign][fund.ts] Incorrect exception safety foroptional copy assignment operatorYes
2374(i)TS5.3.5 [fund.ts::optional.object.observe][fund.ts] Remarks foroptional::to_value are too restrictiveYes0
2283(i)Resolved5.9 [fund.ts::optional.comp_with_t][fund.ts]optional declares and then does not define anoperator<()Yes
2333(i)Resolved5.11 [fund.ts::optional.hash][fund.ts] Hashing disengagedoptional<T> objectsYes

Section fund.ts 6 (1 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2416(i)Resolved6.3 [fund.ts::any.class][fund.ts]std::experimental::any allocator support is unimplementableYes

Section fund.ts 8 (1 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2410(i)TS8.2.1.1 [fund.ts::memory.smartptr.shared.const][fund.ts]shared_ptr<array>'s constructor fromunique_ptr should be constrainedYes0

Section fund.ts 10 (1 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2463(i)TS10.3 [fund.ts::alg.random.sample][fund.ts] Incorrect complexity forsample() algorithmYes0

Section fund.ts.v2 3 (7 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2539(i)TS3.3.2 [fund.ts.v2::meta.trans.other][fund.ts.v2]invocation_trait definition definition doesn't work for surrogate call functionsYes
2568(i)TS3.3.3 [fund.ts.v2::meta.logical][fund.ts.v2] Specification of logical operator traits usesBaseCharacteristic, which is defined only forUnaryTypeTraits andBinaryTypeTraitsYes2
2558(i)TS3.3.3 [fund.ts.v2::meta.logical][fund.ts.v2] Logical operator traits are broken in the zero-argument caseYes0
2570(i)TS3.3.3 [fund.ts.v2::meta.logical][fund.ts.v2]conjunction anddisjunction requirements are too strictYes2
2588(i)TS3.3.3 [fund.ts.v2::meta.logical][fund.ts.v2] "Convertible tobool" requirement inconjunction anddisjunctionYes3
2517(i)TS3.7.5 [fund.ts.v2::propagate_const.assignment][fund.ts.v2] Twopropagate_const assignment operators have incorrect return typeYes0
2518(i)TS3.7.10 [fund.ts.v2::propagate_const.algorithms][fund.ts.v2] Non-memberswap forpropagate_const should call memberswapYes3

Section fund.ts.v2 4 (7 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2564(i)Resolved4.2 [fund.ts.v2::func.wrap.func][fund.ts.v2]std::experimental::function constructors taking allocator arguments may throw exceptionsYes3
2525(i)TS4.2 [fund.ts.v2::func.wrap.func][fund.ts.v2]get_memory_resource should beconst andnoexceptYes3
2575(i)TS4.2 [fund.ts.v2::func.wrap.func][fund.ts.v2]experimental::function::assign should be removedYes0
2814(i)Resolved4.2.1 [fund.ts.v2::func.wrap.func.con][fund.ts.v2]to_array should take rvalue reference as wellYes3
2527(i)TS4.2.1 [fund.ts.v2::func.wrap.func.con][fund.ts.v2]ALLOCATOR_OF forfunction::operator= has incorrect defaultYes3
2574(i)TS4.2.1 [fund.ts.v2::func.wrap.func.con][fund.ts.v2]std::experimental::function::operator=(F&&) should be constrainedYes0
2526(i)TS4.2.2 [fund.ts.v2::func.wrap.func.mod][fund.ts.v2] Incorrect precondition forexperimental::function::swapYes0

Section fund.ts.v2 5 (6 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2451(i)TS5.3 [fund.ts.v2::optional.object][fund.ts.v2]optional<T> should 'forward'T's implicit conversionsYes
2555(i)TS5.3 [fund.ts.v2::optional.object][fund.ts.v2] No handling for over-aligned types inoptionalYes0
2745(i)TS5.3 [fund.ts.v2::optional.object][fund.ts.v2] Implementability of LWG 2451Yes0
2750(i)TS5.3.1 [fund.ts.v2::optional.object.ctor][fund.ts.v2] LWG 2451 conversion constructor constraintYes0
2561(i)Resolved5.3.4 [fund.ts.v2::optional.object.swap][fund.ts.v2] Incorrect exception specifications for 'swap' in C++ Extensions for Library FundamentalsYes3
2417(i)NAD5.7 [fund.ts.v2::optional.relops][fund.ts.v2]std::experimental::optional::operator< andLessThanComparable requirementYes

Section fund.ts.v2 6 (1 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2509(i)TS6.4 [fund.ts.v2::any.nonmembers][fund.ts.v2]any_cast doesn't work with rvalue reference targets and cannot move with a value targetYes2

Section fund.ts.v2 7 (1 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2553(i)NAD7.3 [fund.ts.v2::string.view.cons][fund.ts.v2]basic_string_view substring constructorYes

Section fund.ts.v2 8 (7 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2573(i)TS8.2.1 [fund.ts.v2::memory.smartptr.shared][fund.ts.v2]std::hash<std::experimental::shared_ptr<T>> does not work for arraysYes0
2551(i)TS8.2.1.1 [fund.ts.v2::memory.smartptr.shared.const][fund.ts.v2] "Exception safety" cleanup in library fundamentals requiredYes0
2500(i)TS8.2.1.2 [fund.ts.v2::memory.smartptr.shared.obs][fund.ts.v2] fundts.memory.smartptr.shared.obs/6 should apply tocv-unqualifiedvoidYes0
2521(i)TS8.2.2.1 [fund.ts.v2::memory.smartptr.weak.const][fund.ts.v2]weak_ptr's converting move constructor should be modified as well for array supportYes2
2522(i)TS8.8 [fund.ts.v2::memory.resource.global][fund.ts.v2] Contradiction inset_default_resource specificationYes2
2516(i)TS8.12.1 [fund.ts.v2::memory.observer.ptr.overview][fund.ts.v2] Public "exposition only" members inobserver_ptrYes2
2515(i)TS8.12.6 [fund.ts.v2::memory.observer.ptr.special][fund.ts.v2] Certain comparison operators ofobserver_ptr do not match synopsisYes0

Section fund.ts.v2 10 (1 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2494(i)TS10.2 [fund.ts.v2::iterator.ostream.joiner][fund.ts.v2]ostream_joiner needsnoexceptYes0

Section fund.ts.v2 13 (2 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2792(i)TS13.1.2 [fund.ts.v2::numeric.ops.gcd][fund.ts.v2]gcd andlcm should support a wider range of input valuesYes
2733(i)TS13.1.2 [fund.ts.v2::numeric.ops.gcd][fund.ts.v2]gcd /lcm andboolYes4

Section fund.ts.v3 4 (1 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3649(i)TS4.2 [fund.ts.v3::general.feature.test][fund.ts.v3] Reinstate and bump__cpp_lib_experimental_memory_resource feature test macroYes

Section fund.ts.v3 6 (4 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3136(i)C++236.1.2.3 [fund.ts.v3::propagate_const.class_type_requirements][fund.ts.v3] LFTSv3 awkward wording inpropagate_const requirementsYes3
3812(i)New6.1.2.6 [fund.ts.v3::propagate_const.const_observers][fund.ts.v3] Incorrect constraint onpropagate_const conversion functionYes3
3413(i)C++236.1.2.8 [fund.ts.v3::propagate_const.modifiers][fund.ts.v3]propagate_const'sswap'snoexcept specification needs to be constrained and use a traitYes0
2960(i)C++236.3 [fund.ts.v3::meta][fund.ts.v3]nonesuch is insufficiently uselessYes2

Section fund.ts.v3 7 (1 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3771(i)C++237.2.1 [fund.ts.v3::func.wrap.func.overview][fund.ts.v3] remove binders typedefs fromfunctionYes

Section fund.ts.v3 8 (3 issues)

(view only non-Ready open 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
3411(i)C++238.3 [fund.ts.v3::memory.resource.syn][fund.ts.v3] Contradictory namespace rules in the Library Fundamentals TSYes3

Section fund.ts.v3 99 (3 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3134(i)Resolved99 [fund.ts.v3::meta.type.synop][fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961Yes0
3135(i)Resolved99 [fund.ts.v3::meta.type.synop][fund.ts.v3] LFTSv3 contains two redundant alias templatesYes3
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 (3 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3414(i)C++2313.7 [networking.ts::async.exec.ctx][networking.ts]service_already_exists has no usable constructorsYes0
3124(i)New13.7.5 [networking.ts::async.exec.ctx.globals][networking.ts] Unclear howexecution_context is intended to store servicesYes3
3010(i)C++2313.11.1 [networking.ts::async.uses.executor.trait][networking.ts]uses_executor says "if a typeT::executor_type exists"Yes0

Section networking.ts 16 (7 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3114(i)LEWG16 [networking.ts::buffer][networking.ts] Permit efficient composition when usingDynamicBufferYes4
3020(i)C++2316.2 [networking.ts::buffer.reqmts][networking.ts] Remove spurious nestedvalue_type buffer sequence requirementYes0
3163(i)NAD16.2 [networking.ts::buffer.reqmts][networking.ts] Buffer sequence iterator equivalencyYes
2779(i)C++2316.2.1 [networking.ts::buffer.reqmts.mutablebuffersequence][networking.ts] Relax requirements on buffer sequence iteratorsYes
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 (2 issues)

(view only non-Ready open issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3073(i)New17 [networking.ts::buffer.stream][networking.ts] (async_)read and (async_)write don't supportDynamicBuffer lvaluesYes3
3071(i)C++2317.9 [networking.ts::buffer.read.until][networking.ts]read_until still refers to "input sequence"Yes0

Section networking.ts 18 (1 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
3002(i)C++2318.9.4 [networking.ts::socket.acceptor.ops][networking.ts]basic_socket_acceptor::is_open() isn'tnoexceptYes0

Section networking.ts 19 (3 issues)

(view only non-Ready open 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
3443(i)C++2319.2.1 [networking.ts::socket.iostream.cons][networking.ts]net::basic_socket_iostream should useaddressofYes0

Section parallel.ts 99 (2 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
2538(i)NAD99 [parallel.ts::parallel.alg.general.exec][parallel.ts] Requirements on data race behavior of iterators and swap should be clarifiedYes
2541(i)Resolved99 [parallel.ts::parallel.alg.overloads][parallel.ts] Headers forExecutionPolicy algorithm overloadsYes1

Section tr1 5 (4 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
546(i)NAD5.1.1 [tr1::tr.rand.req][tr1] _Longlong and _ULonglong are integer typesYes
785(i)NAD5.1.4.5 [tr1::tr.rand.eng.disc][tr1] Random Number Requirements in TR1Yes
701(i)NAD5.2.1.1 [tr1::tr.num.sf.Lnm][tr1] assoc laguerre poly'sYes
702(i)NAD5.2.1.2 [tr1::tr.num.sf.Plm][tr1] Restriction in associated Legendre functionsYes

Section tr1 8 (2 issues)

IssueStatusSectionTitleProposed ResolutionPriorityDuplicates
568(i)NAD8.16.4 [tr1::tr.c99.cmath.over][tr1]log2 overloads missingYes
555(i)NAD Editorial8.21 [tr1::tr.c99.boolh][tr1] 8.21/1: typoYes

[8]ページ先頭

©2009-2025 Movatter.jp