# C++ Standard Library Issues List (Revision R80)

# 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 2012-11-03 at 04:11: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-02

## Section 17 (15 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-02
2146 | New | 17.6.3.1 [utility.arg.requirements] | Are reference types `Copy`/`Move-Constructible`/`Assignable` or `Destructible`? | No |  | 2012-11-02
2170 | Core | 17.6.3.1 [utility.arg.requirements] | Aggregates cannot be `DefaultConstructible` | Yes |  | 2012-11-02
2152 | Open | 17.6.3.2 [swappable.requirements] | Instances of standard container types are not swappable | No |  | 2012-11-02
2114 | Open | 17.6.3.3 [nullablepointer.requirements] | Incorrect "contextually convertible to `bool`" requirements | Yes |  | 2012-11-02
2162 | Review | 17.6.3.5 [allocator.requirements] | `allocator_traits::max_size` missing `noexcept` | Yes |  | 2012-11-02
2016 | Open | 17.6.3.5 [allocator.requirements] | `Allocators` must be no-throw swappable | Yes |  | 2012-11-02
2108 | Open | 17.6.3.5 [allocator.requirements] | No way to identify allocator types that always compare equal | Yes |  | 2012-11-02
2178 | Open | 17.6.3.5 [allocator.requirements] | `Allocator` requirement changes not mentioned Annex C | No |  | 2012-11-02
2129 | Open | 17.6.4.2.1 [namespace.std] | User specializations of `std::initializer_list` | No |  | 2012-11-02
2139 | Deferred | 17.6.4.2.1 [namespace.std] | What is a user-defined type? | No |  | 2012-11-02
2112 | Open | 17.6.5 [conforming] | User-defined classes that cannot be derived from | No |  | 2012-11-02
2133 | New | 17.6.5.4 [global.functions] | Attitude to overloaded comma for iterators | No |  | 2012-11-02
2013 | Review | 17.6.5.6 [constexpr.functions] | Do library implementers have the freedom to add `constexpr`? | Yes |  | 2012-11-02
1526 | Open | 17.6.5.9 [res.on.data.races] | C++ should not impose thread safety requirements on C99 library implementations | Yes |  | 2012-11-02

## Section 18 (3 issues)

