C++ Standard Library Issues List (Revision R85)

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 2013-10-14 at 15:10:23 UTC

Section 1 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2075 Open 1.10 [intro.multithread] Progress guarantees, lock-free property, and scheduling assumptions No 2012-11-14

Section 17 (19 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2136 Open 17.5.1 [structure] Postconditions vs. exceptions No 2012-11-14
2292 New 17.5.1.4 [structure.specifications] Find a better phrasing for "shall not participate in overload resolution" No 2013-09-23
2170 Review 17.6.3.1 [utility.arg.requirements] Aggregates cannot be DefaultConstructible Yes 2013-10-11
2146 Open 17.6.3.1 [utility.arg.requirements] Are reference types Copy/Move-Constructible/Assignable or Destructible? No 2013-05-06
2152 Open 17.6.3.2 [swappable.requirements] Instances of standard container types are not swappable No 2012-11-14
2114 Open 17.6.3.3 [nullablepointer.requirements] Incorrect "contextually convertible to bool" requirements Yes 2012-11-14
2311 New 17.6.3.5 [allocator.requirements] Allocator requirements should be further minimized Yes 2013-10-11
2260 New 17.6.3.5 [allocator.requirements] Missing requirement for Allocator::pointer Yes 2013-09-01
2263 New 17.6.3.5 [allocator.requirements] Comparing iterators and allocator pointers with different const-character No 2013-09-01
2016 Open 17.6.3.5 [allocator.requirements] Allocators must be no-throw swappable Yes 2012-11-14
2108 Open 17.6.3.5 [allocator.requirements] No way to identify allocator types that always compare equal Yes 2012-11-14
2178 Open 17.6.3.5 [allocator.requirements] Allocator requirement changes not mentioned Annex C No 2012-11-14
2129 Open 17.6.4.2.1 [namespace.std] User specializations of std::initializer_list No 2012-11-14
2139 Deferred 17.6.4.2.1 [namespace.std] What is a user-defined type? No 2012-11-14
2224 Open 17.6.4.10 [res.on.objects] Ambiguous status of access to non-live objects Yes 2013-09-01
2112 Open 17.6.5 [conforming] User-defined classes that cannot be derived from No 2012-11-14
2133 Open 17.6.5.4 [global.functions] Attitude to overloaded comma for iterators No 2013-05-06
2259 New 17.6.5.5 [member.functions] Issues in 17.6.5.5 rules for member functions No 2013-09-01
1526 Open 17.6.5.9 [res.on.data.races] C++ should not impose thread safety requirements on C99 library implementations Yes 2012-11-14

Section 18 (8 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2251 New 18.2 [support.types] C++ library should define ssize_t Yes 2013-09-29
2248 New 18.3.2 [limits] numeric_limits::is_iec559 misnamed No 2013-05-06
2303 New 18.6.1.3 [new.delete.placement] Explicit instantiation of std::vector<UserType> broken? No 2013-10-14
2302 New 18.6.1.3 [new.delete.placement] Passing null pointer to placement new Yes 2013-10-11
2088 Open 18.8.3 [exception.terminate] std::terminate problem No 2012-11-14
2111 Open 18.8.3.4 [terminate] Which unexpected/terminate handler is called from the exception handling runtime? No 2012-11-14
2241 New 18.10 [support.runtime] <cstdalign> and #define of alignof No 2013-05-06
2155 Open 18.10 [support.runtime] Macro __bool_true_false_are_defined should be removed No 2013-05-06

Section 19 (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2234 Open 19.3 [assertions] assert() should allow usage in constant expressions No 2013-05-06

Section 20 (37 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2212 Open 20.2 [utility] tuple_size for const pair request <tuple> header No 2013-05-06
2153 Open 20.2.2 [utility.swap] Narrowing of the non-member swap contract No 2013-05-06
2289 New 20.3.2 [pairs.pair] constexpr guarantees of defaulted functions still insufficient Yes 2013-09-23
2051 Open 20.4.2 [tuple.tuple] Explicit tuple constructors for more than one parameter No 2012-11-14
2312 New 20.4.2.1 [tuple.cnstr] tuple's constructor constraints need to be phrased more precisely Yes 2013-10-11
2301 New 20.4.2.4 [tuple.creation] Why is std::tie not constexpr? Yes 2013-10-11
2313 New 20.4.2.5 [tuple.helper] tuple_size should always derive from integral_constant<size_t, N> Yes 2013-10-14
2314 New 20.5.1 [intseq.general] apply() should return decltype(auto) and use decay_t before tuple_size Yes 2013-10-11
2305 Deferred 20.6.4.1 [optional.object.ctor] optional forwarding construction/assignment Yes 2013-10-11
2282 Deferred 20.6.4.3 [optional.object.assign] Incorrect is_assignable constraint in optional::op=(U&&) Yes 2013-09-26
2287 Deferred 20.6.4.3 [optional.object.assign] Incorrect exception safety for optional copy assignment operator Yes 2013-09-26
2283 Deferred 20.6.10 [optional.comp_with_t] optional declares and then does not define an operator<() Yes 2013-09-26
2333 Deferred 20.6.12 [optional.hash] Hashing disengaged optional<T> objects Yes 2013-10-14
2250 New 20.7.1 [bitset.cons] Follow-up On Library Issue 2207 No 2013-05-06
2089 Open 20.8.9.1 [allocator.members] std::allocator::construct should use uniform initialization Yes 2012-11-14
2127 Open 20.8.10 [storage.iterator] Move-construction with raw_storage_iterator Yes 2012-11-14
2072 Open 20.8.11 [temporary.buffer] Unclear wording about capacity of temporary buffers No 2012-11-14
2296 New 20.8.12.1 [specialized.addressof] std::addressof should be constexpr Yes 2013-09-25
2262 New 20.9.1.2 [unique.ptr.single] Requirement for unique_ptr<T>::get_deleter()(p) to be able to destroy the unique_ptr Yes 2013-10-14
2228 Review 20.9.1.2.3 [unique.ptr.single.asgn] Missing SFINAE rule in unique_ptr templated assignment Yes 2013-05-06
2118 Open 20.9.1.3 [unique.ptr.runtime] [CD] unique_ptr for array does not support cv qualification conversion of actual argument Yes 2013-09-24
2337 New 20.9.2.2.5 [util.smartptr.shared.obs] shared_ptr operator*() should not be noexcept Yes 2013-10-14
2070 Open 20.9.2.2.6 [util.smartptr.shared.create] allocate_shared should use allocator_traits<A>::construct Yes 2012-11-14
2315 New 20.9.2.3 [util.smartptr.weak] weak_ptr should be movable Yes 2013-10-14
2316 New 20.9.2.3.5 [util.smartptr.weak.obs] weak_ptr::lock() should be atomic Yes 2013-10-14
2179 Open 20.9.2.4 [util.smartptr.enab] enable_shared_from_this and construction from raw pointers No 2013-05-20
2219 Open 20.10.2 [func.require] INVOKE-ing a pointer to member with a reference_wrapper as the object expression Yes 2013-05-06
2233 Open 20.10.11.1 [func.wrap.badcall] bad_function_call::what() unhelpful Yes 2013-05-06
2062 Open 20.10.11.2 [func.wrap.func] Effect contradictions w/o no-throw guarantee of std::function swaps No 2012-11-14
2132 Review 20.10.11.2.1 [func.wrap.func.con] std::function ambiguity Yes 2012-12-25
2119 Open 20.10.12 [unord.hash] Missing hash specializations for extended integer types Yes 2012-11-14
2290 New 20.11 [meta] Top-level "SFINAE"-based constraints should get a separate definition in Clause 17 No 2013-09-23
2336 New 20.11.4.3 [meta.unary.prop] is_trivially_constructible/is_trivially_assignable traits are always false Yes 2013-10-14
2077 Open 20.11.4.3 [meta.unary.prop] Further incomplete constraints for type traits No 2012-11-14
2116 Open 20.11.4.3 [meta.unary.prop] std::swap noexcept(what?) No 2012-11-14
2317 New 20.11.5 [meta.unary.prop.query] The type property queries should be UnaryTypeTraits returning size_t Yes 2013-10-14
2101 Open 20.11.7 [meta.trans] Some transformation types can produce impossible types Yes 2013-09-25

Section 21 (8 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2318 New 21.4 [basic.string] basic_string's wording has confusing relics from the copy-on-write era No 2013-10-14
2268 New 21.4 [basic.string] Setting a default argument in the declaration of a member function assign of std::basic_string Yes 2013-09-01
2063 Open 21.4 [basic.string] Contradictory requirements for string move assignment No 2012-11-14
2151 Open 21.4.1 [string.require] basic_string<>::swap semantics ignore allocators No 2013-05-06
2003 Open 21.4.1 [string.require] String exception inconsistency in erase. Yes 2012-11-14
2319 New 21.4.2 [string.cons] basic_string's move constructor should not be noexcept Yes 2013-10-14
2237 New 21.8 [c.strings] <cuchar> macros No 2013-05-06
2238 New 21.8 [c.strings] Problematic iterator-pair constructor of containers No 2013-05-06

Section 22 (4 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2295 New 22.3.1.2 [locale.cons] Locale name when the provided Facet is a nullptr No 2013-09-24
1169 Open 22.4.2.1.2 [facet.num.get.virtuals] num_get not fully compatible with strto* Yes 2013-05-06
2293 New 22.4.2.2.2 [facet.num.put.virtuals] Wrong facet used by num_put::do_put Yes 2013-09-23
2117 Open 22.4.2.2.2 [facet.num.put.virtuals] ios_base manipulators should have showgrouping/noshowgrouping Yes 2012-11-14

Section 23 (41 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2307 New 23 [containers] Should the Standard Library use explicit only when necessary? No 2013-10-11
2193 EWG 23 [containers] Default constructors for standard library containers are explicit Yes 2013-10-11
2261 New 23.2 [container.requirements] Are containers required to use their 'pointer' type internally? No 2013-09-01
2182 Review 23.2.1 [container.requirements.general] Container::[const_]reference types are misleadingly specified Yes 2013-09-25
2320 New 23.2.1 [container.requirements.general] select_on_container_copy_construction() takes allocators, not containers Yes 2013-10-14
2321 New 23.2.1 [container.requirements.general] Moving containers should (usually) be required to preserve iterators Yes 2013-10-14
2308 New 23.2.1 [container.requirements.general] Clarify container destructor requirements w.r.t. std::array Yes 2013-10-11
2269 New 23.2.1 [container.requirements.general] Container iterators and argument-dependent lookup No 2013-09-01
2218 Open 23.2.1 [container.requirements.general] Unclear how containers use allocator_traits::construct() Yes 2013-09-01
2254 Deferred 23.2.1 [container.requirements.general] Is dynarray an allocator-aware container? Yes 2013-09-26
2266 New 23.2.3 [sequence.reqmts] vector and deque have incorrect insert requirements Yes 2013-10-14
2206 Open 23.2.3 [sequence.reqmts] Inaccuracy in initializer_list constructor requirements No 2013-05-06
2299 Review 23.2.4 [associative.reqmts] [CD] Effects of inaccessible key_compare::is_transparent type are not clear Yes 2013-09-27
2322 New 23.2.4 [associative.reqmts] Associative(initializer_list, stuff) constructors are underspecified Yes 2013-10-14
2258 New 23.2.4 [associative.reqmts] a.erase(q1, q2) unable to directly return q2 Yes 2013-09-26
2227 Open 23.2.4 [associative.reqmts] Stateful comparison objects in associative containers Yes 2013-10-11
2215 Open 23.2.4 [associative.reqmts] (unordered) associative container functors should be CopyConstructible No 2013-05-06
2052 Open 23.2.4 [associative.reqmts] Mixup between mapped_type and value_type for associative containers Yes 2012-11-14
2304 New 23.2.5 [unord.req] Complexity of count in unordered associative containers Yes 2013-10-11
2156 Open 23.2.5 [unord.req] Unordered containers' reserve(n) reserves for n-1 elements Yes 2013-05-06
2198 Open 23.2.5 [unord.req] max_load_factor(z) makes no strong guarantees, but bans useful behavior No 2013-05-06
2199 Open 23.2.5 [unord.req] unordered containers are required to have an initial max load factor of 1.0 No 2013-05-06
1175 Open 23.2.5 [unord.req] unordered complexity Yes 2012-11-14
2189 Open 23.2.5.1 [unord.req.except] Throwing swap breaks unordered containers' state No 2013-05-06
2335 New 23.3.2 [array] array<array<int, 3>, 4> should be layout-compatible with int[4][3] No 2013-10-14
2310 New 23.3.2.1 [array.overview] Public exposition only member in std::array No 2013-10-11
2157 Open 23.3.2.8 [array.zero] How does std::array<T,0> initialization work when T is not default-constructible? Yes 2012-11-14
2264 Deferred 23.3.4 [dynarray] std::dynarray defines its initializer-list constructor in terms of a non-existent constructor Yes 2013-09-26
2253 Deferred 23.3.4.1 [dynarray.overview] dynarray should state which container requirements aren't met Yes 2013-09-26
2255 Deferred 23.3.4.2 [dynarray.cons] dynarray constructor ambiguity Yes 2013-09-26
2323 New 23.3.7.3 [vector.capacity] vector::resize(n, t)'s specification should be simplified Yes 2013-10-14
2158 New 23.3.7.3 [vector.capacity] Conditional copy/move in std::vector No 2012-11-14
2160 Open 23.3.7.3 [vector.capacity] Unintended destruction ordering-specification of resize No 2013-05-06
2223 Open 23.3.7.3 [vector.capacity] shrink_to_fit effect on iterator validity Yes 2013-05-06
2256 New 23.3.7.5 [vector.modifiers] On vector iterator invalidation No 2013-05-21
2164 New 23.3.7.5 [vector.modifiers] What are the semantics of vector.emplace(vector.begin(), vector.back())? No 2012-11-14
2161 New 23.4 [associative] const equivalence of std::map No 2013-05-06
2059 Open 23.4.4 [map] C++0x ambiguity problem with map::erase Yes 2013-05-06
2274 New 23.4.4.3 [map.access] Does map::operator[] value-initialize or default-insert a missing element? Yes 2013-09-01
2076 New 23.4.6.2 [set.cons] Bad CopyConstructible requirement in set constructors Yes 2013-09-25
2230 New 23.5 [unord] "see below" for initializer-list constructors of unordered containers Yes 2013-01-15

Section 24 (11 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
1213 Deferred 24.2 [iterator.requirements] Meaning of valid and singular iterator underspecified Yes 2012-11-14
2035 Open 24.2.4 [output.iterators] Output iterator requirements are broken Yes 2012-11-14
2038 Open 24.2.4 [output.iterators] Missing definition for incrementable iterator No 2012-11-14
2285 New 24.5.1 [reverse.iterators] make_reverse_iterator Yes 2013-09-01
2208 New 24.5.1 [reverse.iterators] std::reverse_iterator should be a literal type No 2012-11-14
2204 Tentatively NAD 24.5.1.3.4 [reverse.iter.op.star] reverse_iterator should not require a second copy of the base iterator Yes 2013-10-11
2188 Open 24.5.1.3.5 [reverse.iter.opref] Reverse iterator does not fully support targets that overload operator& Yes 2013-05-21
2324 New 24.5.2.2.1 [back.insert.iter.cons] Insert iterator constructors should use addressof() Yes 2013-10-14
2106 Open 24.5.3 [move.iterators] move_iterator wrapping iterators returning prvalues Yes 2013-01-15
2280 New 24.7 [iterator.range] begin/end for arrays should be constexpr and noexcept Yes 2013-09-25
2277 Deferred 24.7 [iterator.range] <dynarray> is missing in 24.7/1 Yes 2013-09-26

Section 25 (6 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2173 New 25 [algorithms] The meaning of operator + in the description of the algorithms No 2012-11-14
2242 New 25.3.1 [alg.copy] [uninitialized_]copy_n() defect No 2013-05-06
2267 New 25.4.1.4 [partial.sort.copy] partial_sort_copy underspecified for ranges of two different types No 2013-09-01
2166 New 25.4.6 [alg.heap.operations] Heap property underspecified? No 2012-11-14
2325 New 25.4.7 [alg.min.max] minmax_element()'s behavior differing from max_element()'s should be noted Yes 2013-10-14
2239 New 25.4.7 [alg.min.max] min/max/minmax requirements No 2013-05-06

Section 26 (9 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2326 New 26.5.1.1 [rand.req.genl] uniform_int_distribution<unsigned char> should be permitted No 2013-10-14
2181 Open 26.5.1.2 [rand.req.seedseq] Exceptions from seed sequence operations Yes 2013-05-21
2327 New 26.5.1.3 [rand.req.urng] Non-power-of-two URNGs should be forbidden Yes 2013-10-14
2154 New 26.5.1.3 [rand.req.urng] What exactly does compile-time complexity imply? No 2012-11-14
2168 New 26.5.8.2.2 [rand.dist.uni.real] Inconsistent specification of uniform_real_distribution constructor No 2012-11-14
2115 Open 26.6.8 [template.mask.array] Undefined behaviour for valarray assignments with mask_array index? No 2012-11-14
2294 New 26.8 [c.math] <cstdlib> should declare abs(double) No 2013-09-23
2192 New 26.8 [c.math] Validity and return type of std::abs(0u) is unclear Yes 2013-05-21
2079 New 26.8 [c.math] Required pow() overloads No 2012-11-14

Section 27 (8 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2214 Open 27.5.5.2 [basic.ios.cons] Clarify basic_ios::init call restrictions Yes 2013-05-21
2131 Tentatively NAD 27.7.2.3 [istream.unformatted] Member function getline taking a string as parameter Yes 2013-05-21
2243 New 27.7.2.3 [istream.unformatted] istream::putback problem No 2013-05-06
2244 New 27.7.2.3 [istream.unformatted] Issue on basic_istream::seekg No 2013-05-06
2245 New 27.7.2.3 [istream.unformatted] packaged_task::reset() memory allocation No 2013-05-06
2328 New 27.7.2.6 [istream.rvalue] Rvalue stream extraction should use perfect forwarding Yes 2013-10-14
2286 New 27.8.2.4 [stringbuf.virtuals] stringbuf::underflow() underspecified Yes 2013-09-01
2121 New 27.8.6 [stringstream.cons] app for string streams No 2012-11-14

Section 28 (19 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2329 New 28.4 [re.syn] regex_match()/regex_search() with match_results should forbid temporary strings Yes 2013-10-14
2330 New 28.5.1 [re.synopt] regex("meow", regex::icase) is technically forbidden but should be permitted Yes 2013-10-14
2331 New 28.5.1 [re.synopt] regex_constants::collate's effects are inaccurately summarized Yes 2013-10-14
1450 Open 28.5.2 [re.matchflag] Contradiction in regex_constants Yes 2012-11-14
2271 New 28.7 [re.traits] regex_traits::lookup_classname specification unclear Yes 2013-09-01
2137 Open 28.8.3 [re.regex.assign] Misleadingly constrained post-condition in the presence of exceptions Yes 2012-11-14
2217 New 28.9.2 [re.submatch.op] operator==(sub_match, string) slices on embedded '\0's No 2012-11-29
2306 New 28.10 [re.results] match_results::reference should be value_type&, not const value_type& Yes 2013-10-11
2195 New 28.10 [re.results] Missing constructors for match_results Yes 2013-05-21
2183 New 28.10.1 [re.results.const] Muddled allocator requirements for match_results constructors No 2012-11-14
2184 New 28.10.1 [re.results.const] Muddled allocator requirements for match_results assignments No 2012-11-14
2191 New 28.10.1 [re.results.const] Incorrect specification of match_results(match_results&&) No 2012-11-14
2273 New 28.11.2 [re.alg.match] regex_match ambiguity No 2013-09-01
2205 New 28.11.2 [re.alg.match] Problematic postconditions of regex_match and regex_search Yes 2012-11-14
2216 New 28.11.4 [re.alg.replace] regex_replace(basic_string) allocator handling No 2012-11-29
2213 New 28.11.4 [re.alg.replace] Return value of std::regex_replace Yes 2012-11-14
2332 New 28.12 [re.iter] regex_iterator/regex_token_iterator should forbid temporary regexes Yes 2013-10-14
2220 New 28.12.2.2 [re.tokiter.comp] Under-specification of operator== for regex_token_iterator No 2012-12-25
2221 New 28.12.2.2 [re.tokiter.comp] No formatted output operator for nullptr No 2012-12-25

Section 29 (4 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2236 New 29.2 [atomics.syn] kill_dependency unconditionally noexcept No 2013-05-06
2265 New 29.3 [atomics.order] 29.3p9 appears to rule out some acceptable executions No 2013-09-01
2165 Core 29.5 [atomics.types.generic] std::atomic<X> requires X to be nothrow default constructible No 2012-11-14
2334 New 29.6.5 [atomics.types.operations.req] atomic's default constructor requires "uninitialized" state even for types with non-trivial default-constructor Yes 2013-10-14

Section 30 (10 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2126 Tentatively NAD Editorial 30.4.1 [thread.mutex.requirements] Several specification problems in regard to mutex requirements No 2012-11-14
2134 Tentatively NAD Editorial 30.4.1.2 [thread.mutex.requirements.mutex] Redundant Mutex requirement? No 2012-11-14
2309 New 30.4.1.2 [thread.mutex.requirements.mutex] mutex::lock() should not throw device_or_resource_busy No 2013-10-11
2125 Tentatively NAD Editorial 30.4.1.3 [thread.timedmutex.requirements] TimedMutex specification problem No 2012-11-14
2288 New 30.4.1.4 [thread.sharedmutex.requirements] Inconsistent requirements for shared mutexes Yes 2013-09-23
2104 New 30.4.2.2 [thread.lock.unique] unique_lock move-assignment should not be noexcept Yes 2012-11-14
2276 New 30.6 [futures] Missing requirement on std::promise::set_exception No 2013-09-01
2095 Deferred 30.6.5 [futures.promise] promise and packaged_task missing constructors needed for uses-allocator construction Yes 2013-09-26
2202 New 30.6.8 [futures.async] Missing allocator support by async No 2012-11-14
2186 Open 30.6.8 [futures.async] Incomplete action on async/launch::deferred Yes 2012-11-14

Section C (1 issues)

(view all issues)

Issue Status Section Title Proposed Resolution Duplicates Last modified
2201 New C.4 [diff.library] Missing macro entries from C standard library No 2012-11-14