C++ Standard Library Issues List (Revision D012)

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 2017-02-06 at 04:02:38 UTC

Section 1 (1 issues)

(view all issues)

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

Section 17 (27 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2898 New 17 [library] Prefer not to use member typedefs as constructor parameters No
2925 New 17 [library] Template argument deduction is not used in the standard library No
2865 New 17 [library] Resolve all open Library issues for C++17 No
877 LEWG 17 [library] to throw() or to Throw: Nothing. Yes
2872 New 17.3 [definitions] Add definition for direct-non-list-initialization Yes
2392 New 17.3.15 [defns.ntcts] "character type" is used but not defined No 3
2890 New 17.3.16 [defns.obj.state] The definition of 'object state' applies only to class types No
2136 Open 17.4.1 [structure] Postconditions vs. exceptions No 3
2292 New 17.4.1.4 [structure.specifications] Find a better phrasing for "shall not participate in overload resolution" No 3
2692 Tentatively NAD 17.4.2.1.4 [bitmask.types] Overspecification of lvalueness of bitmask elements No 3
2818 New 17.5.1.1 [contents] "::std::" everywhere rule needs tweaking No 2
2146 Open 17.5.3.1 [utility.arg.requirements] Are reference types Copy/Move-Constructible/Assignable or Destructible? No 2
2152 LEWG 17.5.3.2 [swappable.requirements] Instances of standard container types are not swappable Yes 2
2114 Open 17.5.3.3 [nullablepointer.requirements] Incorrect "contextually convertible to bool" requirements Yes 3
2260 Tentatively Ready 17.5.3.5 [allocator.requirements] Missing requirement for Allocator::pointer Yes 3
2461 New 17.5.3.5 [allocator.requirements] Interaction between allocators and container exception safety guarantees No 3
2593 LEWG 17.5.3.5 [allocator.requirements] Moved-from state of Allocators Yes 4
2139 Open 17.5.4.2.1 [namespace.std] What is a user-defined type? Yes 4
2891 New 17.5.5 [conforming] Relax library requirements on volatile types No
2795 Tentatively Ready 17.5.5.4 [global.functions] §[global.functions] provides incorrect example of ADL use Yes
2563 New 17.5.5.5 [member.functions] LWG 2259 relaxes requirements, perhaps unintentionally No 2
2695 New 17.5.5.5 [member.functions] "As if" unclear in [member.functions] No 3
2892 New 17.5.5.6 [constexpr.functions] Relax the prohibition on libraries adding constexpr No
2414 Open 17.5.5.8 [reentrancy] Member function reentrancy should be implementation-defined Yes 3
2866 New 17.5.5.11 [derivation] Incorrect derived classes constraints No
2867 New 17.5.5.12 [res.on.exception.handling] Bad footnote about explicit exception-specification No
2839 New 17.5.5.15 [lib.types.movedfrom] Self-move-assignment of library types, again Yes 2

Section 18 (21 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2248 New 18.3.2 [limits] numeric_limits::is_iec559 misnamed No 4
2730 Open 18.3.2.1 [limits.numeric] numeric_limits primary template definition No 3
2820 New 18.4 [cstdint] Clarify <cstdint> macros No 3
2764 New 18.4.1 [cstdint.syn] Are <cstddint> macros optional? No 3
2815 New 18.5 [support.start.term] quick_exit can deadlock Yes 3
2368 Open 18.6.2 [new.delete] Replacing global operator new No 2
2737 New 18.6.2.1 [new.delete.single] Consider relaxing object size restrictions for single-object allocation functions No 3
2303 New 18.6.2.3 [new.delete.placement] Explicit instantiation of std::vector<UserType> broken? No 3
2508 New 18.6.2.4 [new.delete.dataraces] §[new.delete.dataraces] wording needs to be updated No 3
2821 New 18.6.4 [ptr.launder] std::launder() should be marked as [[nodiscard]] No 3
2859 New 18.6.4 [ptr.launder] Definition of reachable in [ptr.launder] misses pointer arithmetic from pointer-interconvertible object Yes
2860 New 18.6.4 [ptr.launder] launder and base class subobjects Yes
2398 Open 18.7.2 [type.info] type_info's destructor shouldn't be required to be virtual Yes 3
2088 Open 18.8.4 [exception.terminate] std::terminate problem No 3
2855 Tentatively Ready 18.8.7 [except.nested] std::throw_with_nested("string_literal") Yes 0
2453 New 18.9 [support.initlist] §[iterator.range] and now [iterator.container] aren't available via <initializer_list> No 3
2493 New 18.9 [support.initlist] initializer_list supports incomplete classes No 4
2432 EWG 18.9 [support.initlist] initializer_list assignability Yes 2
2155 Open 18.10 [support.runtime] Macro __bool_true_false_are_defined should be removed Yes 4
2241 Tentatively Resolved 18.10 [support.runtime] <cstdalign> and #define of alignof No 2
2879 New 18.10.5 [csignal.syn] Removing C dependencies from signal handler wording No

Section 19 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2413 New 19.3 [assertions] assert macro is overconstrained No 4

Section 20 (111 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2888 New 20 [utilities] Variables of library tag types need to be inline variables No
2889 New 20 [utilities] Mark constexpr global variables as inline No
2893 New 20 [utilities] Parsing Hexadecimally in P0067R4 No
1289 LEWG 20.2 [utility] Generic casting requirements for smart pointers Yes
2800 New 20.2.2 [utility.swap] constexpr swap No 3
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
2899 New 20.5 [tuple] is_(nothrow_)move_constructible and tuple, optional and unique_ptr No
2796 Review 20.5.1 [tuple.general] tuple should be a literal type Yes 2
2446 LEWG 20.5.1 [tuple.general] Unspecialized std::tuple_size should be defined Yes
2528 New 20.5.2.1 [tuple.cnstr] Order of std::tuple construction unspecified No 3
2419 LEWG 20.5.2.1 [tuple.cnstr] Clang's libc++ extension to std::tuple No
1201 LEWG 20.5.2.4 [tuple.creation] Do we always want to unwrap ref-wrappers in make_tuple Yes
2472 New 20.5.2.8 [tuple.rel] Heterogeneous comparisons in the standard library can result in ambiguities No 3
532 LEWG 20.5.2.8 [tuple.rel] Tuple comparison Yes 348
2862 New 20.6 [optional] LWG 2756 should be accepted No
2857 LEWG 20.6 [optional] {variant,optional,any}::emplace should return the constructed value Yes 1
2900 New 20.6.3 [optional.optional] The copy and move constructors of optional are not constexpr Yes
2746 New 20.6.3 [optional.optional] Inconsistency between requirements for emplace between optional and variant No 3
2825 LEWG 20.6.3 [optional.optional] LWG 2756 breaks class template argument deduction for optional No 2
2842 Tentatively Ready 20.6.3.1 [optional.ctor] in_place_t check for optional::optional(U&&) should decay U Yes 0
2811 New 20.6.3.1 [optional.ctor] "Selected constructor" wording is incorrect for optional/variant/any No 3
2829 New 20.6.3.5 [optional.observe] LWG 2740 leaves behind vacuous words No 2
2806 New 20.6.5 [optional.bad.access] Base class of bad_optional_access Yes 1
2881 New 20.7.2 [variant.variant] Adopt section III of P0308R0 No
2901 New 20.7.2 [variant.variant] Variants cannot properly support allocators No
2902 New 20.7.2 [variant.variant] variant should only support complete types Yes
2882 New 20.7.2.1 [variant.ctor] Clarify variant construction No
2903 New 20.7.2.1 [variant.ctor] The form of initialization for the emplace-constructors is not specified No
2833 New 20.7.2.1 [variant.ctor] Library needs to specify what it means when it declares a function constexpr No 2
2904 New 20.7.2.3 [variant.assign] Make variant move-assignment more exception safe No
2868 New 20.8.2 [any.bad_any_cast] Missing specification of bad_any_cast::what() Yes
2789 Tentatively Ready 20.8.3 [any.class] Equivalence of contained objects Yes 0
2768 Tentatively Ready 20.8.4 [any.nonmembers] any_cast and move semantics Yes 0
2769 Tentatively Ready 20.8.4 [any.nonmembers] Redundant const in the return type of any_cast(const any&) Yes 0
2348 Open 20.9 [template.bitset] charT('1') is not the wide equivalent of '1' Yes 3
1112 LEWG 20.9 [template.bitset] bitsets and new style for loop Yes
2421 New 20.10.5 [ptr.align] Non-specification of handling zero size in std::align [ptr.align] No 3
2089 EWG 20.10.9.1 [allocator.members] std::allocator::construct should use uniform initialization Yes 2
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
2905 New 20.11.1.2.1 [unique.ptr.single.ctor] is_constructible_v<unique_ptr<P, D>, P, D const &> should be false when D is not copy constructible No
2801 New 20.11.1.2.1 [unique.ptr.single.ctor] Default-constructibility of unique_ptr Yes 2
2762 LEWG 20.11.1.2.4 [unique.ptr.single.observers] unique_ptr operator*() should be noexcept Yes 3
933 LEWG 20.11.1.2.5 [unique.ptr.single.modifiers] Unique_ptr defect No
2864 New 20.11.2 [util.smartptr] Merge shared_ptr changes from Library Fundamentals to C++17 No
2594 New 20.11.2.2 [util.smartptr.shared] Contradicting definition of empty shared_ptr on shared_ptr(nullptr, d) Yes 3
2873 New 20.11.2.2 [util.smartptr.shared] Add noexcept to several shared_ptr related functions No
1031 LEWG 20.11.2.2 [util.smartptr.shared] Need shared_ptr conversion to a unique_ptr No
1406 LEWG 20.11.2.2 [util.smartptr.shared] Support hashing smart-pointers based on owner Yes
2906 New 20.11.2.2.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
2802 New 20.11.2.2.1 [util.smartptr.shared.const] shared_ptr constructor requirements for a deleter No 2
2874 New 20.11.2.2.1 [util.smartptr.shared.const] Constructor shared_ptr::shared_ptr(Y*) should be constrained No
2875 New 20.11.2.2.1 [util.smartptr.shared.const] shared_ptr::shared_ptr(Y*, D, […]) constructors should be constrained No
2876 New 20.11.2.2.1 [util.smartptr.shared.const] shared_ptr::shared_ptr(const weak_ptr<Y>&) constructor should be constrained No
2907 New 20.11.2.2.2 [util.smartptr.shared.dest] Semantics for destroying the deleter and the control-block of a shared_ptr are unclear No
2751 New 20.11.2.2.2 [util.smartptr.shared.dest] shared_ptr deleter not specified to observe expired weak_ptr instances No 4
2337 Tentatively NAD 20.11.2.2.5 [util.smartptr.shared.obs] shared_ptr operator*() should not be noexcept No 2
2776 New 20.11.2.2.5 [util.smartptr.shared.obs] shared_ptr unique() and use_count() No 2
2070 Open 20.11.2.2.6 [util.smartptr.shared.create] allocate_shared should use allocator_traits<A>::construct Yes 2
2908 New 20.11.2.2.7 [util.smartptr.shared.cmp] The less-than operator for shared pointers could do more No
2877 New 20.11.2.2.9 [util.smartptr.shared.cast] Strengthen meaning of "empty shared_ptr<T>" in dynamic_pointer_cast No
2179 Tentatively Resolved 20.11.2.5 [util.smartptr.enab] enable_shared_from_this and construction from raw pointers No 3
2529 Tentatively Resolved 20.11.2.5 [util.smartptr.enab] Assigning to enable_shared_from_this::__weak_this twice No 3
2843 New 20.12.2.2 [mem.res.private] Unclear behavior of std::pmr::memory_resource::do_allocate() No 3
2848 New 20.12.5.2 [mem.res.pool.options] Pass-through threshold for pool allocator No 3
2717 Tentatively NAD 20.13.4 [allocator.adaptor.members] scoped_allocator_adaptor uses forward to do move's job Yes
2511 New 20.13.4 [allocator.adaptor.members] scoped_allocator_adaptor piecewise construction does not require CopyConstructible No 3
2926 New 20.14.2 [func.require] INVOKE(f, t1, t2,... tN) and INVOKE(f, t1, t2,... tN, R) are too similar No
2894 New 20.14.3 [func.invoke] The function template std::apply() is required to be constexpr, but std::invoke() isn't No
2807 New 20.14.3 [func.invoke] std::invoke should use std::is_nothrow_callable No 3
2690 LEWG 20.14.3 [func.invoke] invoke<R> Yes
2491 New 20.14.6 [comparisons] std::less<T*> in constant expression Yes 3
2547 New 20.14.6 [comparisons] Container requirements (and other library text) should say "strict total order", not just "total order" No 3
2370 Tentatively Resolved 20.14.12.2 [func.wrap.func] Operations involving type-erased allocators should not be noexcept in std::function Yes 3
2501 Tentatively Resolved 20.14.12.2 [func.wrap.func] std::function requires POCMA/POCCA Yes 3
2502 Tentatively Resolved 20.14.12.2 [func.wrap.func] std::function does not use allocator::construct Yes 3
2850 Tentatively Ready 20.14.12.2.1 [func.wrap.func.con] std::function move constructor does unnecessary work Yes 0
2774 New 20.14.12.2.1 [func.wrap.func.con] std::function construction vs assignment No 3
2813 New 20.14.12.2.1 [func.wrap.func.con] std::function should not return dangling references Yes 2
2803 New 20.14.14 [unord.hash] hash for arithmetic, pointer and standard library types should not throw No 3
1025 LEWG 20.14.14 [unord.hash] The library should provide more specializations for std::hash No
1317 LEWG 20.14.14 [unord.hash] make_hash Yes
2863 New 20.14.15 [func.default.traits] Undo default_order changes of maps and sets No
2290 Open 20.15 [meta] Top-level "SFINAE"-based constraints should get a separate definition in Clause 17 Yes 3
1120 LEWG 20.15 [meta] New type trait - remove_all No
2040 LEWG 20.15 [meta] Missing type traits related to is_convertible Yes
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
2871 New 20.15.2 [meta.type.synop] User specializations of type traits should be ill-formed Yes
2922 New 20.15.2 [meta.type.synop] The *_constant<> templates do not make use of template<auto> No
2927 New 20.15.2 [meta.type.synop] Encoding a functor and argument types as a function signature for is_callable and result_of is fragile No
2928 New 20.15.2 [meta.type.synop] is_callable is not a good name No
2797 New 20.15.2 [meta.type.synop] Trait precondition violations Yes 2
2910 New 20.15.2 [meta.type.synop] Template deduction and integral_constant Yes
2911 New 20.15.4.3 [meta.unary.prop] An is_aggregate type trait is needed Yes
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
2077 Open 20.15.4.3 [meta.unary.prop] Further incomplete constraints for type traits No 3
2116 Open 20.15.4.3 [meta.unary.prop] is_nothrow_constructible and destructors No 3
2358 Open 20.15.4.3 [meta.unary.prop] Apparently-bogus definition of is_empty type trait Yes 3
2895 New 20.15.6 [meta.rel] Passing function types to result_of and is_callable No
2569 Open 20.15.8 [meta.logical] conjunction and disjunction requirements are too strict Yes 2
2587 Open 20.15.8 [meta.logical] "Convertible to bool" requirement in conjunction and disjunction Yes 3
1121 LEWG 20.16.4 [ratio.arithmetic] Support for multiple arguments Yes
2592 New 20.17.2 [time.syn] Require that chrono::duration_casts from smaller durations to larger durations do not overflow Yes 4
2912 New 20.17.5 [time.duration] Add a deduction guide for class template duration Yes
2383 Open 20.17.5.8 [time.duration.literals] Overflow cannot be ill-formed for chrono::duration integer literals No 3
935 LEWG 20.17.7 [time.clock] clock error handling needs to be specified Yes
2909 New 20.19.3 [execpol.type] User specializations of is_execution_policy should be ill-formed No

Section 21 (17 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2841 New 21 [strings] Use of "Equivalent to" in [strings] No 3
2513 New 21.1 [strings.general] Missing requirements for basic_string::value_type No 4
2232 LEWG 21.2.3 [char.traits.specializations] [CD] The char_traits specializations should declare their length(), compare(), and find() members constexpr Yes
2318 New 21.3.1 [basic.string] basic_string's wording has confusing relics from the copy-on-write era No 4
2836 New 21.3.1 [basic.string] More string operations should be noexcept Yes 2
2391 Tentatively Resolved 21.3.1 [basic.string] basic_string is missing non-const data() Yes 3
2861 New 21.3.1.1 [string.require] basic_string should require that charT match traits::char_type Yes
2151 Open 21.3.1.1 [string.require] basic_string<>::swap semantics ignore allocators No 3
2834 Tentatively Ready 21.3.1.4 [string.capacity] Resolution LWG 2223 is missing wording about end iterators Yes 0
2788 New 21.3.1.6.2 [string.append] basic_string range mutators unintentionally require a default constructible allocator Yes 2
2757 Tentatively Resolved 21.3.1.6.4 [string.insert] std::string{}.insert(3, "ABCDE", 0, 1) is ambiguous Yes 1
2852 New 21.3.2.2 [string.operator==] Specifications of operator== for std::basic_strings and std::basic_string_views are difficult to conform to Yes 2
2883 New 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
2780 LEWG 21.4 [string.view] basic_string_view::copy is missing constexpr Yes 2
2826 Tentatively Ready 21.4.2.2 [string.view.iterators] string_view iterators use old wording Yes 0
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 (17 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
708 LEWG 22 [localization] Locales need to be per thread and updated for POSIX changes No
2295 New 22.3.1.2 [locale.cons] Locale name when the provided Facet is a nullptr No 3
2478 New 22.3.3.2.2 [conversions.string] Unclear how wstring_convert uses cvtstate No 4
2481 New 22.3.3.2.2 [conversions.string] wstring_convert should be more precise regarding "byte-error string" etc. No 4
2226 LEWG 22.3.3.2.2 [conversions.string] wstring_convert methods do not take allocator instance Yes
2854 LEWG 22.3.3.2.2 [conversions.string] wstring_convert provides no indication of incomplete input or output No 3
2479 New 22.3.3.2.3 [conversions.buffer] Unclear how wbuffer_convert uses cvtstate No 4
2480 New 22.3.3.2.3 [conversions.buffer] Error handling of wbuffer_convert unclear No 4
2381 Open 22.4.2.1.2 [facet.num.get.virtuals] Inconsistency in parsing floating point numbers Yes 2
2702 New 22.4.2.2.2 [facet.num.put.virtuals] num_put::do_put(..., bool) performs ill-formed do_put call No 3
2703 New 22.4.2.2.2 [facet.num.put.virtuals] No provision for fill-padding when boolalpha is set No 3
2117 Open 22.4.2.2.2 [facet.num.put.virtuals] ios_base manipulators should have showgrouping/noshowgrouping No 3
2512 Open 22.4.5.1.2 [locale.time.get.virtuals] Y2K bites; what is an "unambiguous year identifier"? No 4
2691 New 22.4.6.3 [locale.moneypunct] money_base::space and do_put: U+0020 versus fill Yes 3
2896 New 22.5 [locale.stdcvt] The contents of <codecvt> are underspecified No
2507 New 22.5 [locale.stdcvt] codecvt_mode should be a bitmask type No 3
2869 New 22.5 [locale.stdcvt] Deprecate sub-clause [locale.stdcvt] No

Section 23 (44 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2884 New 23 [containers] Relational operators for containers should sfinae; if the underlying type is not comparable, neither should the container be No
2885 New 23 [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
2913 New 23 [containers] Containers need deduction guides No
2307 Open 23 [containers] Should the Standard Library use explicit only when necessary? No 2
1242 LEWG 23 [containers] Enable SCARY iterators Yes
760 Tentatively NAD 23.2 [container.requirements] The emplace issue Yes 2
2794 Tentatively Ready 23.2.1 [container.requirements.general] Missing requirements for allocator pointers Yes 0
2269 New 23.2.1 [container.requirements.general] Container iterators and argument-dependent lookup No 4
2321 Open 23.2.1 [container.requirements.general] Moving containers should (usually) be required to preserve iterators Yes 2
1521 LEWG 23.2.1 [container.requirements.general] Requirements on internal pointer representations in containers Yes
2705 New 23.2.3 [sequence.reqmts] Questionable precondition on Sequence containers a.assign(n, t) Yes 3
2206 Open 23.2.3 [sequence.reqmts] Inaccuracy in initializer_list constructor requirements No 3
2743 New 23.2.4.1 [container.node.overview] p0083r3 node_handle private members missing "exposition only" comment No 3
2362 New 23.2.6 [associative.reqmts] unique, associative emplace() should not move/copy the mapped_type constructor arguments when no insertion happens No 3
2772 New 23.2.6 [associative.reqmts] Inconsistency in the insert(node) interface No 2
2844 New 23.2.6 [associative.reqmts] Stability of a_uniq.insert(i, j) No 3
2215 Open 23.2.6 [associative.reqmts] (unordered) associative container functors should be CopyConstructible Yes 3
2227 Open 23.2.6 [associative.reqmts] Stateful comparison objects in associative containers No 3
2430 LEWG 23.2.6 [associative.reqmts] Heterogeneous container lookup should be enabled using meta-function instead of nested type No
1041 Tentatively Resolved 23.2.6 [associative.reqmts] Add associative/unordered container functions that allow to extract elements Yes
1175 Open 23.2.7 [unord.req] unordered complexity Yes 3
2198 Open 23.2.7 [unord.req] max_load_factor(z) makes no strong guarantees, but bans useful behavior Yes 3
1188 LEWG 23.2.7 [unord.req] Unordered containers should have a minimum load factor as well as a maximum Yes
2831 LEWG 23.2.7 [unord.req] Equality can be defined when Hash function objects have different behaviour Yes
2189 Open 23.2.7.1 [unord.req.except] Throwing swap breaks unordered containers' state No 3
2914 New 23.3.2 [array.syn] std::array does not support class-template deduction from initializers Yes
2335 New 23.3.7 [array] array<array<int, 3>, 4> should be layout-compatible with int[4][3] No 3
851 LEWG 23.3.7 [array] simplified array construction Yes
2443 Tentatively Resolved 23.3.7 [array] std::array member functions should be constexpr Yes
2897 New 23.3.7.1 [array.overview] array::iterator and array::const_iterator should be literal types No
2823 New 23.3.7.1 [array.overview] std::array initialization is still not permissive enough Yes 2
2157 Open 23.3.7.8 [array.zero] How does std::array<T,0> initialization work when T is not default-constructible? Yes 3
2824 Tentatively Ready 23.3.10.5 [list.ops] list::sort should say that the order of elements is unspecified if an exception is thrown Yes 0
1184 LEWG 23.3.11 [vector] Feature request: dynamic bitset No
2158 Open 23.3.11.3 [vector.capacity] Conditional copy/move in std::vector Yes 2
2853 Tentatively Ready 23.3.11.5 [vector.modifiers] Possible inconsistency in specification of erase in [vector.modifiers] Yes 0
2256 New 23.3.11.5 [vector.modifiers] On vector iterator invalidation No 3
2449 New 23.3.11.5 [vector.modifiers] vector::insert invalidates end()? No 3
2164 Open 23.3.11.5 [vector.modifiers] What are the semantics of vector.emplace(vector.begin(), vector.back())? No 2
1422 LEWG 23.3.12 [vector.bool] vector<bool> iterators are not random access No
839 Tentatively Resolved 23.4 [associative] Maps and sets missing splice operation Yes
2713 New 23.5 [unord] More missing allocator-extended constructors for unordered containers Yes 3
2915 New 23.6 [container.adaptors] The three container adapters should each have a deduction guide No
2783 New 23.6.4.1 [queue.defn] stack::emplace() and queue::emplace() should return decltype(auto) Yes 2

Section 24 (17 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
1213 Open 24.2 [iterator.requirements] Meaning of valid and singular iterator underspecified No 4
2375 New 24.2.1 [iterator.requirements.general] Is [iterator.requirements.general]/9 too broadly applied? No 3
484 LEWG 24.2.3 [input.iterators] Convertible to T No
2035 Open 24.2.4 [output.iterators] Output iterator requirements are broken Yes 3
2038 Open 24.2.4 [output.iterators] Missing definition for incrementable iterator No 3
1320 LEWG 24.3 [iterator.synopsis] Header for iter_swap Yes
2858 New 24.5.1 [reverse.iterators] LWG 2472: actually an incompatibility with C++03 Yes
2208 Tentatively Resolved 24.5.1 [reverse.iterators] std::reverse_iterator should be a literal type Yes 3
2595 New 24.5.1.1 [reverse.iterator] reverse_iterator::operator[]'s return type revisited Yes 3
1052 LEWG 24.5.1.3.5 [reverse.iter.opref] reverse_iterator::operator-> should also support smart pointers Yes 2775
2916 New 24.5.2 [insert.iterators] Insert iterators should each have an instantiation guide to initialize from a container Yes
2804 Tentatively Ready 24.6.1.1 [istream.iterator.cons] Unconditional constexpr default constructor for istream_iterator Yes 0
2878 New 24.6.1.1 [istream.iterator.cons] Missing DefaultConstructible requirement for istream_iterator default constructor Yes
2790 Review 24.6.3 [istreambuf.iterator] Missing specification of istreambuf_iterator::operator-> Yes 3
2366 New 24.6.3 [istreambuf.iterator] istreambuf_iterator end-of-stream equality No 3
2812 Tentatively Ready 24.7 [iterator.range] Range access is available with <string_view> Yes 0
2457 New 24.7 [iterator.range] std::begin() and std::end() do not support multi-dimensional arrays correctly No 3

Section 25 (10 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2173 New 25 [algorithms] The meaning of operator + in the description of the algorithms Yes 4
1053 LEWG 25 [algorithms] Unify algorithms with operator and function object variants No
1238 LEWG 25 [algorithms] defining algorithms taking iterator for range No
1282 LEWG 25 [algorithms] A proposal to add std::split algorithm Yes
2880 New 25.2.3 [algorithms.parallel.exec] Relax complexity specifications for non-sequenced policies No
2242 LEWG 25.4.1 [alg.copy] [uninitialized_]copy_n() defect No 2
2471 LEWG 25.4.1 [alg.copy] copy_n's number of InputIterator increments unspecified No 3
2741 New 25.4.14 [alg.partitions] is_partitioned requirements need updating Yes 3
2267 New 25.5.1.4 [partial.sort.copy] partial_sort_copy underspecified for ranges of two different types No 3
2444 Open 25.5.6.4 [sort.heap] Inconsistent complexity for std::sort_heap Yes 3

Section 26 (21 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2693 New 26.5 [complex.numbers] constexpr for various std::complex arithmetic and value operators No 3
1154 LEWG 26.5 [complex.numbers] complex should accept integral types Yes
1217 LEWG 26.5 [complex.numbers] Quaternion support No
2714 New 26.5.6 [complex.ops] complex stream extraction underspecified Yes 3
2870 New 26.5.7 [complex.value.ops] Default value of parameter theta of polar should be dependent Yes
2597 Open 26.5.8 [complex.transcendentals] std::log misspecified for complex numbers Yes 3
2846 New 26.5.9 [cmplx.over] Undefined phrase "effectively cast" No 3
2154 New 26.6.1.3 [rand.req.urng] What exactly does compile-time complexity imply? No 4
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
2924 New 26.8 [numeric.ops] An ExecutionPolicy overload for inner_product() seems impractical No
2055 LEWG 26.8 [numeric.ops] std::move in std::accumulate and other algorithms No
2918 New 26.8.5 [inner.product] Possible need for extra storage in inner_product No
2919 New 26.8.11 [adjacent.difference] The specification for adjacent_difference has baked-in sequential semantics No
2837 Tentatively Ready 26.8.13 [numeric.ops.gcd] gcd and lcm should support a wider range of input values Yes 0
2294 Tentatively Resolved 26.9 [c.math] <cstdlib> should declare abs(double) Yes 2
2923 New 26.9.1 [cmath.syn] noexcept is inconsistently applied across headers which import components of the C standard library No
2847 New 26.9.1 [cmath.syn] sin(float) should call sinf(float) No 3
2835 Tentatively Ready 26.9.6 [ctgmath.syn] LWG 2536 seems to misspecify <tgmath.h> Yes 0

Section 27 (31 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
423 LEWG 27 [input.output] effects of negative streamsize in iostreams Yes
2600 LEWG 27.5.3.5 [ios.base.storage] ios_base must store inaccessible iostate flags No
2675 New 27.5.3.6 [ios.base.callback] register_callback can fail No 3
2808 New 27.5.4.2 [fpos.operations] Requirements for fpos and stateT No 4
2832 New 27.5.4.2 [fpos.operations] §[fpos.operations] strange requirement for P(i) No 3
2214 Open 27.5.5.2 [basic.ios.cons] Clarify basic_ios::init call restrictions Yes 4
2504 New 27.6.3 [streambuf] basic_streambuf is not an abstract class No 3
255 LEWG 27.6.3 [streambuf] Why do basic_streambuf<>::pbump() and gbump() take an int? Yes
2349 Open 27.7.2.2.1 [istream.formatted.reqmts] Clarify input/output function rethrow behavior Yes 3
2499 Open 27.7.2.2.3 [istream.extractors] operator>>(basic_istream&, CharT*) makes it hard to avoid buffer overflows Yes 2
2243 New 27.7.2.3 [istream.unformatted] istream::putback problem No 3
2498 New 27.7.2.5 [istream.rvalue] operator>>(basic_istream&&, T&&) returns basic_istream&, but should probably return basic_istream&& No 3
2342 New 27.7.3.1 [ostream] User conversion to wchar_t const* or to wchar_t not invoked for operator<< Yes 4
2497 New 27.7.3.1.3 [ostream::sentry] Use of uncaught_exception() No 3
1203 LEWG 27.7.3.5 [ostream.rvalue] More useful rvalue stream insertion Yes
2286 New 27.8.2.4 [stringbuf.virtuals] stringbuf::underflow() underspecified Yes 4
2121 New 27.8.5.1 [stringstream.cons] app for string streams No 3
2676 Review 27.9 [file.streams] Provide filesystem::path overloads for File-based streams Yes 2
1150 LEWG 27.9.5 [fstream] wchar_t, char16_t and char32_t filenames No
2798 Open 27.10.8 [class.path] Definition of path in terms of a string Yes 2
2734 New 27.10.8.4.4 [path.concat] Questionable specification in [path.concat] Yes 2
2665 Open 27.10.8.4.5 [path.modifiers] remove_filename() post condition is incorrect Yes 1
2851 New 27.10.10.1 [enum.file_type] std::filesystem enum classes are now underspecified Yes 2
2677 Tentatively Resolved 27.10.12.3 [directory_entry.obs] directory_entry::status is not allowed to be cached as a quality-of-implementation issue No 2
2840 New 27.10.13.1 [directory_iterator.members] directory_iterator::increment is seemingly narrow-contract but marked noexcept Yes 2
2708 Open 27.10.14.1 [rec.dir.itr.members] recursive_directory_iterator::recursion_pending() is incorrectly specified Yes 2
2682 Open 27.10.15.3 [fs.op.copy] filesystem::copy() won't create a symlink to a directory Yes 2
2849 New 27.10.15.4 [fs.op.copy_file] Why does !is_regular_file(from) cause copy_file to report a "file already exists" error? Yes 2
2663 Tentatively Resolved 27.10.15.14 [fs.op.file_size] Enable efficient retrieval of file size from directory_entry No 2
2816 New 27.10.15.33 [fs.op.resize_file] resize_file has impossible postcondition No 3
2548 Tentatively Resolved 27.11 [c.files] Missing vfscanf from <cstdio> Yes 3

Section 28 (15 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2490 New 28 [re] <regex> needs lots of noexcept No 3
523 LEWG 28 [re] regex case-insensitive character ranges are unimplementable as specified No
2431 New 28.3 [re.req] Missing regular expression traits requirements No 3
2331 Open 28.5.1 [re.synopt] regex_constants::collate's effects are inaccurately summarized Yes 3
2338 Open 28.7 [re.traits] §[re.traits]/7 expects of locale facets something not guaranteed by [locale.facet]/4 Yes 3
1396 LEWG 28.8 [re.regex] regex should support allocators No 1451
2137 Open 28.8.3 [re.regex.assign] Misleadingly constrained post-condition in the presence of exceptions Yes 3
2195 Open 28.10 [re.results] Missing constructors for match_results Yes 3
2183 New 28.10.1 [re.results.const] Muddled allocator requirements for match_results constructors No 3
2184 New 28.10.1 [re.results.const] Muddled allocator requirements for match_results assignments No 3
2191 New 28.10.1 [re.results.const] Incorrect specification of match_results(match_results&&) No 4
2216 New 28.11.4 [re.alg.replace] regex_replace(basic_string) allocator handling No 3
2220 New 28.12.2.2 [re.tokiter.comp] Under-specification of operator== for regex_token_iterator No 2
2546 New 28.13 [re.grammar] Implementability of locale-sensitive UnicodeEscapeSequence matching No 4
2343 Tentatively Resolved 28.13 [re.grammar] Is the value of the ECMA-262 RegExp object's multiline property really false? Yes 2

Section 29 (6 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2236 SG1 29.2 [atomics.syn] kill_dependency unconditionally noexcept No
2265 Open 29.3 [atomics.order] 29.3p9 appears to rule out some acceptable executions No 4
1459 LEWG 29.3 [atomics.order] Overlapping evaluations are allowed No 1458
2715 New 29.5 [atomics.types.generic] What is 'aggregate initialization syntax'? Yes 3
2424 Tentatively Resolved 29.5 [atomics.types.generic] 29.5 should state that atomic types are not trivially copyable No 2
2334 SG1 29.6.5 [atomics.types.operations.req] atomic's default constructor requires "uninitialized" state even for types with non-trivial default-constructor Yes

Section 30 (19 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2819 New 30.2.5 [thread.req.lockable] Unspecified Return type: elements No 3
1484 LEWG 30.3.1 [thread.thread.class] Need a way to join a thread with a timeout No
1488 LEWG 30.4 [thread.mutex] Improve interoperability between the C++0x and C1x threads APIs No
936 LEWG 30.4.1 [thread.mutex.requirements] Mutex type overspecified No 961
961 LEWG 30.4.1 [thread.mutex.requirements] Various threading bugs #11 No 936
1493 LEWG 30.4.1 [thread.mutex.requirements] Add mutex, recursive_mutex, is_locked function No
2363 Open 30.4.1.5.1 [thread.sharedtimedmutex.class] Defect in 30.4.1.4.1 [thread.sharedtimedmutex.class] Yes 2
2731 New 30.4.2.1 [thread.lock.guard] Existence of lock_guard<MutexTypes...>::mutex_type typedef unclear Yes 3
1499 LEWG 30.5 [thread.condition] Condition variables preclude wakeup optimization No
2530 Open 30.6.4 [futures.state] Clarify observable side effects of releasing a shared state No 3
2532 Open 30.6.5 [futures.promise] Satisfying a promise at thread exit Yes 3
2095 LEWG 30.6.5 [futures.promise] promise and packaged_task missing constructors needed for uses-allocator construction Yes 4
2412 SG1 30.6.5 [futures.promise] promise::set_value() and promise::get_future() should not race Yes
2920 New 30.6.7 [futures.shared_future] Add a deduction guide for creating a shared_future from a future rvalue Yes
2799 New 30.6.7 [futures.shared_future] noexcept-specifications in shared_future Yes 2
2856 New 30.6.8 [futures.async] std::async should be marked as [[nodiscard]] No 2
2202 Deferred 30.6.8 [futures.async] Missing allocator support by async No 4
2921 New 30.6.9 [futures.task] packaged_task and type-erased allocators Yes
2245 Review 30.6.9.1 [futures.task.members] packaged_task::reset() memory allocation Yes 3

Section 99 (5 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2886 New 99 [section.ref.here] Keep the empty() functions in variant No
2887 New 99 [section.ref.here] Revert the changes from P0156R0: variadic lock_guard No
2917 New 99 [algorithm] Parallel algorithms cannot easily work with InputIterators No
1235 LEWG 99 [rand.concept.dist] Issue with C++0x random number proposal No
2505 Tentatively Resolved 99 [auto.ptr.conv] auto_ptr_ref creation requirements underspecified Yes 4

Section D (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2838 Tentatively Ready D.11 [depr.meta.types] is_literal_type specification needs a little cleanup Yes 0

Section concurr.ts 99 (2 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2697 Review 99 [concurr.ts::futures.unique_future] [concurr.ts] Behavior of future/shared_future unwrapping constructor when given an invalid future Yes 2
2533 SG1 99 [concurr.ts::futures.unique_future] [concurr.ts] Constrain threads where future::then can run a continuation No

Section fund.ts.v2 99 (4 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2561 New 99 [fund.ts.v2::optional.object.swap] [fund.ts.v2] Incorrect exception specifications for 'swap' in C++ Extensions for Library Fundamentals No 3
2564 New 99 [fund.ts.v2::func.wrap.func] [fund.ts.v2] std::experimental::function constructors taking allocator arguments may throw exceptions Yes 3
2417 LEWG 99 [fund.ts.v2::optional.relops] [fund.ts.v2] std::experimental::optional::operator< and LessThanComparable requirement No
2814 LEWG 99 [fund.ts.v2::func.wrap.func.con] [fund.ts.v2] to_array should take rvalue reference as well Yes

Section networking.ts 99 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2779 LEWG 99 [networking.ts::buffer.reqmts.mutablebuffersequence] [networking.ts] Relax strict aliasing requirement for user-defined buffer sequence iterators Yes

Section parallel.ts 99 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2541 New 99 [parallel.ts::parallel.alg.overloads] [parallel.ts] Headers for ExecutionPolicy algorithm overloads No 1