(view all issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates | Last modified
2088 | Open | 18.8.3 [exception.terminate] | `std::terminate` problem | No |  | 2012-11-02
2111 | Open | 18.8.3.4 [terminate] | Which `unexpected`/`terminate` handler is called from the exception handling runtime? | No |  | 2012-11-02
2155 | New | 18.10 [support.runtime] | Macro `__bool_true_false_are_defined` should be removed | No |  | 2012-11-02

## Section 19 (1 issues)

(view all issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates | Last modified
2109 | Tentatively Ready | 19.5.5 [syserr.hash] | Incorrect requirements for `hash` specializations | Yes |  | 2012-11-02

## Section 20 (24 issues)

(view all issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates | Last modified
2153 | New | 20.2.2 [utility.swap] | Narrowing of the non-member `swap` contract | No |  | 2012-11-02
2051 | Open | 20.4.2 [tuple.tuple] | Explicit `tuple` constructors for more than one parameter | No |  | 2012-11-02
2089 | Open | 20.6.9.1 [allocator.members] | `std::allocator::construct` should use uniform initialization | Yes |  | 2012-11-02
2127 | Open | 20.6.10 [storage.iterator] | Move-construction with `raw_storage_iterator` | Yes |  | 2012-11-02
2072 | Open | 20.6.11 [temporary.buffer] | Unclear wording about capacity of temporary buffers | No |  | 2012-11-02
2118 | Open | 20.7.1.3 [unique.ptr.runtime] | `unique_ptr` for array does not support cv qualification conversion of actual argument | Yes |  | 2012-11-02
2070 | Open | 20.7.2.2.6 [util.smartptr.shared.create] | `allocate_shared` should use `allocator_traits<A>::construct` | Yes |  | 2012-11-02
2179 | New | 20.7.2.4 [util.smartptr.enab] | `enable_shared_from_this` and construction from raw pointers | No |  | 2012-11-02
2149 | Open | 20.8 [function.objects] | Concerns about 20.8/5 | Yes |  | 2012-11-02
2062 | Open | 20.8.11.2 [func.wrap.func] | Effect contradictions w/o no-throw guarantee of `std::function` swaps | No |  | 2012-11-02
2132 | Review | 20.8.11.2.1 [func.wrap.func.con] | `std::function` ambiguity | Yes |  | 2012-11-02
2119 | Open | 20.8.12 [unord.hash] | Missing `hash` specializations for extended integer types | Yes |  | 2012-11-02
2148 | Open | 20.8.12 [unord.hash] | Hashing enums should be supported directly by `std::hash` | No |  | 2012-11-02
2196 | Review | 20.9.4.3 [meta.unary.prop] | Specification of `is_*[copy/move]_[constructible/assignable]` unclear for non-referencable types | Yes |  | 2012-11-02
2197 | New | 20.9.4.3 [meta.unary.prop] | Specification of `is_[un]signed` unclear for non-arithmetic types | Yes |  | 2012-11-02
2077 | Open | 20.9.4.3 [meta.unary.prop] | Further incomplete constraints for type traits | No |  | 2012-11-02
2116 | Open | 20.9.4.3 [meta.unary.prop] | `std::swap noexcept(what?)` | No |  | 2012-11-02
2101 | Open | 20.9.7 [meta.trans] | Some transformation types can produce impossible types | Yes |  | 2012-11-02
2141 | New | 20.9.7.6 [meta.trans.other] | `common_type` trait produces reference types | Yes |  | 2012-11-02
2094 | Review | 20.11.5.1 [time.duration.cons] | `duration` conversion overflow shouldn't participate in overload resolution | Yes |  | 2012-11-02
2054 | Open | 20.11.6 [time.point] | `time_point` constructors need to be `constexpr` | Yes |  | 2012-11-02
2057 | Open | 20.11.6.5 [time.point.nonmember] | `time_point + duration` semantics should be made `constexpr` conforming | Yes |  | 2012-11-02
2203 | New | 20.12.4 [allocator.adaptor.members] | `scoped_allocator_adaptor` uses wrong argument types for piecewise construction | Yes |  | 2012-11-02
2144 | New | 20.13 [type.index] | Missing `noexcept` specification in `type_index` | Yes |  | 2012-11-02

## Section 21 (4 issues)

(view all issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates | Last modified
2063 | Open | 21.4 [basic.string] | Contradictory requirements for string move assignment | No |  | 2012-11-02
2151 | New | 21.4.1 [string.require] | `basic_string<>::swap` semantics ignore allocators | No |  | 2012-11-02
2003 | Open | 21.4.1 [string.require] | String exception inconsistency in erase. | Yes |  | 2012-11-02
2207 | New | 21.4.5 [string.access] | `basic_string::at` should not have a Requires clause | Yes |  | 2012-11-02

## Section 22 (5 issues)

(view all issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates | Last modified
2174 | New | 22.3.3.2.2 [conversions.string] | `wstring_convert::converted()` should be `noexcept` | Yes |  | 2012-11-02
2175 | New | 22.3.3.2.2 [conversions.string] | `wstring_convert` and `wbuffer_convert` validity | Yes |  | 2012-11-02
2176 | New | 22.3.3.2.2 [conversions.string] | Special members for `wstring_convert` and `wbuffer_convert` | Yes |  | 2012-11-02
1169 | Open | 22.4.2.1.2 [facet.num.get.virtuals] | `num_get` not fully compatible with `strto*` | Yes |  | 2012-11-02
2117 | Open | 22.4.2.2.2 [facet.num.put.virtuals] | `ios_base` manipulators should have `showgrouping/noshowgrouping` | Yes |  | 2012-11-02

## Section 23 (24 issues)

(view all issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates | Last modified
2193 | EWG | 23 [containers] | Default constructors for standard library containers are explicit | Yes |  | 2012-11-02
2177 | Tentatively Ready | 23.2.1 [container.requirements.general] | Requirements on `Copy/MoveInsertable` | Yes |  | 2012-11-02
2167 | Tentatively NAD | 23.2.1 [container.requirements.general] | Copy assignment requirements of Containers | Yes |  | 2012-11-02
2200 | New | 23.2.2 [container.requirements.dataraces] | Data race avoidance for all containers, not only for sequences | Yes |  | 2012-11-02
2206 | New | 23.2.3 [sequence.reqmts] | Inaccuracy in `initializer_list` constructor requirements | No |  | 2012-11-02
2052 | Open | 23.2.4 [associative.reqmts] | Mixup between `mapped_type` and `value_type` for associative containers | Yes |  | 2012-11-02
2156 | New | 23.2.5 [unord.req] | Unordered containers' `reserve(n)` reserves for `n-1` elements | No |  | 2012-11-02
2198 | New | 23.2.5 [unord.req] | `max_load_factor(z)` makes no strong guatantees, but bans useful behavior | No |  | 2012-11-02
2199 | New | 23.2.5 [unord.req] | unordered containers are required to have an initial max load factor of 1.0 | No |  | 2012-11-02
1175 | Open | 23.2.5 [unord.req] | `unordered` complexity | Yes |  | 2012-11-02
2189 | New | 23.2.5.1 [unord.req.except] | Throwing `swap` breaks unordered containers' state | No |  | 2012-11-02
2209 | New | 23.3 [sequences] | `assign()` overspecified for sequence containers | Yes |  | 2012-11-02
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-02
2210 | New | 23.3.4 [forwardlist] | Missing allocator-extended constructor for `forward_list` | Yes |  | 2012-11-02
2122 | Open | 23.3.5.5 [list.ops] | `merge()` stability for lists versus forward lists | Yes |  | 2012-11-02
2158 | New | 23.3.6.3 [vector.capacity] | Conditional copy/move in `std::vector` | No |  | 2012-11-02
2160 | New | 23.3.6.3 [vector.capacity] | Unintended destruction ordering-specification of `resize` | No |  | 2012-11-02
2164 | New | 23.3.6.5 [vector.modifiers] | What are the semantics of `vector.emplace(vector.begin(), vector.back())`? | No |  | 2012-11-02
2187 | Tentatively Ready | 23.3.7 [vector.bool] | `vector<bool>` is missing `emplace` and `emplace_back` member functions | Yes |  | 2012-11-02
2161 | New | 23.4 [associative] | `const` equivalence of `std::map` | No |  | 2012-11-02
2012 | Open | 23.4 [associative] | Associative maps should insert `pair`, not `tuple` | Yes |  | 2012-11-02
2059 | Open | 23.4.4 [map] | C++0x ambiguity problem with `map::erase` | Yes |  | 2012-11-02
2076 | New | 23.4.6.2 [set.cons] | Bad `CopyConstructible` requirement in set constructors | Yes |  | 2012-11-02
2194 | New | 23.6 [container.adaptors] | Impossible container requirements for adaptor types | Yes |  | 2012-11-02

## Section 24 (8 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-02
2035 | Open | 24.2.4 [output.iterators] | Output iterator requirements are broken | Yes |  | 2012-11-02
2038 | Open | 24.2.4 [output.iterators] | Missing definition for `incrementable` iterator | No |  | 2012-11-02
2128 | Open | 24.3 [iterator.synopsis] | Absence of global functions `cbegin/cend` | Yes |  | 2012-11-02
2208 | New | 24.5.1 [reverse.iterators] | `std::reverse_iterator` should be a literal type | No |  | 2012-11-02
2204 | New | 24.5.1.3.4 [reverse.iter.op.star] | `reverse_iterator` should not require a second copy of the base iterator | Yes |  | 2012-11-02
2188 | New | 24.5.1.3.5 [reverse.iter.opref] | Reverse iterator does not fully support targets that overload `operator&` | Yes |  | 2012-11-02
2106 | Tentatively Ready | 24.5.3 [move.iterators] | `move_iterator` wrapping iterators returning prvalues | Yes |  | 2012-11-02

## Section 25 (3 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-02
2150 | New | 25.2.6 [alg.find.end] | Unclear specification of `find_end` | Yes |  | 2012-11-02
2166 | New | 25.4.6 [alg.heap.operations] | Heap property underspecified? | No |  | 2012-11-02

## Section 26 (8 issues)

(view all issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates | Last modified
2181 | New | 26.5.1.2 [rand.req.seedseq] | Exceptions from seed sequence operations | Yes |  | 2012-11-02
2182 | New | 26.5.1.2 [rand.req.seedseq] | `Container::[const_]reference` types are misleadingly specified | Yes |  | 2012-11-02
2154 | New | 26.5.1.3 [rand.req.urng] | What exactly does compile-time complexity imply? | No |  | 2012-11-02
2180 | New | 26.5.7.1 [rand.util.seedseq] | Exceptions from `std::seed_seq` operations | Yes |  | 2012-11-02
2168 | New | 26.5.8.2.2 [rand.dist.uni.real] | Inconsistent specification of `uniform_real_distribution` constructor | No |  | 2012-11-02
2115 | Open | 26.6.8 [template.mask.array] | Undefined behaviour for `valarray` assignments with `mask_array` index? | No |  | 2012-11-02
2079 | New | 26.8 [c.math] | Required `pow()` overloads | No |  | 2012-11-02
2192 | New | 26.8 [c.math] | Validity and return type of `std::abs(0u)` is unclear | Yes |  | 2012-11-02

## Section 27 (5 issues)

(view all issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates | Last modified
2087 | New | 27.5 [iostreams.base] | `iostream_category()` and `noexcept` | Yes |  | 2012-11-02
2143 | New | 27.5.3 [ios.base] | `ios_base::xalloc` should be thread-safe | Yes |  | 2012-11-02
2085 | New | 27.7.2.3 [istream.unformatted] | Wrong description of effect 1 of `basic_istream::ignore` | Yes |  | 2012-11-02
2131 | New | 27.7.2.3 [istream.unformatted] | Member function getline taking a string as parameter | Yes |  | 2012-11-02
2121 | New | 27.8.6 [stringstream.cons] | `app` for string streams | No |  | 2012-11-02

## Section 28 (8 issues)

(view all issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates | Last modified
1450 | Open | 28.5.2 [re.matchflag] | Contradiction in `regex_constants` | Yes |  | 2012-11-02
2018 | Open | 28.7 [re.traits] | `regex_traits::isctype` Returns clause is wrong | Yes |  | 2012-11-02
2137 | Open | 28.8.3 [re.regex.assign] | Misleadingly constrained post-condition in the presence of exceptions | Yes |  | 2012-11-02
2195 | New | 28.10 [re.results] | Missing constructors for `match_results` | Yes |  | 2012-11-02
2183 | New | 28.10.1 [re.results.const] | Muddled allocator requirements for `match_results` constructors | No |  | 2012-11-02
2184 | New | 28.10.1 [re.results.const] | Muddled allocator requirements for `match_results` assignments | No |  | 2012-11-02
2191 | New | 28.10.1 [re.results.const] | Incorrect specification of `match_results(match_results&&)` | No |  | 2012-11-02
2205 | New | 28.11.2 [re.alg.match] | Problematic postconditions of `regex_match` and `regex_search` | Yes |  | 2012-11-02

## Section 29 (4 issues)

(view all issues)

Issue | Status | Section | Title | Proposed Resolution | Duplicates | Last modified
2130 | Review | 29.3 [atomics.order] | Missing ordering constraints | Yes |  | 2012-11-02
2165 | Core | 29.5 [atomics.types.generic] | `std::atomic<X>` requires `X` to be nothrow default constructible | No |  | 2012-11-02
2138 | Review | 29.7 [atomics.flag] | `atomic_flag::clear` should not accept `memory_order_consume` | Yes |  | 2012-11-02
2159 | Open | 29.7 [atomics.flag] | `atomic_flag` initialization | Yes |  | 2012-11-02

## Section 30 (18 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-02
2134 | Tentatively NAD Editorial | 30.4.1.2 [thread.mutex.requirements.mutex] | Redundant Mutex requirement? | No |  | 2012-11-02
2125 | Tentatively NAD Editorial | 30.4.1.3 [thread.timedmutex.requirements] | `TimedMutex` specification problem | No |  | 2012-11-02
2104 | New | 30.4.2.2 [thread.lock.unique] | `unique_lock` move-assignment should not be `noexcept` | Yes |  | 2012-11-02
2080 | Tentatively Ready | 30.4.4 [thread.once] | Specify when `once_flag` becomes invalid | Yes |  | 2012-11-02
2140 | Review | 30.5 [thread.condition] | Meaning of `notify_all_at_thread_exit` synchronization requirement? | Yes |  | 2012-11-02
2190 | Review | 30.5 [thread.condition] | Condition variable specification | Yes |  | 2012-11-02
2135 | Open | 30.5.1 [thread.condition.condvar] | Unclear requirement for exceptions thrown in `condition_variable::wait()` | No |  | 2012-11-02
2098 | Review | 30.6.5 [futures.promise] | Minor Inconsistency between `promise::set_value` and `promise::set_value_at_thread_exit` | Yes |  | 2012-11-02
2095 | New | 30.6.5 [futures.promise] | `promise` and `packaged_task` missing constructors needed for uses-allocator construction | Yes |  | 2012-11-02
2185 | Review | 30.6.6 [futures.unique_future] | Missing throws clause for `future/shared_future::wait_for/wait_until` | Yes |  | 2012-11-02
2078 | Tentatively NAD Editorial | 30.6.8 [futures.async] | Throw specification of `async()` incomplete | No |  | 2012-11-02
2100 | Review | 30.6.8 [futures.async] | timed waiting functions cannot timeout if `launch::async` policy used | Yes |  | 2012-11-02
2120 | Review | 30.6.8 [futures.async] | What should `async` do if neither '`async`' nor '`deferred`' is set in policy? | Yes |  | 2012-11-02
2202 | New | 30.6.8 [futures.async] | Missing allocator support by `async` | No |  | 2012-11-02
2186 | Open | 30.6.8 [futures.async] | Incomplete action on `async/launch::deferred` | Yes |  | 2012-11-02
2097 | New | 30.6.9.1 [futures.task.members] | `packaged_task` constructors should be constrained | Yes |  | 2012-11-02
2142 | Open | 30.6.9.1 [futures.task.members] | `packaged_task::operator()` synchronization too broad? | No |  | 2012-11-02

## Section C (1 issues)

(view all issues)

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