C++ Standard Library Issues List (Revision R92)

Index by Section

Reference ISO/IEC IS 14882:2011(E)

This document is the Index by Section for the Library Active Issues List, Library Defect Reports List, and Library Closed Issues List.

Index by Section

(view only non-Ready open issues)

Revised 2015-04-10 at 03:04:29 UTC

Section 17 (22 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
1173 Open 17 [library] "Equivalence" wishy-washiness No 3
2392 New 17.3 [defns.ntcts] "character type" is used but not defined No 3
2136 Open 17.5.1 [structure] Postconditions vs. exceptions No 3
2292 New 17.5.1.4 [structure.specifications] Find a better phrasing for "shall not participate in overload resolution" No 3
2380 Review 17.6.1.2 [headers] May <cstdlib> provide long ::abs(long) and long long ::abs(long long)? Yes 2
2146 Open 17.6.3.1 [utility.arg.requirements] Are reference types Copy/Move-Constructible/Assignable or Destructible? No 2
2152 Open 17.6.3.2 [swappable.requirements] Instances of standard container types are not swappable No 2
2114 Open 17.6.3.3 [nullablepointer.requirements] Incorrect "contextually convertible to bool" requirements Yes 3
2384 New 17.6.3.5 [allocator.requirements] Allocator's deallocate function needs better specification Yes 3
2461 New 17.6.3.5 [allocator.requirements] Interaction between allocators and container exception safety guarantees No 3
2466 New 17.6.3.5 [allocator.requirements] allocator_traits::max_size() default behavior is incorrect Yes 3
2178 Open 17.6.3.5 [allocator.requirements] Allocator requirement changes not mentioned Annex C No 3
2260 Open 17.6.3.5 [allocator.requirements] Missing requirement for Allocator::pointer Yes 3
2447 Open 17.6.3.5 [allocator.requirements] Allocators and volatile-qualified value types Yes 4
2139 Open 17.6.4.2.1 [namespace.std] What is a user-defined type? Yes 4
2468 New 17.6.4.9 [res.on.arguments] Self-move-assignment of library types No 2
2224 Open 17.6.4.10 [res.on.objects] Ambiguous status of access to non-live objects Yes 2
2373 New 17.6.5 [conforming] Make new entities and names in namespace std conforming extensions No 3
2133 Open 17.6.5.4 [global.functions] Attitude to overloaded comma for iterators Yes 3
2259 New 17.6.5.5 [member.functions] Issues in 17.6.5.5 rules for member functions Yes 3
2414 Open 17.6.5.8 [reentrancy] Member function reentrancy should be implementation-defined Yes 3
1526 Open 17.6.5.9 [res.on.data.races] C++ should not impose thread safety requirements on C99 library implementations Yes 3

Section 18 (14 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2251 New 18.2 [support.types] C++ library should define ssize_t Yes 3
2248 New 18.3.2 [limits] numeric_limits::is_iec559 misnamed No 4
2422 New 18.3.2.4 [numeric.limits.members] std::numeric_limits<T>::is_modulo description: "most machines" errata Yes 2
2368 New 18.6.1 [new.delete] Replacing global operator new No 2
2303 New 18.6.1.3 [new.delete.placement] Explicit instantiation of std::vector<UserType> broken? No 3
2398 New 18.7.1 [type.info] type_info's destructor shouldn't be required to be virtual Yes 2
2088 Open 18.8.3 [exception.terminate] std::terminate problem No 3
2111 Review 18.8.3.4 [terminate] Which unexpected/terminate handler is called from the exception handling runtime? Yes 3
2483 New 18.8.6 [except.nested] throw_with_nested() should use is_final Yes
2484 New 18.8.6 [except.nested] rethrow_if_nested() is doubly unimplementable Yes
2432 New 18.9 [support.initlist] initializer_list assignability Yes 2
2453 New 18.9 [support.initlist] [iterator.range] and now [iterator.container] aren't available via <initializer_list> No 3
2155 Open 18.10 [support.runtime] Macro __bool_true_false_are_defined should be removed No 4
2241 Open 18.10 [support.runtime] <cstdalign> and #define of alignof No 2

Section 19 (2 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2413 New 19.3 [assertions] assert macro is overconstrained No 4
2234 Open 19.3 [assertions] assert() should allow usage in constant expressions Yes 3

Section 20 (47 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2456 New 20.2 [utility] Incorrect exception specifications for 'swap' throughout library No 1
2153 Open 20.2.2 [utility.swap] Narrowing of the non-member swap contract No 2
2388 Open 20.2.3 [utility.exchange] Handling self-assignment in the proposed library function std::exchange Yes 2
2289 New 20.3.2 [pairs.pair] constexpr guarantees of defaulted functions still insufficient Yes 3
2051 Open 20.4.2 [tuple.tuple] Explicit tuple constructors for more than one parameter No 2
2312 Open 20.4.2.1 [tuple.cnstr] tuple's constructor constraints need to be phrased more precisely Yes 2
2485 New 20.4.2.6 [tuple.elem] get() should be overloaded for const tuple&& Yes
2472 New 20.4.2.7 [tuple.rel] Heterogeneous comparisons in the standard library can result in ambiguities No
2348 New 20.6 [template.bitset] charT('1') is not the wide equivalent of '1' Yes 3
2250 New 20.6.1 [bitset.cons] Follow-up On Library Issue 2207 Yes 3
2421 New 20.7.5 [ptr.align] Non-specification of handling zero size in std::align [ptr.align] No 3
2089 EWG 20.7.9.1 [allocator.members] std::allocator::construct should use uniform initialization Yes 2
2127 Open 20.7.10 [storage.iterator] Move-construction with raw_storage_iterator Yes 3
2072 Open 20.7.11 [temporary.buffer] Unclear wording about capacity of temporary buffers Yes 3
2296 New 20.7.12.1 [specialized.addressof] std::addressof should be constexpr Yes 3
2262 New 20.8.1.2 [unique.ptr.single] Requirement for unique_ptr<T>::get_deleter()(p) to be able to destroy the unique_ptr Yes 3
2228 Review 20.8.1.2.3 [unique.ptr.single.asgn] Missing SFINAE rule in unique_ptr templated assignment Yes 3
2070 Open 20.8.2.2.6 [util.smartptr.shared.create] allocate_shared should use allocator_traits<A>::construct Yes 2
2179 Open 20.8.2.5 [util.smartptr.enab] enable_shared_from_this and construction from raw pointers No 3
2486 New 20.9.2 [func.require] mem_fn() should be required to use perfect forwarding Yes
2219 Open 20.9.2 [func.require] INVOKE-ing a pointer to member with a reference_wrapper as the object expression Yes 2
2435 New 20.9.4.4 [refwrap.invoke] reference_wrapper::operator()'s Remark should be deleted Yes 4
2450 New 20.9.6 [comparisons] (greater|less|greater_equal|less_equal)<void> do not yield a total order for pointers Yes 2
2491 New 20.9.6 [comparisons] std::less<T*> in constant expression No
2487 New 20.9.10.3 [func.bind.bind] bind() should be const-overloaded, not cv-overloaded Yes
2488 New 20.9.10.4 [func.bind.place] Placeholders should be allowed and encouraged to be constexpr Yes
2489 New 20.9.11 [func.memfn] mem_fn() should be noexcept Yes
2370 New 20.9.12.2 [func.wrap.func] Operations involving type-erased allocators should not be noexcept in std::function Yes 1
2385 New 20.9.12.2 [func.wrap.func] function::assign allocator argument doesn't make sense Yes 2
2420 New 20.9.12.2 [func.wrap.func] function<void(ArgTypes...)> does not discard the return value of the target object Yes 1
2062 Open 20.9.12.2 [func.wrap.func] Effect contradictions w/o no-throw guarantee of std::function swaps No 2
2393 Open 20.9.12.2 [func.wrap.func] std::function's Callable definition is broken Yes 2
2386 New 20.9.12.2.1 [func.wrap.func.con] function::operator= handles allocators incorrectly Yes 1
2119 Open 20.9.13 [unord.hash] Missing hash specializations for extended integer types Yes 3
2290 New 20.10 [meta] Top-level "SFINAE"-based constraints should get a separate definition in Clause 17 Yes 3
2452 Core 20.10 [meta] is_constructible, etc. and default arguments No
2336 New 20.10.4.3 [meta.unary.prop] is_trivially_constructible/is_trivially_assignable traits are always false Yes 3
2358 New 20.10.4.3 [meta.unary.prop] Apparently-bogus definition of is_empty type trait No 3
2367 New 20.10.4.3 [meta.unary.prop] pair and tuple are not correctly implemented for is_constructible with no args Yes 3
2077 Open 20.10.4.3 [meta.unary.prop] Further incomplete constraints for type traits No 3
2116 Open 20.10.4.3 [meta.unary.prop] std::swap noexcept(what?) No 3
2101 Open 20.10.7 [meta.trans] Some transformation types can produce impossible types Yes 3
2460 New 20.10.7.6 [meta.trans.other] LWG issue 2408 and value categories No 2
2465 New 20.10.7.6 [meta.trans.other] SFINAE-friendly common_type is nearly impossible to specialize correctly and regresses key functionality No 2
2397 Open 20.10.7.6 [meta.trans.other] map<K, V>::emplace and explicit V constructors No 1
2383 Open 20.12.5.8 [time.duration.literals] Overflow cannot be ill-formed for chrono::duration integer literals No 3
2476 New 20.13.1 [allocator.adaptor.syn] scoped_allocator_adaptor is not assignable Yes

Section 21 (8 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2318 New 21.4 [basic.string] basic_string's wording has confusing relics from the copy-on-write era No 4
2372 New 21.4 [basic.string] Assignment from int to std::string Yes 4
2063 Open 21.4 [basic.string] Contradictory requirements for string move assignment No 3
2151 Open 21.4.1 [string.require] basic_string<>::swap semantics ignore allocators No 3
2402 New 21.4.2 [string.cons] basic_string(const basic_string& str, size_type pos, size_type n = npos) shouldn't use Allocator() Yes 3
2475 New 21.4.5 [string.access] Allow overwriting of std::basic_string terminator with charT() to allow cleaner interoperation with legacy APIs Yes
2237 New 21.8 [c.strings] <cuchar> macros No 4
2238 Open 21.8 [c.strings] Problematic iterator-pair constructor of containers No 3

Section 22 (9 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2295 New 22.3.1.2 [locale.cons] Locale name when the provided Facet is a nullptr No 3
2394 New 22.3.1.3 [locale.members] locale::name specification unclear — what is implementation-defined? No 3
2478 New 22.3.3.2.2 [conversions.string] Unclear how wstring_convert uses cvtstate No
2481 New 22.3.3.2.2 [conversions.string] wstring_convert should be more precise regarding "byte-error string" etc. No
2479 New 22.3.3.2.3 [conversions.buffer] Unclear how wbuffer_convert uses cvtstate No
2480 New 22.3.3.2.3 [conversions.buffer] Error handling of wbuffer_convert unclear No
2381 New 22.4.2.1.2 [facet.num.get.virtuals] Inconsistency in parsing floating point numbers No 3
1169 Open 22.4.2.1.2 [facet.num.get.virtuals] num_get not fully compatible with strto* Yes 3
2117 New 22.4.2.2.2 [facet.num.put.virtuals] ios_base manipulators should have showgrouping/noshowgrouping No 5

Section 23 (28 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2307 Open 23 [containers] Should the Standard Library use explicit only when necessary? No 2
2261 New 23.2 [container.requirements] Are containers required to use their 'pointer' type internally? No 2
2269 New 23.2.1 [container.requirements.general] Container iterators and argument-dependent lookup No 4
2218 Open 23.2.1 [container.requirements.general] Unclear how containers use allocator_traits::construct() Yes 3
2254 Open 23.2.1 [container.requirements.general] [arrays.ts] Is dynarray an allocator-aware container? Yes 3
2321 Open 23.2.1 [container.requirements.general] Moving containers should (usually) be required to preserve iterators Yes 2
2206 Open 23.2.3 [sequence.reqmts] Inaccuracy in initializer_list constructor requirements No 3
2362 New 23.2.4 [associative.reqmts] unique, associative emplace() should not move/copy the mapped_type constructor arguments when no insertion happens No 3
2215 Open 23.2.4 [associative.reqmts] (unordered) associative container functors should be CopyConstructible No 3
2227 Open 23.2.4 [associative.reqmts] Stateful comparison objects in associative containers Yes 3
1175 Open 23.2.5 [unord.req] unordered complexity Yes 3
2156 Open 23.2.5 [unord.req] Unordered containers' reserve(n) reserves for n-1 elements Yes 3
2198 Open 23.2.5 [unord.req] max_load_factor(z) makes no strong guarantees, but bans useful behavior No 3
2199 Open 23.2.5 [unord.req] unordered containers are required to have an initial max load factor of 1.0 No 3
2189 Open 23.2.5.1 [unord.req.except] Throwing swap breaks unordered containers' state No 3
2335 New 23.3.2 [array] array<array<int, 3>, 4> should be layout-compatible with int[4][3] No 3
2310 Open 23.3.2.1 [array.overview] Public exposition only member in std::array No 4
2157 Open 23.3.2.8 [array.zero] How does std::array<T,0> initialization work when T is not default-constructible? Yes 3
2477 New 23.3.3.4 [deque.modifiers] Inconsistency of wordings in std::vector::erase() and std::deque::erase() Yes
2158 New 23.3.6.3 [vector.capacity] Conditional copy/move in std::vector No 2
2223 Open 23.3.6.3 [vector.capacity] shrink_to_fit effect on iterator validity Yes 2
2164 New 23.3.6.5 [vector.modifiers] What are the semantics of vector.emplace(vector.begin(), vector.back())? No 2
2256 New 23.3.6.5 [vector.modifiers] On vector iterator invalidation No 3
2449 New 23.3.6.5 [vector.modifiers] vector::insert invalidates end()? No 3
2161 New 23.4 [associative] const equivalence of std::map No 2
2274 Open 23.4.4.3 [map.access] Does map::operator[] value-initialize or default-insert a missing element? Yes 3
2469 Open 23.4.4.3 [map.access] Wrong specification of Requires clause of operator[] for map and unordered_map Yes 3
2464 New 23.4.4.4 [map.modifiers] try_emplace and insert_or_assign misspecified Yes 2

Section 24 (9 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
1213 Open 24.2 [iterator.requirements] Meaning of valid and singular iterator underspecified Yes 4
2375 New 24.2.1 [iterator.requirements.general] Is [iterator.requirements.general]/9 too broadly applied? No 3
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
2353 New 24.4.4 [iterator.operations] std::next is over-constrained Yes 4
2208 New 24.5.1 [reverse.iterators] std::reverse_iterator should be a literal type No 3
2366 New 24.6.3 [istreambuf.iterator] istreambuf_iterator end-of-stream equality No 3
2457 New 24.7 [iterator.range] std::begin() and std::end() do not support multi-dimensional arrays correctly No 3
2277 Open 24.7 [iterator.range] [arrays.ts] <dynarray> is missing in 24.7/1 Yes 3

Section 25 (6 issues)

(view only non-Ready open 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
2242 New 25.3.1 [alg.copy] [uninitialized_]copy_n() defect No 2
2471 New 25.3.1 [alg.copy] copy_n's number of InputIterator increments unspecified No
2267 New 25.4.1.4 [partial.sort.copy] partial_sort_copy underspecified for ranges of two different types No 3
2166 New 25.4.6 [alg.heap.operations] Heap property underspecified? No 3
2444 Open 25.4.6.4 [sort.heap] Inconsistent complexity for std::sort_heap Yes 3

Section 26 (11 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2326 New 26.5.1.1 [rand.req.genl] uniform_int_distribution<unsigned char> should be permitted Yes 2
2181 Open 26.5.1.2 [rand.req.seedseq] Exceptions from seed sequence operations Yes 3
2154 New 26.5.1.3 [rand.req.urng] What exactly does compile-time complexity imply? No 4
2351 New 26.5.3 [rand.eng] Does .seed() completely reset state of engine? Yes 2
2352 New 26.5.7.1 [rand.util.seedseq] Is a default-constructed std::seed_seq intended to produce a predictable .generate()? No 2
2423 New 26.6.5 [template.slice.array] Missing specification slice_array, gslice_array, mask_array, indirect_array copy constructor Yes 4
2115 Open 26.6.8 [template.mask.array] Undefined behaviour for valarray assignments with mask_array index? No 4
2079 New 26.8 [c.math] Required pow() overloads No 3
2474 New 26.8 [c.math] <cmath> functions unfriendly to integral_constant arguments Yes
2192 Open 26.8 [c.math] Validity and return type of std::abs(0u) is unclear Yes 2
2294 Open 26.8 [c.math] <cstdlib> should declare abs(double) Yes 2

Section 27 (11 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2462 New 27.5.3 [ios.base] std::ios_base::failure is overspecified Yes 3
2214 Open 27.5.5.2 [basic.ios.cons] Clarify basic_ios::init call restrictions Yes 4
2349 New 27.7.2.2.1 [istream.formatted.reqmts] Clarify input/output function rethrow behavior Yes 3
2243 New 27.7.2.3 [istream.unformatted] istream::putback problem No 3
2244 New 27.7.2.3 [istream.unformatted] Issue on basic_istream::seekg Yes 3
2328 Open 27.7.2.6 [istream.rvalue] Rvalue stream extraction should use perfect forwarding Yes 3
2221 New 27.7.3 [output.streams] No formatted output operator for nullptr 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
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
2473 New 27.9.1.5 [filebuf.virtuals] basic_filebuf's relation to C FILE semantics Yes

Section 28 (13 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2490 New 28 [re] <regex> needs lots of noexcept 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 New 28.7 [re.traits] [re.traits]/7 expects of locale facets something not guaranteed by [locale.facet]/4 Yes 3
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
2273 Open 28.11.2 [re.alg.match] regex_match ambiguity No 2
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
2343 New 28.13 [re.grammar] Is the value of the ECMA-262 RegExp object's multiline property really false? No 2

Section 29 (2 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2424 Review 29.5 [atomics.types.generic] 29.5 should state that atomic types are not trivially copyable Yes 2
2165 Core 29.5 [atomics.types.generic] std::atomic<X> requires X to be nothrow default constructible No

Section 30 (2 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2095 Open 30.6.5 [futures.promise] promise and packaged_task missing constructors needed for uses-allocator construction Yes 4
2202 Open 30.6.8 [futures.async] Missing allocator support by async No 4

Section C (1 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2201 New C.5 [diff.library] Missing macro entries from C standard library No 2

Section X (1 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2264 Open X [dynarray] [arrays.ts] std::dynarray defines its initializer-list constructor in terms of a non-existent constructor Yes 1