C++ Standard Library Issues List (Revision R118)

Index by Section

Reference ISO/IEC IS 14882:2011(E)

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

Index by Section (non-Ready active issues only)

(view all issues)

Revised 2019-10-07 at 02:37:36 UTC

Section 6 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2506 SG1 6.9.2 [intro.multithread] Underspecification of atomics No 3

Section 16 (25 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3105 New 16 [library] T1 is convertible to T2 No 3
2949 New 16 [library] Unclear complexity requirements: space vs. time No 4
2392 New 16.3.17 [defns.ntcts] "character type" is used but not defined No 3
2136 Open 16.4.1 [structure] Postconditions vs. exceptions No 3
3193 New 16.4.1.4 [structure.specifications] Mandates: and Expects: elements are not defined for types Yes 3
3168 Open 16.4.1.4 [structure.specifications] Expects: element should be specified in one place Yes 2
2292 Tentatively Resolved 16.4.1.4 [structure.specifications] Find a better phrasing for "shall not participate in overload resolution" No 3
2999 Tentatively Resolved 16.4.2.1 [expos.only.func] §[thread.decaycopy] issue No 3
3092 Open 16.4.2.2.4 [bitmask.types] Unclear semantics of enum class bitmask types Yes 3
3285 New 16.4.2.2.6 [customization.point.object] The type of a customization point object shall satisfy semiregular Yes
2818 Open 16.5.1.1 [contents] "::std::" everywhere rule needs tweaking No 2
3240 New 16.5.2.2 [using.headers] Headers declare more than entities No
2146 Open 16.5.3.1 [utility.arg.requirements] Are reference types Copy/Move-Constructible/Assignable or Destructible? No 2
2152 LEWG 16.5.3.2 [swappable.requirements] Instances of standard container types are not swappable Yes 3
2114 Open 16.5.3.3 [nullablepointer.requirements] Incorrect "contextually convertible to bool" requirements Yes 3
3267 New 16.5.3.5 [allocator.requirements] Rebound allocators and is_always_equal Yes 4
3157 New 16.5.3.5 [allocator.requirements] Allocator destroy and fancy pointer operations must be non-throwing Yes 3
3044 New 16.5.3.5 [allocator.requirements] Strange specification of max_size() for an allocator Yes 3
2461 New 16.5.3.5 [allocator.requirements] Interaction between allocators and container exception safety guarantees No 3
3177 New 16.5.4.2.1 [namespace.std] Limit permission to specialize variable templates to program-defined types Yes 3
3142 New 16.5.4.8 [res.on.functions] std::foo<incomplete> should be ill-formed NDR Yes 3
2695 New 16.5.5.5 [member.functions] "As if" unclear in [member.functions] No 3
2414 Open 16.5.5.8 [reentrancy] Member function reentrancy should be implementation-defined Yes 3
3229 New 16.5.5.12 [res.on.exception.handling] §[res.on.exception.handling]#3 cannot apply to types with implicitly declared destructors Yes 3
2839 Open 16.5.5.15 [lib.types.movedfrom] Self-move-assignment of library types, again Yes 2

Section 17 (23 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3256 Tentatively Ready 17.3.1 [support.limits.general] Feature testing macro for constexpr algorithms Yes 0
3257 Tentatively Ready 17.3.1 [support.limits.general] Missing feature testing macro update from P0858 Yes 0
3274 Tentatively Ready 17.3.1 [support.limits.general] Missing feature test macro for <span> Yes 0
3217 New 17.3.1 [support.limits.general] <memory> and <execution> should define __cpp_lib_parallel_algorithm Yes 3
2248 New 17.3.4 [numeric.limits] numeric_limits::is_iec559 misnamed No 4
2730 Open 17.3.4 [numeric.limits] numeric_limits primary template definition No 3
2820 Open 17.4 [cstdint] Clarify <cstdint> macros Yes 3
3084 New 17.5 [support.start.term] Termination in C++ is unclear No 3
2815 New 17.5 [support.start.term] quick_exit can deadlock Yes 3
3086 New 17.6.2.1 [new.delete.single] Possible problem in §[new.delete.single] Yes 3
2737 New 17.6.2.1 [new.delete.single] Consider relaxing object size restrictions for single-object allocation functions No 3
2303 New 17.6.2.3 [new.delete.placement] Explicit instantiation of std::vector<UserType> broken? No 3
2508 New 17.6.2.4 [new.delete.dataraces] §[new.delete.dataraces] wording needs to be updated No 3
2860 Open 17.6.4 [ptr.launder] launder and base class subobjects Yes 2
2859 Open 17.6.4 [ptr.launder] Definition of reachable in [ptr.launder] misses pointer arithmetic from pointer-interconvertible object Yes 2
2398 Open 17.7.2 [type.info] type_info's destructor shouldn't be required to be virtual Yes 3
2088 Open 17.9.4 [exception.terminate] std::terminate problem No 3
2453 New 17.10 [support.initlist] §[iterator.range] and now [iterator.container] aren't available via <initializer_list> No 3
2493 New 17.10 [support.initlist] initializer_list supports incomplete classes No 4
2432 EWG 17.10 [support.initlist] initializer_list assignability Yes 2
3295 New 17.11.2 [cmp.categories] Comparison category operator== are mis-specified No
3239 New 17.11.2.2 [cmp.weakeq] Hidden friends should be specified more narrowly No
2155 Tentatively Resolved 17.13 [support.runtime] Macro __bool_true_false_are_defined should be removed No 4

Section 18 (4 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3194 New 18.4.4 [concept.convertible] ConvertibleTo prose does not match code Yes 1
3175 New 18.4.9 [concept.swappable] The CommonReference requirement of concept SwappableWith is not satisfied in the example Yes
3151 New 18.4.11 [concept.constructible] ConvertibleTo rejects conversions from array and function types Yes 3
3141 New 18.6 [concepts.object] CopyConstructible doesn't preserve source values Yes 2

Section 19 (5 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2413 New 19.3 [assertions] assert macro is overconstrained No 4
3011 Open 19.3 [assertions] Requirements for assert(E) inconsistent with C No 2
3019 New 19.5.2.4 [syserr.errcat.derived] Presentation of "program defined classes derived from error_category" [syserr.errcat.derived] unclear and contains mistakes No 3
3053 New 19.5.3.1 [syserr.errcode.overview] Prohibit error_code construction from rvalues of error_category Yes 3
3162 New 19.5.7.2 [syserr.syserr.members] system_error::system_error(error_code ec) not explicit Yes

Section 20 (84 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2153 LEWG 20.2.2 [utility.swap] Narrowing of the non-member swap contract Yes 2
2599 New 20.2.6 [declval] Library incomplete type permission phrase is unclear No 3
2289 Open 20.4.2 [pairs.pair] constexpr guarantees of defaulted functions still insufficient Yes 3
2766 New 20.4.3 [pairs.spec] Swapping non-swappable types Yes 3
3166 New 20.4.4 [pair.astuple] No such descriptive element as Value: No 3
3211 New 20.5.3.1 [tuple.cnstr] std::tuple<> should be trivially constructible Yes
2528 New 20.5.3.1 [tuple.cnstr] Order of std::tuple construction unspecified No 3
3155 Open 20.5.3.1 [tuple.cnstr] tuple<any, any>{allocator_arg_t, an_allocator} Yes 3
3121 Open 20.5.3.1 [tuple.cnstr] tuple constructor constraints for UTypes&&... overloads Yes 2
2933 New 20.5.4 [tuple.creation] PR for LWG 2773 could be clearer Yes 3
2472 New 20.5.8 [tuple.rel] Heterogeneous comparisons in the standard library can result in ambiguities No 3
532 LEWG 20.5.8 [tuple.rel] Tuple comparison Yes 348
2746 New 20.6.3 [optional.optional] Inconsistency between requirements for emplace between optional and variant No 3
2990 Open 20.6.3 [optional.optional] optional::value_type is not always a value type Yes 3
2825 LEWG 20.6.3 [optional.optional] LWG 2756 breaks class template argument deduction for optional No 2
2811 New 20.6.3.1 [optional.ctor] "Selected constructor" wording is incorrect for optional/variant/any No 3
2829 Open 20.6.3.5 [optional.observe] LWG 2740 leaves behind vacuous words No 2
2881 New 20.7.3 [variant.variant] Adopt section III of P0308R0 No 3
3215 New 20.7.3.1 [variant.ctor] variant default constructor has vague constexpr requirements Yes 2
3228 New 20.7.3.1 [variant.ctor] Surprising variant construction No 2
2833 Open 20.7.3.1 [variant.ctor] Library needs to specify what it means when it declares a function constexpr Yes 2
2991 LEWG 20.7.3.1 [variant.ctor] variant copy constructor missing noexcept(see below) Yes
3069 New 20.7.3.3 [variant.assign] Move assigning variant's subobject corrupts data Yes 3
3052 LEWG 20.7.7 [variant.visit] visit is underconstrained Yes 2
2348 Open 20.9.2 [template.bitset] charT('1') is not the wide equivalent of '1' Yes 3
2421 New 20.10.6 [ptr.align] Non-specification of handling zero size in std::align [ptr.align] No 3
3192 New 20.10.8.2 [allocator.uses.construction] §[allocator.uses.construction] functions misbehave for const types Yes 3
3170 Open 20.10.10 [default.allocator] is_always_equal added to std::allocator makes the standard library treat derived types as always equal Yes 2
2089 EWG 20.10.10.1 [allocator.members] std::allocator::construct should use uniform initialization Yes 2
3156 New 20.10.11 [specialized.algorithms] ForwardIterator should only mean forward iterator Yes 3
3063 New 20.10.11 [specialized.algorithms] Parallel algorithms in <memory> are underspecified No 3
3064 New 20.10.11 [specialized.algorithms] How do uninitialized memory algorithms obtain pointer without undefined behavior? No 3
3159 New 20.11.1.2 [unique.ptr.single] §[unique.ptr.single] requirements on deleter may be too strict No 3
2262 Open 20.11.1.2 [unique.ptr.single] Requirement for unique_ptr<T>::get_deleter()(p) to be able to destroy the unique_ptr Yes 3
2762 Open 20.11.1.2.4 [unique.ptr.single.observers] unique_ptr operator*() should be noexcept Yes 3
3018 New 20.11.3 [util.smartptr.shared] shared_ptr of function type Yes 3
2594 New 20.11.3 [util.smartptr.shared] Contradicting definition of empty shared_ptr on shared_ptr(nullptr, d) Yes 3
3233 New 20.11.3.1 [util.smartptr.shared.const] Broken requirements for shared_ptr converting constructors Yes
2906 New 20.11.3.1 [util.smartptr.shared.const] There is no ability to supply an allocator for the control block when constructing a shared_ptr from a unique_ptr No 3
2751 New 20.11.3.2 [util.smartptr.shared.dest] shared_ptr deleter not specified to observe expired weak_ptr instances No 4
3216 New 20.11.3.6 [util.smartptr.shared.create] Rebinding the allocator before calling construct/destroy in allocate_shared Yes 3
3210 New 20.11.3.6 [util.smartptr.shared.create] allocate_shared is inconsistent about removing const from the pointer passed to allocator construct and destroy Yes 3
3195 New 20.11.4.1 [util.smartptr.weak.const] What is the stored pointer value of an empty weak_ptr? Yes 2
3036 Open 20.12.3 [mem.poly.allocator.class] polymorphic_allocator::destroy is extraneous Yes 3
3237 New 20.12.3.2 [mem.poly.allocator.mem] LWG 3038 and 3190 have inconsistent PRs Yes
2848 New 20.12.5.2 [mem.res.pool.options] Pass-through threshold for pool allocator No 3
3143 New 20.12.6 [mem.res.monotonic.buffer] monotonic_buffer_resource growth policy is unclear No 2
3120 Open 20.12.6.2 [mem.res.monotonic.buffer.mem] Unclear behavior of monotonic_buffer_resource::release() Yes 2
2894 Open 20.14.4 [func.invoke] The function template std::apply() is required to be constexpr, but std::invoke() isn't Yes 3
2690 LEWG 20.14.4 [func.invoke] invoke<R> Yes
3046 New 20.14.5 [refwrap] Do not require reference_wrapper to support non-referenceable function types Yes 3
3146 New 20.14.5.5 [refwrap.helpers] Excessive unwrapping in std::ref/cref Yes 3
2491 New 20.14.7 [comparisons] std::less<T*> in constant expression Yes 3
2547 New 20.14.7 [comparisons] Container requirements (and other library text) should say "strict total order", not just "total order" No 3
2957 New 20.14.14.3 [func.bind.bind] bind's specification doesn't apply the cv-qualification of the call wrapper to the callable object Yes 3
3023 New 20.14.15 [func.memfn] Clarify unspecified call wrappers No 3
3238 New 20.14.16.2.1 [func.wrap.func.con] Insufficiently-defined behavior of std::function deduction guides Yes
2774 New 20.14.16.2.1 [func.wrap.func.con] std::function construction vs assignment Yes 3
2813 EWG 20.14.16.2.1 [func.wrap.func.con] std::function should not return dangling references Yes 2
1025 LEWG 20.14.18 [unord.hash] The library should provide more specializations for std::hash No
2290 Open 20.15 [meta] Top-level "SFINAE"-based constraints should get a separate definition in Clause 17 Yes 3
2452 Core 20.15 [meta] is_constructible, etc. and default arguments No 3
2845 New 20.15.1 [meta.rqmts] enable_if, result_of, common_type and aligned_storage do not meet the definition of TransformationTrait No 3
2939 New 20.15.2 [meta.type.synop] Some type-completeness constraints of traits are overspecified No 2
3099 New 20.15.2 [meta.type.synop] is_assignable<Incomplete&, Incomplete&> Yes
2922 LEWG 20.15.2 [meta.type.synop] The *_constant<> templates do not make use of template<auto> No
2496 New 20.15.4.3 [meta.unary.prop] Certain hard-to-avoid errors not in the immediate context are not allowed to be triggered by the evaluation of type traits No 3
2827 New 20.15.4.3 [meta.unary.prop] is_trivially_constructible and non-trivial destructors No 3
2116 Open 20.15.4.3 [meta.unary.prop] is_nothrow_constructible and destructors No 3
2077 Open 20.15.4.3 [meta.unary.prop] Further incomplete constraints for type traits No 3
2358 Open 20.15.4.3 [meta.unary.prop] Apparently-bogus definition of is_empty type trait Yes 3
3174 New 20.15.6 [meta.rel] Precondition on is_convertible is too strong Yes 3
3205 New 20.15.7.6 [meta.trans.other] decay_t in the new common_type fallback should be remove_cvref_t Yes 3
3152 New 20.15.7.6 [meta.trans.other] common_type and common_reference have flaws in common Yes 3
3266 Tentatively Ready 20.19.1 [charconv.syn] to_chars(bool) should be deleted Yes 0
3081 Open 20.19.3 [charconv.from.chars] Floating point from_chars API does not distinguish between overflow and underflow Yes 2
3082 Open 20.19.3 [charconv.from.chars] from_chars specification regarding floating point rounding is inconsistent Yes 2
3243 New 20.20.2 [format.string] std::format and negative zeroes Yes 2
3251 New 20.20.2 [format.string] Are std::format alignment specifiers applied to string arguments? Yes 2
3242 New 20.20.2.2 [format.string.std] std::format: missing rules for arg-id in width and precision Yes
3248 New 20.20.2.2 [format.string.std] std::format #b, #B, #o, #x, and #X presentation types misformat negative numbers Yes 2
3250 New 20.20.2.2 [format.string.std] std::format: # (alternate form) for NaN and inf Yes
3290 New 20.20.2.2 [format.string.std] Are std::format field widths code units, code points, or something else? Yes
3246 Tentatively Ready 20.20.5.1 [format.arg] What are the constraints on the template parameter of basic_format_arg? Yes 0

Section 21 (9 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2513 New 21.1 [strings.general] Missing requirements for basic_string::value_type No 4
2994 Open 21.2 [char.traits] Needless UB for basic_string and basic_string_view Yes 3
3085 Open 21.2.1 [char.traits.require] char_traits::copy precondition too weak Yes 2
2959 New 21.2.3.3 [char.traits.specializations.char16.t] char_traits<char16_t>::eof is a valid UTF-16 code unit No 3
3165 LEWG 21.3.2 [basic.string] All starts_with() overloads should be called "begins_with" Yes 2
2883 LEWG 21.4 [string.view] The standard library should provide string_view parameters instead or in addition for functions defined with char const * or string const & as parameter types. No
3068 LEWG 21.4.2 [string.view.template] Forbid assigning an rvalue basic_string to basic_string_view Yes 2
2237 New 21.5 [c.strings] <cuchar> macros No 4
2238 Open 21.5 [c.strings] Problematic iterator-pair constructor of containers No 3

Section 22 (35 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2307 LEWG 22 [containers] Should the Standard Library use explicit only when necessary? No 2
2884 LEWG 22 [containers] Relational operators for containers should sfinae; if the underlying type is not comparable, neither should the container be No
2885 LEWG 22 [containers] The relational operators of optional and variant completely reflect the semantics of the element types — this is inconsistent with other types in the library No
3059 New 22.2 [container.requirements] Wrong requirements for map-like associative container assignment? No 3
3028 New 22.2.1 [container.requirements.general] Container requirements tables should distinguish const and non-const variables Yes 3
2269 New 22.2.1 [container.requirements.general] Container iterators and argument-dependent lookup No 4
1521 Open 22.2.1 [container.requirements.general] Requirements on internal pointer representations in containers Yes 3
2321 Open 22.2.1 [container.requirements.general] Moving containers should (usually) be required to preserve iterators Yes 3
3297 New 22.2.3 [sequence.reqmts] Useless sequence container requirement Yes
2705 New 22.2.3 [sequence.reqmts] Questionable precondition on Sequence containers a.assign(n, t) Yes 3
2206 Open 22.2.3 [sequence.reqmts] Inaccuracy in initializer_list constructor requirements Yes 3
2743 New 22.2.4.1 [container.node.overview] p0083r3 node_handle private members missing "exposition only" comment Yes 3
3227 New 22.2.6 [associative.reqmts] Ambiguity issue for extract in ordered and unordered associative containers Yes 3
2362 New 22.2.6 [associative.reqmts] unique, associative emplace() should not move/copy the mapped_type constructor arguments when no insertion happens No 3
2844 New 22.2.6 [associative.reqmts] Stability of a_uniq.insert(i, j) No 3
2227 Open 22.2.6 [associative.reqmts] Stateful comparison objects in associative containers No 3
2215 Open 22.2.6 [associative.reqmts] (unordered) associative container functors should be CopyConstructible Yes 3
3176 New 22.2.7 [unord.req] Underspecified behavior of unordered containers when Container::key_equal differs from Pred No 2
1175 Open 22.2.7 [unord.req] unordered complexity Yes 3
2198 Open 22.2.7 [unord.req] max_load_factor(z) makes no strong guarantees, but bans useful behavior Yes 3
2189 Open 22.2.7.1 [unord.req.except] Throwing swap breaks unordered containers' state No 3
2335 New 22.3.7 [array] array<array<int, 3>, 4> should be layout-compatible with int[4][3] No 3
3219 New 22.3.7.1 [array.overview] std::array overview container requirements are incorrect Yes 3
2823 Open 22.3.7.1 [array.overview] std::array initialization is still not permissive enough Yes 3
2157 Open 22.3.7.5 [array.zero] How does std::array<T,0> initialization work when T is not default-constructible? Yes 3
3088 New 22.3.9.6 [forwardlist.ops] forward_list::merge behavior unclear when passed *this Yes 3
2997 New 22.3.10.5 [list.ops] LWG 491 and the specification of {forward_,}list::unique Yes 3
2158 Open 22.3.11.3 [vector.capacity] Conditional copy/move in std::vector Yes 3
1422 Open 22.3.12 [vector.bool] vector<bool> iterators are not random access No 3
2713 New 22.5 [unord] More missing allocator-extended constructors for unordered containers Yes 3
3189 New 22.6.5 [priority.queue] Missing requirement for std::priority_queue No 3
3161 Open 22.6.6 [stack] Container adapters mandate use of emplace_back but don't require it Yes
3203 New 22.7.3.1 [span.overview] span element access invalidation Yes 2
3255 New 22.7.3.2 [span.cons] span's array constructor is too strict Yes 2
3212 New 22.7.3.8 [span.tuple] tuple_element_t<1, const span<int, 42>> is const int Yes

Section 23 (28 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
1213 Open 23.3 [iterator.requirements] Meaning of valid and singular iterator underspecified No 4
3259 Tentatively Ready 23.3.1 [iterator.requirements.general] The definition of constexpr iterators should be adjusted Yes 0
3110 New 23.3.1 [iterator.requirements.general] Contiguous Iterators should always be Random-Access Yes 3
2375 New 23.3.1 [iterator.requirements.general] Is [iterator.requirements.general]/9 too broadly applied? No 3
3283 New 23.3.2.3 [iterator.traits] Types satisfying input_iterator but not equality_comparable look like C++17 output iterators Yes
3287 New 23.3.2.3 [iterator.traits] Exposition-only cpp17-input-iterator concept is needlessly complex Yes
3289 New 23.3.2.3 [iterator.traits] Cannot opt out of C++17 iterator-ness without also opting out of C++20 iterator-ness Yes
3247 New 23.3.3.1 [iterator.cust.move] ranges::iter_move should perform ADL-only lookup of iter_move Yes
3279 New 23.3.4.2 [iterator.concept.readable] shared_ptr<int>& does not not satisfy readable Yes 1
3277 Tentatively Ready 23.3.4.13 [iterator.concept.random.access] Pre-increment on prvalues is not a requirement of weakly_incrementable Yes 0
3284 New 23.3.4.13 [iterator.concept.random.access] random_access_iterator semantic constraints accidentally promote difference type using unary negate Yes
2962 Open 23.3.5.2 [input.iterators] Iterators of Containers of move-only types do not model InputIterator Yes 2
484 Open 23.3.5.2 [input.iterators] Convertible to T No 2
2035 Open 23.3.5.3 [output.iterators] Output iterator requirements are broken Yes 3
2038 Open 23.3.5.3 [output.iterators] Missing definition for incrementable iterator No 3
3236 New 23.3.5.6 [random.access.iterators] Random access iterator requirements lack limiting relational operators domain to comparing those from the same range Yes
3197 New 23.4.2 [iterator.operations] std::prev should not require BidirectionalIterator Yes 3
2931 Open 23.4.2 [iterator.operations] Missed optimization opportunity with single-argument std::next No 3
2858 New 23.5.1 [reverse.iterators] LWG 2472: actually an incompatibility with C++03 Yes 4
2595 New 23.5.1.1 [reverse.iterator] reverse_iterator::operator[]'s return type revisited Yes 3
3265 New 23.5.3.3 [move.iter.cons] move_iterator's conversions are more broken after P1207 Yes 2
3293 New 23.5.3.8 [move.iter.nonmember] move_iterator operator+() has incorrect constraints Yes
3188 New 23.6.3 [istreambuf.iterator] istreambuf_iterator::pointer should not be unspecified Yes 3
3107 New 23.6.3 [istreambuf.iterator] istreambuf_iterator has public exposition-only member Yes 4
2366 New 23.6.3 [istreambuf.iterator] istreambuf_iterator end-of-stream equality No 3
3108 New 23.6.3.1 [istreambuf.iterator.proxy] istreambuf_iterator::proxy::operator* should be const Yes 3
3207 Tentatively NAD 23.7 [iterator.range] N in ssize(const T (&)[N]) should be size_t Yes
2457 New 23.7 [iterator.range] std::begin() and std::end() do not support multi-dimensional arrays correctly No 3

Section 24 (11 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3258 New 24.3.1 [range.access.begin] Range access and initializer_list Yes 3
3264 New 24.4.3 [range.sized] sized_range and ranges::size redundantly use disable_sized_range Yes 1
3281 LEWG 24.5.3 [range.subrange] Conversion from pair-like types to subrange is a silent semantic promotion Yes 1
3282 LEWG 24.5.3 [range.subrange] subrange converting constructor should disallow derived to base conversions Yes 1
3292 New 24.6.3.2 [range.iota.view] iota_view is under-constrained Yes
3291 New 24.6.3.3 [range.iota.iterator] iota_view::iterator has the wrong iterator_category Yes
3280 New 24.7.4.2 [range.filter.view] View converting constructors can cause constraint recursion and are unneeded Yes 1
3286 New 24.7.6.2 [range.take.view] ranges::size is not required to be valid after a call to ranges::begin on an input range Yes
3298 New 24.7.7.2 [range.take.while.view] Range adaptors introduced by P1035 do not require viewable_range Yes
3278 New 24.7.10.2 [range.join.view] join_view<V>::iterator<true> tries to write through const join_view ptr Yes 2
3276 Tentatively Ready 24.7.11.4 [range.split.outer.value] Class split_view::outer_iterator::value_type should inherit from view_interface Yes 0

Section 25 (18 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2963 New 25 [algorithms] Algorithms with underspecified iterator requirements No 3
1238 Open 25 [algorithms] Defining algorithms taking iterator for range No 3
2173 Open 25 [algorithms] The meaning of operator + in the description of the algorithms Yes 4
3049 Open 25.2 [algorithms.requirements] Missing wording allowing algorithms to use copies of function objects as substitutes for their parameters Yes 3
3213 New 25.5.4 [alg.foreach] for_each_n and copy_n missing requirements for Size Yes 3
3178 Tentatively Resolved 25.5.10 [mismatch] std::mismatch is missing an upper bound No 0
3089 New 25.6.1 [alg.copy] copy_n should require non-overlapping ranges Yes 3
2471 Open 25.6.1 [alg.copy] copy_n's number of InputIterator increments unspecified No 3
2985 LEWG 25.6.10 [alg.reverse] std::reverse should be permitted to be vectorized Yes
2267 New 25.7.1.4 [partial.sort.copy] partial_sort_copy underspecified for ranges of two different types No 3
2741 Open 25.7.4 [alg.partitions] is_partitioned requirements need updating No 3
2973 LEWG 25.7.5 [alg.merge] inplace_merge exact comparison count complexity prohibits useful real-world optimizations Yes
3032 New 25.7.7 [alg.heap.operations] ValueSwappable requirement missing for push_heap and make_heap Yes 3
3029 Open 25.7.7.2 [pop.heap] pop_heap over-constrains input Yes 3
3061 Open 25.7.11 [alg.three.way] What is the return type of compare_3way? Yes 2
3060 New 25.9.7 [exclusive.scan] XXX_scan algorithms are specified to work with move-only T, but are specified to make N copies of T into the destination range No 2
3222 Tentatively Ready 25.9.8 [inclusive.scan] P0574R1 introduced preconditions on non-existent parameters Yes 0
3200 New 25.9.15 [numeric.ops.midpoint] midpoint should not constrain T is complete Yes 2

Section 26 (16 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2714 New 26.4.6 [complex.ops] complex stream extraction underspecified Yes 3
2846 New 26.4.9 [cmplx.over] Undefined phrase "effectively cast" Yes 3
2154 New 26.6.2.3 [rand.req.urng] What exactly does compile-time complexity imply? No 4
3150 New 26.6.2.3 [rand.req.urng] UniformRandomBitGenerator should validate min and max Yes 3
2352 New 26.6.7.1 [rand.util.seedseq] Is a default-constructed std::seed_seq intended to produce a predictable .generate()? No 2
2524 Open 26.6.8.4.2 [rand.dist.pois.exp] generate_canonical can occasionally return 1.0 No 2
2423 New 26.7.5 [template.slice.array] Missing specification slice_array, gslice_array, mask_array, indirect_array copy constructor Yes 4
2115 Open 26.7.8 [template.mask.array] Undefined behaviour for valarray assignments with mask_array index? No 4
3223 New 26.8.1 [cmath.syn] lerp should not add the "sufficient additional overloads" No 2
3234 New 26.8.1 [cmath.syn] Sufficient Additional Special Math Overloads No
2923 New 26.8.1 [cmath.syn] noexcept is inconsistently applied across headers which import components of the C standard library No 4
2847 New 26.8.1 [cmath.syn] sin(float) should call sinf(float) No 3
3093 New 26.8.2 [c.math.abs] LWG 2294/2192 missed a std::abs overload No 3
3172 New 26.8.3 [c.math.hypot3] 3-arg std::hypot is underspecified compared to the 2-arg overload Yes 3
3201 New 26.8.4 [c.math.lerp] lerp should be marked as noexcept Yes
3066 New 26.8.6 [sf.cmath] "report a domain error" in [sf.cmath]/1 is underspecified No 3

Section 27 (26 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2592 New 27.2 [time.syn] Require that chrono::duration_casts from smaller durations to larger durations do not overflow Yes 4
3123 New 27.5 [time.duration] duration constructor from representation shouldn't be effectively non-throwing Yes 3
3090 New 27.5.1 [time.duration.cons] What is §[time.duration.cons]p4's "no overflow is induced in the conversion" intended to mean? No 3
3050 Open 27.5.1 [time.duration.cons] Conversion specification problem in chrono::duration constructor Yes 3
2383 Open 27.5.8 [time.duration.literals] Overflow cannot be ill-formed for chrono::duration integer literals No 3
3125 Open 27.5.10 [time.duration.io] duration streaming precondition should be a SFINAE condition Yes 2
3260 New 27.8 [time.cal] year_month* arithmetic rejects durations convertible to years Yes 2
3273 Tentatively Ready 27.8.7.2 [time.cal.wdidx.members] Specify weekday_indexed to range of [0, 7] Yes 0
3221 Tentatively Ready 27.8.13.3 [time.cal.ym.nonmembers] Result of year_month arithmetic with months is ambiguous Yes 0
3231 Tentatively Ready 27.8.15.2 [time.cal.ymdlast.members] year_month_day_last::day specification does not cover !ok() values Yes 0
3232 Tentatively Ready 27.11.7.1 [time.zone.zonedtime.overview] Inconsistency in zoned_time deduction guides Yes 0
3294 New 27.11.7.1 [time.zone.zonedtime.overview] zoned_time deduction guides misinterprets string/char* Yes
3224 Tentatively Ready 27.11.7.2 [time.zone.zonedtime.ctor] zoned_time constructor from TimeZonePtr does not specify initialization of tp_ Yes 0
3225 Tentatively Ready 27.11.7.2 [time.zone.zonedtime.ctor] zoned_time converting constructor shall not be noexcept Yes 0
3226 New 27.11.7.2 [time.zone.zonedtime.ctor] zoned_time constructor from string_view should accept zoned_time<Duration2, TimeZonePtr2> Yes
3272 Tentatively Ready 27.12 [time.format] %I%p should parse/format duration since midnight Yes 0
3241 Tentatively Ready 27.12 [time.format] chrono-spec grammar ambiguity in §[time.format] Yes 0
3270 New 27.12 [time.format] Parsing and formatting %j with durations Yes 2
3262 New 27.12 [time.format] Formatting of negative durations is not specified Yes 2
3218 Tentatively Ready 27.13 [time.parse] Modifier for %d parse flag does not match POSIX and format specification Yes 0
3230 Tentatively Ready 27.13 [time.parse] Format specifier %y/%Y is missing locale alternative versions Yes 0
3235 Tentatively Ready 27.13 [time.parse] parse manipulator without abbreviation is not callable Yes 0
3245 Tentatively Ready 27.13 [time.parse] Unnecessary restriction on '%p' parse specifier Yes 0
3269 New 27.13 [time.parse] Parse manipulators do not specify the result of the extraction from stream Yes 2
3271 New 27.13 [time.parse] Parsing functions should save and restore stream format state Yes 3
3252 New 27.13 [time.parse] Parse locale's aware modifiers for commands are not consistent with POSIX spec Yes

Section 28 (10 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2295 New 28.3.1.2 [locale.cons] Locale name when the provided Facet is a nullptr No 3
3214 New 28.4.2.1.2 [facet.num.get.virtuals] §[facet.num.get.virtuals] doesn't say what it means for digit grouping to be consistent No 4
2381 Open 28.4.2.1.2 [facet.num.get.virtuals] Inconsistency in parsing floating point numbers Yes 2
2703 New 28.4.2.2.2 [facet.num.put.virtuals] No provision for fill-padding when boolalpha is set No 3
2702 New 28.4.2.2.2 [facet.num.put.virtuals] num_put::do_put(..., bool) performs ill-formed do_put call No 3
2117 Open 28.4.2.2.2 [facet.num.put.virtuals] ios_base manipulators should have showgrouping/noshowgrouping No 3
3275 New 28.4.5.1.2 [locale.time.get.virtuals] Why does time_get::do_get require a valid pointer when none of the others do? Yes 3
2512 Open 28.4.5.1.2 [locale.time.get.virtuals] Y2K bites; what is an "unambiguous year identifier"? No 4
2983 New 28.4.6.2.2 [locale.money.put.virtuals] money_put::do_put underspecified Yes 3
2691 New 28.4.6.3 [locale.moneypunct] money_base::space and do_put: U+0020 versus fill Yes 3

Section 29 (25 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
423 Open 29 [input.output] Effects of negative streamsize in iostreams Yes 3
2675 New 29.5.3.6 [ios.base.callback] register_callback can fail No 3
3118 New 29.5.4.2 [fpos.operations] fpos equality comparison unspecified No 4
2808 Tentatively Resolved 29.5.4.2 [fpos.operations] Requirements for fpos and stateT No 4
2832 Tentatively Resolved 29.5.4.2 [fpos.operations] §[fpos.operations] strange requirement for P(i) No 3
2214 Open 29.5.5.2 [basic.ios.cons] Clarify basic_ios::init call restrictions Yes 4
2504 New 29.6.3 [streambuf] basic_streambuf is not an abstract class No 3
2349 Open 29.7.4.2.1 [istream.formatted.reqmts] Clarify input/output function rethrow behavior Yes 3
2498 New 29.7.4.5 [istream.rvalue] operator>>(basic_istream&&, T&&) returns basic_istream&, but should probably return basic_istream&& No 3
2342 New 29.7.5.1 [ostream] User conversion to wchar_t const* or to wchar_t not invoked for operator<< Yes 4
2497 New 29.7.5.1.3 [ostream.sentry] Use of uncaught_exception() Yes 3
1203 Open 29.7.5.5 [ostream.rvalue] More useful rvalue stream insertion Yes 2
2984 New 29.7.7 [ext.manip] put_money(99) is unnecessarily undefined Yes 3
3006 New 29.8.2.1 [stringbuf.cons] Constructing a basic_stringbuf from a string — where does the allocator come from? No 3
3097 New 29.8.2.4 [stringbuf.virtuals] basic_stringbuf seekoff effects trigger undefined behavior and have contradictory returns No 3
2286 Open 29.8.2.4 [stringbuf.virtuals] stringbuf::underflow() underspecified Yes 4
3253 Tentatively Ready 29.10.2.1 [syncstream.syncbuf.overview] basic_syncbuf::basic_syncbuf() should not be explicit Yes 0
3244 Tentatively Ready 29.11.7.3 [fs.path.req] Constraints for Source in §[fs.path.req] insufficiently constrainty Yes 0
3098 New 29.11.7.4.9 [fs.path.decompose] Misleading example for filesystem::path::filename() Yes 3
2947 New 29.11.9.1 [fs.enum.path.format] Clarify several filesystem terms No 3
3078 New 29.11.11 [fs.class.directory.entry] directory_entry, directory_iterator and recursive_directory_iterator perform needless path copies No 3
3171 Open 29.11.11 [fs.class.directory.entry] LWG 2989 breaks directory_entry stream insertion Yes 2
2708 Open 29.11.13.1 [fs.rec.dir.itr.members] recursive_directory_iterator::recursion_pending() is incorrectly specified Yes 2
3057 Open 29.11.14.3 [fs.op.copy] Correct copy_options handling Yes 2
3056 New 29.11.14.4 [fs.op.copy.file] copy_file() copies which attributes? Yes 3

Section 30 (18 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2490 New 30 [re] <regex> needs lots of noexcept No 3
523 Open 30 [re] regex case-insensitive character ranges are unimplementable as specified No
2431 New 30.3 [re.req] Missing regular expression traits requirements No 3
2331 Open 30.5.1 [re.synopt] regex_constants::collate's effects are inaccurately summarized Yes 3
2338 Open 30.7 [re.traits] §[re.traits]/7 expects of locale facets something not guaranteed by [locale.facet]/4 Yes 3
3261 New 30.8 [re.regex] regex components' noexcept annotations appear broken for POCMA or throwing BidirectionalIterator No 3
3296 New 30.8 [re.regex] Inconsistent default argument for basic_regex<>::assign Yes
1396 Open 30.8 [re.regex] regex should support allocators No 1451
2137 Open 30.8.2 [re.regex.assign] Misleadingly constrained post-condition in the presence of exceptions Yes 3
3204 New 30.9 [re.submatch] sub_match::swap only swaps the base class Yes 3
3126 New 30.9 [re.submatch] There's no std::sub_match::compare(string_view) overload Yes 3
2195 Open 30.10 [re.results] Missing constructors for match_results Yes 3
2191 New 30.10.1 [re.results.const] Incorrect specification of match_results(match_results&&) Yes 4
2216 New 30.11.4 [re.alg.replace] regex_replace(basic_string) allocator handling No 3
2220 Open 30.12.2.2 [re.tokiter.comp] Under-specification of operator== for regex_token_iterator Yes 3
2986 New 30.13 [re.grammar] Handling of multi-character collating elements by the regex FSM is underspecified No 4
2987 New 30.13 [re.grammar] Relationship between traits_inst.lookup_collatename and the regex FSM is underspecified with regards to ClassAtomCollatingElement No 3
2546 New 30.13 [re.grammar] Implementability of locale-sensitive UnicodeEscapeSequence matching No 4

Section 31 (10 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3220 New 31.2 [atomics.syn] P0558 broke conforming C++14 uses of atomic shared_ptr Yes 3
2236 SG1 31.2 [atomics.syn] kill_dependency unconditionally noexcept No
3268 New 31.4 [atomics.order] memory_order::memory_order_foo broken in C++20 Yes 4
2265 Open 31.4 [atomics.order] 29.3p9 appears to rule out some acceptable executions No 4
1459 LEWG 31.4 [atomics.order] Overlapping evaluations are allowed No 1458
3249 New 31.5 [atomics.lockfree] There are no 'pointers' in §[atomics.lockfree] Yes
3263 New 31.6 [atomics.wait] Atomic waiting function calls should only be unblocked once Yes 3
3288 New 31.6 [atomics.wait] atomic<T>::notify_one is unimplementable Yes
2334 SG1 31.8.1 [atomics.types.operations] atomic's default constructor requires "uninitialized" state even for types with non-trivial default-constructor Yes
3047 New 31.8.2 [atomics.types.int] atomic compound assignment operators can cause undefined behavior when corresponding fetch_meow members don't Yes 3

Section 32 (15 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2819 New 32.2.5 [thread.req.lockable] Unspecified Return type: elements No 3
3254 New 32.3.3 [stoptoken] Strike stop_token's operator!= Yes
1484 LEWG 32.4.2 [thread.thread.class] Need a way to join a thread with a timeout No
1488 LEWG 32.5 [thread.mutex] Improve interoperability between the C++0x and C1x threads APIs No
936 LEWG 32.5.3 [thread.mutex.requirements] Mutex type overspecified No 961
961 LEWG 32.5.3 [thread.mutex.requirements] Various threading bugs #11 No 936
1493 LEWG 32.5.3 [thread.mutex.requirements] Add mutex, recursive_mutex, is_locked function No
2363 Open 32.5.3.5.1 [thread.sharedtimedmutex.class] Defect in 30.4.1.4.1 [thread.sharedtimedmutex.class] Yes 2
2731 Open 32.5.4.1 [thread.lock.guard] Existence of lock_guard<MutexTypes...>::mutex_type typedef unclear Yes 3
2530 Open 32.9.5 [futures.state] Clarify observable side effects of releasing a shared state No 3
3003 Open 32.9.6 [futures.promise] <future> still has type-erased allocators in promise Yes 2
2532 Open 32.9.6 [futures.promise] Satisfying a promise at thread exit Yes 3
2095 LEWG 32.9.6 [futures.promise] promise and packaged_task missing constructors needed for uses-allocator construction Yes 4
2202 Deferred 32.9.9 [futures.async] Missing allocator support by async No 4
3117 New 32.9.10 [futures.task] Missing packaged_task deduction guides Yes 3

Section D (7 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3109 New D.10.2 [depr.strstreambuf] strstreambuf is copyable No 4
3095 New D.10.2.3 [depr.strstreambuf.virtuals] strstreambuf refers to nonexistent member of fpos, fpos::offset Yes 4
2507 New D.16 [depr.locale.stdcvt] codecvt_mode should be a bitmask type No 3
2478 New D.17.1 [depr.conversions.string] Unclear how wstring_convert uses cvtstate No 4
2481 New D.17.1 [depr.conversions.string] wstring_convert should be more precise regarding "byte-error string" etc. No 4
2479 New D.17.2 [depr.conversions.buffer] Unclear how wbuffer_convert uses cvtstate No 4
2480 New D.17.2 [depr.conversions.buffer] Error handling of wbuffer_convert unclear No 4

Section concurr.ts 99 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2533 SG1 99 [concurr.ts::futures.unique_future] [concurr.ts] Constrain threads where future::then can run a continuation No

Section fund.ts.v2 4 (2 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2564 New 4.2 [fund.ts.v2::func.wrap.func] [fund.ts.v2] std::experimental::function constructors taking allocator arguments may throw exceptions Yes 3
2814 LEWG 4.2.1 [fund.ts.v2::func.wrap.func.con] [fund.ts.v2] to_array should take rvalue reference as well Yes 3

Section fund.ts.v2 5 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2561 New 5.3.4 [fund.ts.v2::optional.object.swap] [fund.ts.v2] Incorrect exception specifications for 'swap' in C++ Extensions for Library Fundamentals No 3

Section fund.ts.v3 3 (2 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3136 New 3.2.2.2.1 [fund.ts.v3::propagate_const.class_type_requirements] [fund.ts.v3] LFTSv3 awkward wording in propagate_const requirements Yes 3
3135 New 3.3.1 [fund.ts.v3::meta.type.synop] [fund.ts.v3] LFTSv3 contains two redundant alias templates No 3

Section fund.ts.v3 5 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3167 New 5.2 [fund.ts.v3::memory.observer.ptr] [fund.ts.v3] Does observer_ptr support function types? No 3

Section networking.ts 13 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3124 New 13.7.5 [networking.ts::async.exec.ctx.globals] [networking.ts] Unclear how execution_context is intended to store services Yes 3

Section networking.ts 16 (4 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3114 LEWG 16 [networking.ts::buffer] [networking.ts] Permit efficient composition when using DynamicBuffer Yes
3021 New 16.2.2 [networking.ts::buffer.reqmts.constbuffersequence] [networking.ts] Relax pointer equivalence requirement for ConstBufferSequence Yes 3
3072 New 16.2.4 [networking.ts::buffer.reqmts.dynamicbuffer] [networking.ts] DynamicBuffer object lifetimes underspecified Yes 3
3027 New 16.2.4 [networking.ts::buffer.reqmts.dynamicbuffer] [networking.ts] DynamicBuffer prepare exception specification Yes 3

Section networking.ts 17 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3073 New 17 [networking.ts::buffer.stream] [networking.ts] (async_)read and (async_)write don't support DynamicBuffer lvalues Yes 3