Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
Last modified |
2303 |
New |
18.6.1.3 [new.delete.placement] |
Explicit instantiation of std::vector<UserType> broken? |
No |
|
2013-10-14 |
2313 |
New |
20.4.2.5 [tuple.helper] |
tuple_size should always derive from integral_constant<size_t, N> |
Yes |
|
2013-10-14 |
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 |
2337 |
New |
20.9.2.2.5 [util.smartptr.shared.obs] |
shared_ptr operator*() should not be noexcept |
Yes |
|
2013-10-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 |
2336 |
New |
20.11.4.3 [meta.unary.prop] |
is_trivially_constructible/is_trivially_assignable traits are always false |
Yes |
|
2013-10-14 |
2317 |
New |
20.11.5 [meta.unary.prop.query] |
The type property queries should be UnaryTypeTraits returning size_t |
Yes |
|
2013-10-14 |
2318 |
New |
21.4 [basic.string] |
basic_string's wording has confusing relics from the copy-on-write era |
No |
|
2013-10-14 |
2319 |
New |
21.4.2 [string.cons] |
basic_string's move constructor should not be noexcept |
Yes |
|
2013-10-14 |
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 |
2266 |
New |
23.2.3 [sequence.reqmts] |
vector and deque have incorrect insert requirements |
Yes |
|
2013-10-14 |
2322 |
New |
23.2.4 [associative.reqmts] |
Associative(initializer_list, stuff) constructors are underspecified |
Yes |
|
2013-10-14 |
2335 |
New |
23.3.2 [array] |
array<array<int, 3>, 4> should be layout-compatible with int[4][3] |
No |
|
2013-10-14 |
2323 |
New |
23.3.7.3 [vector.capacity] |
vector::resize(n, t)'s specification should be simplified |
Yes |
|
2013-10-14 |
2324 |
New |
24.5.2.2.1 [back.insert.iter.cons] |
Insert iterator constructors should use addressof() |
Yes |
|
2013-10-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 |
2326 |
New |
26.5.1.1 [rand.req.genl] |
uniform_int_distribution<unsigned char> should be permitted |
No |
|
2013-10-14 |
2327 |
New |
26.5.1.3 [rand.req.urng] |
Non-power-of-two URNGs should be forbidden |
Yes |
|
2013-10-14 |
2328 |
New |
27.7.2.6 [istream.rvalue] |
Rvalue stream extraction should use perfect forwarding |
Yes |
|
2013-10-14 |
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 |
2332 |
New |
28.12 [re.iter] |
regex_iterator/regex_token_iterator should forbid temporary regexes |
Yes |
|
2013-10-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 |
2311 |
New |
17.6.3.5 [allocator.requirements] |
Allocator requirements should be further minimized |
Yes |
|
2013-10-11 |
2302 |
New |
18.6.1.3 [new.delete.placement] |
Passing null pointer to placement new |
Yes |
|
2013-10-11 |
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 |
2314 |
New |
20.5.1 [intseq.general] |
apply() should return decltype(auto) and use decay_t before tuple_size |
Yes |
|
2013-10-11 |
2307 |
New |
23 [containers] |
Should the Standard Library use explicit only when necessary? |
No |
|
2013-10-11 |
2308 |
New |
23.2.1 [container.requirements.general] |
Clarify container destructor requirements w.r.t. std::array |
Yes |
|
2013-10-11 |
2304 |
New |
23.2.5 [unord.req] |
Complexity of count in unordered associative containers |
Yes |
|
2013-10-11 |
2310 |
New |
23.3.2.1 [array.overview] |
Public exposition only member in std::array |
No |
|
2013-10-11 |
2306 |
New |
28.10 [re.results] |
match_results::reference should be value_type&, not const value_type& |
Yes |
|
2013-10-11 |
2309 |
New |
30.4.1.2 [thread.mutex.requirements.mutex] |
mutex::lock() should not throw device_or_resource_busy |
No |
|
2013-10-11 |
2251 |
New |
18.2 [support.types] |
C++ library should define ssize_t |
Yes |
|
2013-09-29 |
2258 |
New |
23.2.4 [associative.reqmts] |
a.erase(q1, q2) unable to directly return q2 |
Yes |
|
2013-09-26 |
2296 |
New |
20.8.12.1 [specialized.addressof] |
std::addressof should be constexpr |
Yes |
|
2013-09-25 |
2076 |
New |
23.4.6.2 [set.cons] |
Bad CopyConstructible requirement in set constructors |
Yes |
|
2013-09-25 |
2280 |
New |
24.7 [iterator.range] |
begin/end for arrays should be constexpr and noexcept |
Yes |
|
2013-09-25 |
2295 |
New |
22.3.1.2 [locale.cons] |
Locale name when the provided Facet is a nullptr |
No |
|
2013-09-24 |
2292 |
New |
17.5.1.4 [structure.specifications] |
Find a better phrasing for "shall not participate in overload resolution" |
No |
|
2013-09-23 |
2289 |
New |
20.3.2 [pairs.pair] |
constexpr guarantees of defaulted functions still insufficient |
Yes |
|
2013-09-23 |
2290 |
New |
20.11 [meta] |
Top-level "SFINAE"-based constraints should get a separate definition in Clause 17 |
No |
|
2013-09-23 |
2293 |
New |
22.4.2.2.2 [facet.num.put.virtuals] |
Wrong facet used by num_put::do_put |
Yes |
|
2013-09-23 |
2294 |
New |
26.8 [c.math] |
<cstdlib> should declare abs(double) |
No |
|
2013-09-23 |
2288 |
New |
30.4.1.4 [thread.sharedmutex.requirements] |
Inconsistent requirements for shared mutexes |
Yes |
|
2013-09-23 |
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 |
2259 |
New |
17.6.5.5 [member.functions] |
Issues in 17.6.5.5 rules for member functions |
No |
|
2013-09-01 |
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 |
2261 |
New |
23.2 [container.requirements] |
Are containers required to use their 'pointer' type internally? |
No |
|
2013-09-01 |
2269 |
New |
23.2.1 [container.requirements.general] |
Container iterators and argument-dependent lookup |
No |
|
2013-09-01 |
2274 |
New |
23.4.4.3 [map.access] |
Does map::operator[] value-initialize or default-insert a missing element? |
Yes |
|
2013-09-01 |
2285 |
New |
24.5.1 [reverse.iterators] |
make_reverse_iterator |
Yes |
|
2013-09-01 |
2267 |
New |
25.4.1.4 [partial.sort.copy] |
partial_sort_copy underspecified for ranges of two different types |
No |
|
2013-09-01 |
2286 |
New |
27.8.2.4 [stringbuf.virtuals] |
stringbuf::underflow() underspecified |
Yes |
|
2013-09-01 |
2271 |
New |
28.7 [re.traits] |
regex_traits::lookup_classname specification unclear |
Yes |
|
2013-09-01 |
2273 |
New |
28.11.2 [re.alg.match] |
regex_match ambiguity |
No |
|
2013-09-01 |
2265 |
New |
29.3 [atomics.order] |
29.3p9 appears to rule out some acceptable executions |
No |
|
2013-09-01 |
2276 |
New |
30.6 [futures] |
Missing requirement on std::promise::set_exception |
No |
|
2013-09-01 |
2256 |
New |
23.3.7.5 [vector.modifiers] |
On vector iterator invalidation |
No |
|
2013-05-21 |
2192 |
New |
26.8 [c.math] |
Validity and return type of std::abs(0u) is unclear |
Yes |
|
2013-05-21 |
2195 |
New |
28.10 [re.results] |
Missing constructors for match_results |
Yes |
|
2013-05-21 |
2248 |
New |
18.3.2 [limits] |
numeric_limits::is_iec559 misnamed |
No |
|
2013-05-06 |
2241 |
New |
18.10 [support.runtime] |
<cstdalign> and #define of alignof |
No |
|
2013-05-06 |
2250 |
New |
20.7.1 [bitset.cons] |
Follow-up On Library Issue 2207 |
No |
|
2013-05-06 |
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 |
2161 |
New |
23.4 [associative] |
const equivalence of std::map |
No |
|
2013-05-06 |
2242 |
New |
25.3.1 [alg.copy] |
[uninitialized_]copy_n() defect |
No |
|
2013-05-06 |
2239 |
New |
25.4.7 [alg.min.max] |
min/max/minmax requirements |
No |
|
2013-05-06 |
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 |
2236 |
New |
29.2 [atomics.syn] |
kill_dependency unconditionally noexcept |
No |
|
2013-05-06 |
2230 |
New |
23.5 [unord] |
"see below" for initializer-list constructors of unordered containers |
Yes |
|
2013-01-15 |
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 |
2217 |
New |
28.9.2 [re.submatch.op] |
operator==(sub_match, string) slices on embedded '\0's |
No |
|
2012-11-29 |
2216 |
New |
28.11.4 [re.alg.replace] |
regex_replace(basic_string) allocator handling |
No |
|
2012-11-29 |
2158 |
New |
23.3.7.3 [vector.capacity] |
Conditional copy/move in std::vector |
No |
|
2012-11-14 |
2164 |
New |
23.3.7.5 [vector.modifiers] |
What are the semantics of vector.emplace(vector.begin(), vector.back())? |
No |
|
2012-11-14 |
2208 |
New |
24.5.1 [reverse.iterators] |
std::reverse_iterator should be a literal type |
No |
|
2012-11-14 |
2173 |
New |
25 [algorithms] |
The meaning of operator + in the description of the algorithms |
No |
|
2012-11-14 |
2166 |
New |
25.4.6 [alg.heap.operations] |
Heap property underspecified? |
No |
|
2012-11-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 |
2079 |
New |
26.8 [c.math] |
Required pow() overloads |
No |
|
2012-11-14 |
2121 |
New |
27.8.6 [stringstream.cons] |
app for string streams |
No |
|
2012-11-14 |
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 |
2205 |
New |
28.11.2 [re.alg.match] |
Problematic postconditions of regex_match and regex_search |
Yes |
|
2012-11-14 |
2213 |
New |
28.11.4 [re.alg.replace] |
Return value of std::regex_replace |
Yes |
|
2012-11-14 |
2104 |
New |
30.4.2.2 [thread.lock.unique] |
unique_lock move-assignment should not be noexcept |
Yes |
|
2012-11-14 |
2202 |
New |
30.6.8 [futures.async] |
Missing allocator support by async |
No |
|
2012-11-14 |
2201 |
New |
C.4 [diff.library] |
Missing macro entries from C standard library |
No |
|
2012-11-14 |
Issue |
Status |
Section |
Title |
Proposed Resolution |
Duplicates |
Last modified |
2227 |
Open |
23.2.4 [associative.reqmts] |
Stateful comparison objects in associative containers |
Yes |
|
2013-10-11 |
2101 |
Open |
20.11.7 [meta.trans] |
Some transformation types can produce impossible types |
Yes |
|
2013-09-25 |
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 |
2224 |
Open |
17.6.4.10 [res.on.objects] |
Ambiguous status of access to non-live objects |
Yes |
|
2013-09-01 |
2218 |
Open |
23.2.1 [container.requirements.general] |
Unclear how containers use allocator_traits::construct() |
Yes |
|
2013-09-01 |
2188 |
Open |
24.5.1.3.5 [reverse.iter.opref] |
Reverse iterator does not fully support targets that overload operator& |
Yes |
|
2013-05-21 |
2181 |
Open |
26.5.1.2 [rand.req.seedseq] |
Exceptions from seed sequence operations |
Yes |
|
2013-05-21 |
2214 |
Open |
27.5.5.2 [basic.ios.cons] |
Clarify basic_ios::init call restrictions |
Yes |
|
2013-05-21 |
2179 |
Open |
20.9.2.4 [util.smartptr.enab] |
enable_shared_from_this and construction from raw pointers |
No |
|
2013-05-20 |
2146 |
Open |
17.6.3.1 [utility.arg.requirements] |
Are reference types Copy/Move-Constructible/Assignable or Destructible? |
No |
|
2013-05-06 |
2133 |
Open |
17.6.5.4 [global.functions] |
Attitude to overloaded comma for iterators |
No |
|
2013-05-06 |
2155 |
Open |
18.10 [support.runtime] |
Macro __bool_true_false_are_defined should be removed |
No |
|
2013-05-06 |
2234 |
Open |
19.3 [assertions] |
assert() should allow usage in constant expressions |
No |
|
2013-05-06 |
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 |
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 |
2151 |
Open |
21.4.1 [string.require] |
basic_string<>::swap semantics ignore allocators |
No |
|
2013-05-06 |
1169 |
Open |
22.4.2.1.2 [facet.num.get.virtuals] |
num_get not fully compatible with strto* |
Yes |
|
2013-05-06 |
2206 |
Open |
23.2.3 [sequence.reqmts] |
Inaccuracy in initializer_list constructor requirements |
No |
|
2013-05-06 |
2215 |
Open |
23.2.4 [associative.reqmts] |
(unordered) associative container functors should be CopyConstructible |
No |
|
2013-05-06 |
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 |
2189 |
Open |
23.2.5.1 [unord.req.except] |
Throwing swap breaks unordered containers' state |
No |
|
2013-05-06 |
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 |
2059 |
Open |
23.4.4 [map] |
C++0x ambiguity problem with map::erase |
Yes |
|
2013-05-06 |
2106 |
Open |
24.5.3 [move.iterators] |
move_iterator wrapping iterators returning prvalues |
Yes |
|
2013-01-15 |
2075 |
Open |
1.10 [intro.multithread] |
Progress guarantees, lock-free property, and scheduling assumptions |
No |
|
2012-11-14 |
2136 |
Open |
17.5.1 [structure] |
Postconditions vs. exceptions |
No |
|
2012-11-14 |
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 |
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 |
2112 |
Open |
17.6.5 [conforming] |
User-defined classes that cannot be derived from |
No |
|
2012-11-14 |
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 |
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 |
2051 |
Open |
20.4.2 [tuple.tuple] |
Explicit tuple constructors for more than one parameter |
No |
|
2012-11-14 |
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 |
2070 |
Open |
20.9.2.2.6 [util.smartptr.shared.create] |
allocate_shared should use allocator_traits<A>::construct |
Yes |
|
2012-11-14 |
2062 |
Open |
20.10.11.2 [func.wrap.func] |
Effect contradictions w/o no-throw guarantee of std::function swaps |
No |
|
2012-11-14 |
2119 |
Open |
20.10.12 [unord.hash] |
Missing hash specializations for extended integer types |
Yes |
|
2012-11-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 |
2063 |
Open |
21.4 [basic.string] |
Contradictory requirements for string move assignment |
No |
|
2012-11-14 |
2003 |
Open |
21.4.1 [string.require] |
String exception inconsistency in erase. |
Yes |
|
2012-11-14 |
2117 |
Open |
22.4.2.2.2 [facet.num.put.virtuals] |
ios_base manipulators should have showgrouping/noshowgrouping |
Yes |
|
2012-11-14 |
2052 |
Open |
23.2.4 [associative.reqmts] |
Mixup between mapped_type and value_type for associative containers |
Yes |
|
2012-11-14 |
1175 |
Open |
23.2.5 [unord.req] |
unordered complexity |
Yes |
|
2012-11-14 |
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 |
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 |
2115 |
Open |
26.6.8 [template.mask.array] |
Undefined behaviour for valarray assignments with mask_array index? |
No |
|
2012-11-14 |
1450 |
Open |
28.5.2 [re.matchflag] |
Contradiction in regex_constants |
Yes |
|
2012-11-14 |
2137 |
Open |
28.8.3 [re.regex.assign] |
Misleadingly constrained post-condition in the presence of exceptions |
Yes |
|
2012-11-14 |
2186 |
Open |
30.6.8 [futures.async] |
Incomplete action on async/launch::deferred |
Yes |
|
2012-11-14 |