Issue |
Status |
Section |
Title |
Proposed Resolution |
Priority |
Duplicates |
2742 |
New |
21.3.1.2 [string.cons] |
Inconsistent string interface taking string_view |
No |
|
|
2743 |
New |
23.1.1.1 [container.node.overview] |
p0083r3 node_handle private members missing "exposition only" comment |
No |
|
|
2741 |
New |
25.4.14 [alg.partitions] |
is_partitioned requirements need updating |
Yes |
|
|
2730 |
New |
18.3.2.1 [limits.numeric] |
numeric_limits primary template definition |
No |
|
|
2737 |
New |
18.6.2.1 [new.delete.single] |
Consider relaxing object size restrictions for single-object allocation functions |
No |
|
|
2729 |
New |
20.4.2 [pairs.pair] |
Missing SFINAE on std::pair::operator= |
No |
|
|
2740 |
New |
20.6.3.5 [optional.object.observe] |
constexpr optional<T>::operator-> |
Yes |
|
|
2736 |
New |
20.6.4 [optional.nullopt] |
nullopt_t insufficiently constrained |
No |
|
|
2738 |
New |
20.15.4.3 [meta.unary.prop] |
is_constructible with void types |
Yes |
|
|
2739 |
New |
20.17.6.5 [time.point.nonmember] |
Issue with time_point non-member subtraction with an unsigned duration |
Yes |
|
|
2513 |
New |
21.1 [strings.general] |
Missing requirements for basic_string::value_type |
No |
4 |
|
2735 |
New |
26.9 [c.math] |
std::abs(short), std::abs(signed char) and others should return int instead of
double in order to be compatible with C++98 and C |
Yes |
|
|
2664 |
New |
27.10.8.4.3 [path.append] |
operator/ (and other append) semantics not useful if argument has root |
Yes |
2 |
|
2732 |
New |
27.10.8.4.3 [path.append] |
Questionable specification of path::operator/= and path::append |
Yes |
|
|
2734 |
New |
27.10.8.4.4 [path.concat] |
Questionable specification in [path.concat] |
No |
|
|
2722 |
New |
27.10.15.13 [fs.op.equivalent] |
equivalent incorrectly specifies throws clause |
Yes |
3 |
|
2731 |
New |
30.4.2.1 [thread.lock.guard] |
Existence of lock_guard<MutexTypes...>::mutex_type typedef unclear |
Yes |
|
|
2733 |
New |
99 [fund.ts.v2::numeric.ops.gcd] |
[fund.ts.v2] gcd / lcm and bool |
No |
|
|
2713 |
New |
23.5 [unord] |
More missing allocator-extended constructors for unordered containers |
Yes |
3 |
|
2548 |
New |
27.11 [c.files] |
Missing vfscanf from <cstdio> |
Yes |
3 |
|
2570 |
New |
99 [fund.ts.v2::meta.logical] |
[fund.ts.v2] conjunction and disjunction requirements are too strict |
No |
2 |
|
2593 |
New |
17.6.3.5 [allocator.requirements] |
Moved-from state of Allocators |
Yes |
4 |
|
2594 |
New |
20.11.2.2 [util.smartptr.shared] |
Contradicting definition of empty shared_ptr on shared_ptr(nullptr, d) |
Yes |
3 |
|
2714 |
New |
26.5.6 [complex.ops] |
complex stream extraction underspecified |
Yes |
3 |
|
2681 |
New |
27.10.15.3 [fs.op.copy] |
filesystem::copy() cannot copy symlinks |
Yes |
2 |
|
2715 |
New |
29.5 [atomics.types.generic] |
What is 'aggregate initialization syntax'? |
No |
3 |
|
2712 |
New |
27.10.15.4 [fs.op.copy_file] |
copy_file(from, to, ...) has a number of unspecified error conditions |
Yes |
2 |
|
2563 |
New |
17.6.5.5 [member.functions] |
LWG 2259 relaxes requirements, perhaps unintentionally |
No |
2 |
|
2695 |
New |
17.6.5.5 [member.functions] |
"As if" unclear in [member.functions] |
No |
3 |
|
2686 |
New |
19.5.1 [system_error.syn] |
Why is std::hash specialized for error_code, but not error_condition? |
Yes |
3 |
|
2696 |
New |
20.11.2.2.6 [util.smartptr.shared.create] |
Interaction between make_shared and enable_shared_from_this is underspecified |
Yes |
2 |
|
2562 |
New |
20.14.6 [comparisons] |
Consistent total ordering of pointers by comparison functors |
Yes |
3 |
|
2694 |
New |
22.3.1.1.2 [locale.facet] |
Application of LWG 436 accidentally deleted definition of "facet" |
Yes |
3 |
|
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 |
|
2691 |
New |
22.4.6.3 [locale.moneypunct] |
money_base::space and do_put: U+0020 versus fill |
Yes |
3 |
|
2705 |
New |
23.2.3 [sequence.reqmts] |
Questionable precondition on Sequence containers a.assign(n, t) |
Yes |
3 |
|
2256 |
New |
23.3.11.5 [vector.modifiers] |
On vector iterator invalidation |
No |
3 |
|
2699 |
New |
26.3 [numeric.requirements] |
Missing restriction in [numeric.requirements] |
Yes |
3 |
|
2693 |
New |
26.5 [complex.numbers] |
constexpr for various std::complex arithmetic and value operators |
No |
3 |
|
2708 |
New |
27.10.14.1 [rec.dir.itr.members] |
recursive_directory_iterator::recursion_pending() is incorrectly specified |
Yes |
2 |
|
2682 |
New |
27.10.15.3 [fs.op.copy] |
filesystem::copy() won't create a symlink to a directory |
Yes |
2 |
|
2701 |
New |
99 [memory.resource.prot] |
Unclear requirement in [memory.resource.prot] |
Yes |
3 |
|
2697 |
New |
99 [concurr.ts::futures.unique_future] |
[concurr.ts] Behavior of future/shared_future unwrapping constructor when given an invalid future |
Yes |
2 |
|
2589 |
New |
28.10 [re.results] |
match_results can't satisfy the requirements of a container |
Yes |
3 |
|
2679 |
New |
17.5.1.4 [structure.specifications] |
Inconsistent Use of Effects and Equivalent To |
Yes |
3 |
|
2592 |
New |
20.17.2 [time.syn] |
Require that chrono::duration_casts from smaller durations to larger durations do not overflow |
Yes |
4 |
|
2680 |
New |
27.10 [filesystems] |
Add "Equivalent to" to filesystem |
Yes |
2 |
|
2678 |
New |
27.10.10.1 [enum.file_type] |
std::filesystem enum classes overspecified |
Yes |
3 |
|
2672 |
New |
27.10.15.19 [fs.op.is_empty] |
Should is_empty use error_code in its specification? |
Yes |
3 |
|
2578 |
New |
24.2 [iterator.requirements] |
Iterator requirements should reference iterator traits |
Yes |
3 |
|
2599 |
New |
20.2.6 [declval] |
Library incomplete type permission phrase is unclear |
No |
3 |
|
2598 |
New |
20.10.10.1 [specialized.addressof] |
addressof works on temporaries |
Yes |
3 |
|
2381 |
New |
22.4.2.1.2 [facet.num.get.virtuals] |
Inconsistency in parsing floating point numbers |
No |
2 |
|
2595 |
New |
24.5.1.1 [reverse.iterator] |
reverse_iterator::operator[]'s return type revisited |
Yes |
3 |
|
2597 |
New |
26.5.8 [complex.transcendentals] |
std::log misspecified for complex numbers |
No |
3 |
|
2675 |
New |
27.5.3.6 [ios.base.callback] |
register_callback can fail |
No |
3 |
|
2676 |
New |
27.9 [file.streams] |
Provide filesystem::path overloads for File-based streams |
Yes |
2 |
|
2665 |
New |
27.10.8.4.5 [path.modifiers] |
remove_filename() post condition is incorrect |
Yes |
3 |
|
2677 |
New |
27.10.12.3 [directory_entry.obs] |
directory_entry::status is not allowed to be
cached as a quality-of-implementation issue |
No |
2 |
|
2668 |
New |
27.10.8 [class.path] |
path::operator+= is defined, but not operator+ |
Yes |
3 |
|
2663 |
New |
27.10.15.14 [fs.op.file_size] |
Enable efficient retrieval of file size from directory_entry |
Yes |
2 |
|
2584 |
New |
28.13 [re.grammar] |
<regex> ECMAScript IdentityEscape is ambiguous |
Yes |
2 |
|
2556 |
New |
30.6.6 [futures.unique_future] |
Wide contract for future::share() |
Yes |
3 |
|
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 |
|
2518 |
New |
99 [fund.ts.v2::propagate_const.algorithms] |
[fund.ts.v2] Non-member swap for propagate_const should call member swap |
Yes |
3 |
|
2292 |
New |
17.5.1.4 [structure.specifications] |
Find a better phrasing for "shall not participate in overload resolution" |
No |
3 |
|
2248 |
New |
18.3.2 [limits] |
numeric_limits::is_iec559 misnamed |
No |
4 |
|
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 |
|
2453 |
New |
18.9 [support.initlist] |
§[iterator.range] and now [iterator.container] aren't available via <initializer_list> |
No |
3 |
|
2358 |
New |
20.15.4.3 [meta.unary.prop] |
Apparently-bogus definition of is_empty type trait |
No |
3 |
|
2318 |
New |
21.3.1 [basic.string] |
basic_string's wording has confusing relics from the copy-on-write era |
No |
4 |
|
2237 |
New |
21.5 [c.strings] |
<cuchar> macros |
No |
4 |
|
2295 |
New |
22.3.1.2 [locale.cons] |
Locale name when the provided Facet is a nullptr |
No |
3 |
|
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 |
|
2335 |
New |
23.3.7 [array] |
array<array<int, 3>, 4> should be layout-compatible with int[4][3] |
No |
3 |
|
2158 |
New |
23.3.11.3 [vector.capacity] |
Conditional copy/move in std::vector |
No |
2 |
|
2161 |
New |
23.4 [associative] |
const equivalence of std::map |
No |
2 |
|
2173 |
New |
25 [algorithms] |
The meaning of operator + in the description of the algorithms |
Yes |
4 |
|
2242 |
New |
25.4.1 [alg.copy] |
[uninitialized_]copy_n() defect |
No |
2 |
|
2267 |
New |
25.5.1.4 [partial.sort.copy] |
partial_sort_copy underspecified for ranges of two different types |
No |
3 |
|
2166 |
New |
25.5.6 [alg.heap.operations] |
Heap property underspecified? |
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 |
|
2243 |
New |
27.7.2.3 [istream.unformatted] |
istream::putback problem |
No |
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 |
|
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 |
|
2343 |
New |
28.13 [re.grammar] |
Is the value of the ECMA-262 RegExp object's multiline property really false? |
No |
2 |
|
2201 |
New |
C.5 [diff.library] |
Missing macro entries from C standard library |
No |
2 |
|
2591 |
New |
20.14.12.2.5 [func.wrap.func.targ] |
std::function's member template target() should not lead to undefined behaviour |
Yes |
3 |
|
2567 |
New |
20.15.8 [meta.logical] |
Specification of logical operator traits uses BaseCharacteristic, which is defined only for UnaryTypeTraits
and BinaryTypeTraits |
No |
2 |
|
2569 |
New |
20.15.8 [meta.logical] |
conjunction and disjunction requirements are too strict |
No |
2 |
|
2587 |
New |
20.15.8 [meta.logical] |
"Convertible to bool" requirement in conjunction and disjunction |
No |
3 |
|
2568 |
New |
99 [fund.ts.v2::meta.logical] |
[fund.ts.v2] Specification of logical operator traits uses BaseCharacteristic, which is defined only for
UnaryTypeTraits and BinaryTypeTraits |
No |
2 |
|
2588 |
New |
99 [fund.ts.v2::meta.logical] |
[fund.ts.v2] "Convertible to bool" requirement in conjunction and disjunction |
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 |
|
2521 |
New |
99 [fund.ts.v2::memory.smartptr.weak.const] |
[fund.ts.v2] weak_ptr's converting move constructor should be modified as well for array support |
Yes |
2 |
|
2525 |
New |
99 [fund.ts.v2::func.wrap.func] |
[fund.ts.v2] get_memory_resource should be const and noexcept |
Yes |
3 |
|
2527 |
New |
99 [fund.ts.v2::func.wrap.func.con] |
[fund.ts.v2] ALLOCATOR_OF for function::operator= has incorrect default |
Yes |
3 |
|
2544 |
New |
24.6.3.2 [istreambuf.iterator.cons] |
istreambuf_iterator(basic_streambuf<charT, traits>* s) effects unclear when s is 0 |
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 |
|
2540 |
New |
23.2.5 [unord.req] |
unordered_multimap::insert hint iterator |
Yes |
3 |
|
2546 |
New |
28.13 [re.grammar] |
Implementability of locale-sensitive UnicodeEscapeSequence matching |
No |
4 |
|
2530 |
New |
30.6.4 [futures.state] |
Clarify observable side effects of releasing a shared state |
No |
3 |
|
2532 |
New |
30.6.5 [futures.promise] |
Satisfying a promise at thread exit |
No |
3 |
|
2531 |
New |
30.6.6 [futures.unique_future] |
future::get should explicitly state that the shared state is released |
Yes |
3 |
|
2541 |
New |
99 [parallel.ts::parallel.alg.overloads] |
[parallel.ts] Headers for ExecutionPolicy algorithm overloads |
No |
1 |
|
2498 |
New |
27.7.2.6 [istream.rvalue] |
operator>>(basic_istream&&, T&&) returns basic_istream&, but should probably return
basic_istream&& |
No |
3 |
|
2497 |
New |
27.7.3.4 [ostream::sentry] |
Use of uncaught_exception() |
No |
3 |
|
2503 |
New |
28.5.1 [re.synopt] |
multiline option should be added to syntax_option_type |
Yes |
2 |
|
2506 |
New |
1.10 [intro.multithread] |
Underspecification of atomics |
No |
3 |
|
2392 |
New |
17.3.16 [defns.ntcts] |
"character type" is used but not defined |
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 |
|
2534 |
New |
27.7.3.9 [ostream.rvalue] |
Constrain rvalue stream operators |
Yes |
3 |
|
2528 |
New |
20.5.2.1 [tuple.cnstr] |
Order of std::tuple construction unspecified |
No |
3 |
|
2535 |
New |
21.3.2.9 [string.io] |
Inconsistency between ostream::write and ostream::operator<< |
No |
2 |
|
2519 |
New |
24.2.7 [random.access.iterators] |
Iterator operator-= has gratuitous undefined behaviour |
Yes |
2 |
|
2536 |
New |
D.4 [depr.c.headers] |
What should <complex.h> do? |
Yes |
2 |
|
2511 |
New |
20.13.4 [allocator.adaptor.members] |
scoped_allocator_adaptor piecewise construction does not require CopyConstructible |
No |
3 |
|
2501 |
New |
20.14.12.2 [func.wrap.func] |
std::function requires POCMA/POCCA |
No |
3 |
|
2502 |
New |
20.14.12.2 [func.wrap.func] |
std::function does not use allocator::construct |
No |
3 |
|
2514 |
New |
20.15.1 [meta.rqmts] |
Type traits must not be final |
No |
3 |
|
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 |
|
2512 |
New |
22.4.5.1.2 [locale.time.get.virtuals] |
Y2K bites; what is an "unambiguous year identifier"? |
No |
2 |
|
2507 |
New |
22.5 [locale.stdcvt] |
codecvt_mode should be a bitmask type |
No |
3 |
|
2504 |
New |
27.6.3 [streambuf] |
basic_streambuf is not an abstract class |
No |
3 |
|
2461 |
New |
17.6.3.5 [allocator.requirements] |
Interaction between allocators and container exception safety guarantees |
No |
3 |
|
2493 |
New |
18.9 [support.initlist] |
initializer_list supports incomplete classes |
No |
4 |
|
2472 |
New |
20.5.2.8 [tuple.rel] |
Heterogeneous comparisons in the standard library can result in ambiguities |
No |
3 |
|
2491 |
New |
20.14.6 [comparisons] |
std::less<T*> in constant expression |
No |
3 |
|
2475 |
New |
21.3.1.5 [string.access] |
Allow overwriting of std::basic_string terminator with charT() to allow
cleaner interoperation with legacy APIs |
Yes |
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 |
|
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 |
|
2471 |
New |
25.4.1 [alg.copy] |
copy_n's number of InputIterator increments unspecified |
No |
3 |
|
2490 |
New |
28 [re] |
<regex> needs lots of noexcept |
No |
3 |
|
2413 |
New |
19.3 [assertions] |
assert macro is overconstrained |
No |
4 |
|
2421 |
New |
20.10.5 [ptr.align] |
Non-specification of handling zero size in std::align [ptr.align] |
No |
3 |
|
2460 |
New |
20.15.7.6 [meta.trans.other] |
LWG issue 2408 and value categories |
No |
2 |
|
2465 |
New |
20.15.7.6 [meta.trans.other] |
SFINAE-friendly common_type is nearly impossible to specialize
correctly and regresses key functionality |
No |
2 |
|
2394 |
New |
22.3.1.3 [locale.members] |
locale::name specification unclear — what is implementation-defined? |
No |
3 |
|
2449 |
New |
23.3.11.5 [vector.modifiers] |
vector::insert invalidates end()? |
No |
3 |
|
2375 |
New |
24.2.1 [iterator.requirements.general] |
Is [iterator.requirements.general]/9 too broadly applied? |
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 |
|
2423 |
New |
26.7.5 [template.slice.array] |
Missing specification slice_array, gslice_array, mask_array, indirect_array copy constructor |
Yes |
4 |
|
2431 |
New |
28.3 [re.req] |
Missing regular expression traits requirements |
No |
3 |
|
Issue |
Status |
Section |
Title |
Proposed Resolution |
Priority |
Duplicates |
2683 |
WP |
27.10.15.3 [fs.op.copy] |
filesystem::copy() says "no effects" |
Yes |
3 |
|
2619 |
WP |
99 [filesys.ts::path.io] |
[filesys.ts] [PDTS] Consider using quoted manipulators |
Yes |
|
|
2710 |
WP |
17.5.1.4 [structure.specifications] |
"Effects: Equivalent to ..." doesn't count "Synchronization:" as determined semantics |
Yes |
0 |
|
2709 |
WP |
18.2 [support.types] |
offsetof is unnecessarily imprecise |
Yes |
2 |
|
2422 |
WP |
18.3.2.4 [numeric.limits.members] |
std::numeric_limits<T>::is_modulo description: "most machines" errata |
Yes |
2 |
|
2312 |
WP |
20.5.2.1 [tuple.cnstr] |
tuple's constructor constraints need to be phrased more precisely |
Yes |
2 |
|
2549 |
WP |
20.5.2.1 [tuple.cnstr] |
Tuple EXPLICIT constructor templates that take tuple parameters end up taking references
to temporaries and will create dangling references |
Yes |
2 |
|
2685 |
WP |
20.11.2.2.1 [util.smartptr.shared.const] |
shared_ptr deleters must not not throw on move construction |
Yes |
0 |
|
2724 |
WP |
20.12.2 [memory.resource.class] |
The protected virtual member functions of memory_resource should be private |
Yes |
4 |
|
2393 |
WP |
20.14.12.2 [func.wrap.func] |
std::function's Callable definition is broken |
Yes |
2 |
|
2698 |
WP |
23.2.3 [sequence.reqmts] |
Effect of assign() on iterators/pointers/references |
Yes |
0 |
|
2436 |
WP |
23.2.4 [associative.reqmts] |
Comparators for associative containers should always be CopyConstructible |
Yes |
2 |
|
2542 |
WP |
23.2.4 [associative.reqmts] |
Missing const requirements for associative containers |
Yes |
1 |
|
2550 |
WP |
23.2.5 [unord.req] |
Wording of unordered container's clear() method complexity |
Yes |
2 |
|
2310 |
WP |
23.3.7.1 [array.overview] |
Public exposition only member in std::array |
Yes |
4 |
|
2596 |
WP |
23.3.11.4 [vector.data] |
vector::data() should use addressof |
Yes |
0 |
|
2684 |
WP |
23.6.5 [priority.queue] |
priority_queue lacking comparator typedef |
Yes |
0 |
|
2727 |
WP |
25.1 [algorithms.general] |
Parallel algorithms with constexpr specifier |
Yes |
0 |
|
2718 |
WP |
25.2.3 [algorithms.parallel.exec] |
Parallelism bug in [algorithms.parallel.exec] p2 |
Yes |
|
|
2689 |
WP |
25.4.1 [alg.copy] |
Parallel versions of std::copy and std::move shouldn't be in order |
Yes |
0 |
|
2716 |
WP |
25.4.12 [alg.random.sample] |
Specification of shuffle and sample disallows lvalue URNGs |
Yes |
0 |
|
2688 |
WP |
25.5.8 [alg.clamp] |
clamp misses preconditions and has extraneous condition on result |
Yes |
0 |
|
2181 |
WP |
26.6.1.2 [rand.req.seedseq] |
Exceptions from seed sequence operations |
Yes |
3 |
|
2687 |
WP |
26.8.7 [exclusive.scan] |
{inclusive,exclusive}_scan misspecified |
Yes |
1 |
|
2328 |
WP |
27.7.2.6 [istream.rvalue] |
Rvalue stream extraction should use perfect forwarding |
Yes |
3 |
|
2707 |
WP |
27.10.8 [class.path] |
path construction and assignment should have "string_type&&" overloads |
Yes |
0 |
|
2711 |
WP |
27.10.8.4.1 [path.construct] |
path is convertible from approximately everything under the sun |
Yes |
1 |
|
2667 |
WP |
27.10.8.4.9 [path.decompose] |
path::root_directory() description is confusing |
Yes |
0 |
|
2674 |
WP |
27.10.8.5 [path.itr] |
Bidirectional iterator requirement on path::iterator
is very expensive |
Yes |
2 |
|
2723 |
WP |
27.10.13 [class.directory_iterator] |
Do directory_iterator and recursive_directory_iterator become the end iterator upon error? |
Yes |
0 |
|
2726 |
WP |
27.10.13.1 [directory_iterator.members] |
[recursive_]directory_iterator::increment(error_code&) is underspecified |
Yes |
0 |
|
2706 |
WP |
27.10.14 [class.rec.dir.itr] |
Error reporting for recursive_directory_iterator::pop() is under-specified |
Yes |
0 |
|
2669 |
WP |
27.10.14.1 [rec.dir.itr.members] |
recursive_directory_iterator effects refers to non-existent functions
|
Yes |
0 |
|
2704 |
WP |
27.10.14.1 [rec.dir.itr.members] |
recursive_directory_iterator's members should require '*this is dereferenceable' |
Yes |
1 |
|
2671 |
WP |
27.10.15.3 [fs.op.copy] |
Errors in Copy |
Yes |
0 |
|
2725 |
WP |
27.10.15.12 [fs.op.exists] |
filesystem::exists(const path&, error_code&) error reporting |
Yes |
1 |
|
2719 |
WP |
27.10.15.26 [fs.op.permissions] |
permissions function should not be noexcept due to narrow contract |
Yes |
0 |
|
2720 |
WP |
27.10.15.26 [fs.op.permissions] |
permissions function incorrectly specified for symlinks |
Yes |
2 |
|
2721 |
WP |
27.10.15.31 [fs.op.remove_all] |
remove_all has incorrect post conditions |
Yes |
3 |
|
2673 |
WP |
27.10.15.35 [fs.op.status] |
status() effects cannot be implemented as specified |
Yes |
0 |
|
2728 |
WP |
27.10.15.35 [fs.op.status] |
status(p).permissions() and symlink_status(p).permissions() are not specified |
Yes |
0 |
|
2670 |
WP |
27.10.15.38 [fs.op.system_complete] |
system_complete refers to undefined variable 'base'
|
Yes |
0 |
|
2441 |
WP |
29.5 [atomics.types.generic] |
Exact-width atomic typedefs should be provided |
Yes |
0 |
|
2426 |
WP |
29.6.5 [atomics.types.operations.req] |
Issue about compare_exchange |
Yes |
1 |
|
2309 |
WP |
30.4.1.2 [thread.mutex.requirements.mutex] |
mutex::lock() should not throw device_or_resource_busy |
Yes |
0 |
|
2451 |
WP |
99 [fund.ts.v2::optional.object] |
[fund.ts.v2] optional<T> should 'forward' T's implicit conversions |
Yes |
|
|
2509 |
WP |
99 [fund.ts.v2::any.nonmembers] |
[fund.ts.v2] any_cast doesn't work with rvalue reference targets and cannot move with a value target |
Yes |
2 |
|
2516 |
WP |
99 [fund.ts.v2::memory.observer.ptr.overview] |
[fund.ts.v2] Public "exposition only" members in observer_ptr |
Yes |
2 |
|
2551 |
WP |
99 [fund.ts.v2::memory.smartptr.shared.const] |
[fund.ts.v2] "Exception safety" cleanup in library fundamentals required |
Yes |
0 |
|
2555 |
WP |
99 [fund.ts.v2::optional.object] |
[fund.ts.v2] No handling for over-aligned types in optional |
Yes |
0 |
|
2573 |
WP |
99 [fund.ts.v2::memory.smartptr.shared] |
[fund.ts.v2] std::hash<std::experimental::shared_ptr<T>> does not work for arrays |
Yes |
0 |
|
2559 |
WP |
19.3 [assertions] |
Error in LWG 2234's resolution |
Yes |
0 |
|
2296 |
WP |
20.10.10.1 [specialized.addressof] |
std::addressof should be constexpr |
Yes |
3 |
|
2520 |
WP |
20.11.1.3.1 [unique.ptr.runtime.ctor] |
N4089 broke initializing unique_ptr<T[]> from a nullptr |
Yes |
2 |
|
2572 |
WP |
20.11.2.2.5 [util.smartptr.shared.obs] |
The remarks for shared_ptr::operator* should apply to cv-qualified void as well |
Yes |
0 |
|
2586 |
WP |
20.13.4 [allocator.adaptor.members] |
Wrong value category used in scoped_allocator_adaptor::construct() |
Yes |
0 |
|
2450 |
WP |
20.14.6 [comparisons] |
(greater|less|greater_equal|less_equal)<void> do not yield a total order for pointers |
Yes |
2 |
|
2545 |
WP |
20.14.10.3 [func.bind.bind] |
Simplify wording for bind without explicitly specified return type |
Yes |
3 |
|
2565 |
WP |
20.14.12.2.1 [func.wrap.func.con] |
std::function's move constructor should guarantee nothrow for reference_wrappers and function pointers |
Yes |
0 |
|
2582 |
WP |
20.15 [meta] |
§[res.on.functions]/2's prohibition against incomplete types shouldn't apply to type traits |
Yes |
0 |
|
2581 |
WP |
20.15.2 [meta.type.synop] |
Specialization of <type_traits> variable templates should be prohibited |
Yes |
0 |
|
2560 |
WP |
20.15.4.3 [meta.unary.prop] |
is_constructible underspecified when applied to a function type |
Yes |
0 |
|
2557 |
WP |
20.15.8 [meta.logical] |
Logical operator traits are broken in the zero-argument case |
Yes |
0 |
|
2583 |
WP |
21.3.1.2 [string.cons] |
There is no way to supply an allocator for basic_string(str, pos) |
Yes |
0 |
|
2579 |
WP |
21.3.1.6.3 [string::assign] |
Inconsistency wrt Allocators in basic_string assignment vs. basic_string::assign |
Yes |
0 |
|
2590 |
WP |
23.3.7.1 [array.overview] |
Aggregate initialization for std::array |
Yes |
0 |
|
2585 |
WP |
23.3.9.5 [forwardlist.modifiers] |
forward_list::resize(size_type, const value_type&) effects incorrect |
Yes |
0 |
|
2571 |
WP |
23.4.4.4 [map.modifiers] |
§[map.modifiers]/2 imposes nonsensical requirement on insert(InputIterator, InputIterator) |
Yes |
0 |
|
2566 |
WP |
23.6 [container.adaptors] |
Requirements on the first template parameter of container adaptors |
Yes |
0 |
|
2537 |
WP |
23.6.5.2 [priqueue.cons.alloc] |
Constructors for priority_queue taking allocators should call make_heap |
Yes |
0 |
|
2576 |
WP |
24.6 [stream.iterators] |
istream_iterator and ostream_iterator should use std::addressof |
Yes |
0 |
|
2192 |
WP |
26.9 [c.math] |
Validity and return type of std::abs(0u) is unclear |
Yes |
2 |
|
2577 |
WP |
30.4.2.2.1 [thread.lock.unique.cons] |
{shared,unique}_lock should use std::addressof |
Yes |
0 |
|
2276 |
WP |
30.6 [futures] |
Missing requirement on std::promise::set_exception |
Yes |
|
|
2523 |
WP |
30.6.5 [futures.promise] |
std::promise synopsis shows two set_value_at_thread_exit()'s for no apparent reason |
Yes |
0 |
|
2522 |
WP |
99 [fund.ts.v2::memory.resource.global] |
[fund.ts.v2] Contradiction in set_default_resource specification |
Yes |
2 |
|
2539 |
WP |
99 [fund.ts.v2::meta.trans.other] |
[fund.ts.v2] invocation_trait definition definition doesn't work for surrogate call functions |
Yes |
|
|
2558 |
WP |
99 [fund.ts.v2::meta.logical] |
[fund.ts.v2] Logical operator traits are broken in the zero-argument case |
Yes |
0 |
|
2574 |
WP |
99 [fund.ts.v2::func.wrap.func.con] |
[fund.ts.v2] std::experimental::function::operator=(F&&) should be constrained |
Yes |
0 |
|
2575 |
WP |
99 [fund.ts.v2::func.wrap.func] |
[fund.ts.v2] experimental::function::assign should be removed |
Yes |
0 |
|
2170 |
WP |
17.6.3.1 [utility.arg.requirements] |
Aggregates cannot be DefaultConstructible |
Yes |
2 |
|
2016 |
WP |
17.6.3.5 [allocator.requirements] |
Allocators must be no-throw swappable |
Yes |
2 |
|
2129 |
WP |
17.6.4.2.1 [namespace.std] |
User specializations of std::initializer_list |
Yes |
3 |
|
2340 |
WP |
17.6.4.6 [replacement.functions] |
Replacement allocation functions declared as inline |
Yes |
2 |
|
2224 |
WP |
17.6.4.10 [res.on.objects] |
Ambiguous status of access to non-live objects |
Yes |
2 |
|
2133 |
WP |
17.6.5.4 [global.functions] |
Attitude to overloaded comma for iterators |
Yes |
3 |
|
2259 |
WP |
17.6.5.5 [member.functions] |
Issues in 17.6.5.5 rules for member functions |
Yes |
3 |
|
2111 |
WP |
18.8.4.4 [terminate] |
Which unexpected/terminate handler is called from the exception handling runtime? |
Yes |
3 |
|
2234 |
WP |
19.3 [assertions] |
assert() should allow usage in constant expressions |
Yes |
2 |
|
2212 |
WP |
20.2 [utility] |
tuple_size for const pair request <tuple> header |
Yes |
3 |
|
2250 |
WP |
20.9.1 [bitset.cons] |
Follow-up On Library Issue 2207 |
Yes |
3 |
|
2219 |
WP |
20.14.2 [func.require] |
INVOKE-ing a pointer to member with a reference_wrapper as the object expression |
Yes |
2 |
|
2233 |
WP |
20.14.12.1 [func.wrap.badcall] |
bad_function_call::what() unhelpful |
Yes |
3 |
|
2119 |
WP |
20.14.14 [unord.hash] |
Missing hash specializations for extended integer types |
Yes |
3 |
|
2336 |
WP |
20.15.4.3 [meta.unary.prop] |
is_trivially_constructible/is_trivially_assignable traits are always false |
Yes |
3 |
|
2101 |
WP |
20.15.7 [meta.trans] |
Some transformation types can produce impossible types |
Yes |
3 |
|
2063 |
WP |
21.3.1 [basic.string] |
Contradictory requirements for string move assignment |
Yes |
3 |
|
2482 |
WP |
21.5 [c.strings] |
§[c.strings] Table 73 mentions nonexistent functions |
Yes |
|
|
1169 |
WP |
22.4.2.1.2 [facet.num.get.virtuals] |
num_get not fully compatible with strto* |
Yes |
3 |
|
2218 |
WP |
23.2.1 [container.requirements.general] |
Unclear how containers use allocator_traits::construct() |
Yes |
3 |
|
2266 |
WP |
23.2.3 [sequence.reqmts] |
vector and deque have incorrect insert requirements |
Yes |
2 |
|
2156 |
WP |
23.2.5 [unord.req] |
Unordered containers' reserve(n) reserves for n-1 elements |
Yes |
3 |
|
2160 |
WP |
23.3.11.3 [vector.capacity] |
Unintended destruction ordering-specification of resize |
Yes |
1 |
|
2059 |
WP |
23.4.4 [map] |
C++0x ambiguity problem with map::erase |
Yes |
3 |
|
2354 |
WP |
23.4.4.1 [map.overview] |
Unnecessary copying when inserting into maps with braced-init syntax |
Yes |
2 |
|
2076 |
WP |
23.4.6.2 [set.cons] |
Bad CopyConstructible requirement in set constructors |
Yes |
3 |
|
2230 |
WP |
23.5 [unord] |
"see below" for initializer-list constructors of unordered containers |
Yes |
4 |
|
2353 |
WP |
24.4.3 [iterator.operations] |
std::next is over-constrained |
Yes |
4 |
|
2106 |
WP |
24.5.3 [move.iterators] |
move_iterator wrapping iterators returning prvalues |
Yes |
3 |
|
2239 |
WP |
25.5.7 [alg.min.max] |
min/max/minmax requirements |
Yes |
3 |
|
2325 |
WP |
25.5.7 [alg.min.max] |
minmax_element()'s behavior differing from max_element()'s should be noted |
Yes |
3 |
|
2168 |
WP |
26.6.8.2.2 [rand.dist.uni.real] |
Inconsistent specification of uniform_real_distribution constructor |
Yes |
3 |
|
2244 |
WP |
27.7.2.3 [istream.unformatted] |
Issue on basic_istream::seekg |
Yes |
3 |
|
2217 |
WP |
28.9.2 [re.submatch.op] |
operator==(sub_match, string) slices on embedded '\0's |
Yes |
2 |
|
2273 |
WP |
28.11.2 [re.alg.match] |
regex_match ambiguity |
Yes |
2 |
|
2072 |
WP |
99 [temporary.buffer] |
Unclear wording about capacity of temporary buffers |
Yes |
3 |
|
2127 |
WP |
99 [storage.iterator] |
Move-construction with raw_storage_iterator |
Yes |
3 |
|
2601 |
WP |
99 [filesys.ts::fs.scope] |
[filesys.ts] [PDTS] Make namespaces consistent with Library TS policy |
Yes |
|
|
2602 |
WP |
99 [filesys.ts::fs.conform.9945] |
[filesys.ts] [PDTS] Tighten specification when there is no reasonable behavior |
Yes |
|
|
2603 |
WP |
99 [filesys.ts::fs.def.filename] |
[filesys.ts] [PDTS] Filename length needs bullet item |
Yes |
|
|
2605 |
WP |
99 [filesys.ts::path.generic] |
[filesys.ts] [PDTS] Parent of root directory unspecified |
Yes |
|
|
2606 |
WP |
99 [filesys.ts::fs.def.path] |
[filesys.ts] [PDTS] Path depth is underspecified |
Yes |
|
|
2607 |
WP |
99 [filesys.ts::fs.filesystem.synopsis] |
[filesys.ts] [PDTS] Unhelpful comment for struct space_info |
Yes |
|
|
2608 |
WP |
99 [filesys.ts::fs.filesystem.synopsis] |
[filesys.ts] [PDTS] file_time_type underspecified |
Yes |
|
|
2609 |
WP |
99 [filesys.ts::fs.filesystem.synopsis] |
[filesys.ts] [PDTS] Unclear why range-based-for functions return different types |
Yes |
|
|
2614 |
WP |
99 [filesys.ts::path.construct] |
[filesys.ts] [PDTS] Incorrect postconditions for path copy/move constructor |
Yes |
|
|
2615 |
WP |
99 [filesys.ts::path.type.cvt] |
[filesys.ts] [PDTS] Missing behavior for characters with no representation |
Yes |
|
|
2616 |
WP |
99 [filesys.ts::path.append] |
[filesys.ts] [PDTS] Append behavior underspecified if target is empty |
Yes |
|
|
2618 |
WP |
99 [filesys.ts::path.query] |
[filesys.ts] [PDTS] is_absolute() return clause confusing |
Yes |
|
|
2621 |
WP |
99 [filesys.ts::directory_entry.obs] |
[filesys.ts] [PDTS] directory_entry operator== needs clarification |
Yes |
|
|
2622 |
WP |
99 [filesys.ts::directory_iterator.members] |
[filesys.ts] [PDTS] directory_iterator underspecified |
Yes |
|
|
2624 |
WP |
99 [filesys.ts::fs.op.copy] |
[filesys.ts] [PDTS] Incorrect effects clause for path copy |
Yes |
|
|
2625 |
WP |
99 [filesys.ts::fs.op.copy_file] |
[filesys.ts] [PDTS] Copying equivalent paths effects not specified |
Yes |
|
|
2627 |
WP |
99 [filesys.ts::fs.op.file_size] |
[filesys.ts] [PDTS] Return value of uintmax_t on error? |
Yes |
|
|
2629 |
WP |
99 [filesys.ts::fs.op.read_symlink] |
[filesys.ts] [PDTS] Unclear semantics of read_symlink on error |
Yes |
|
|
2632 |
WP |
99 [filesys.ts::fs.op.system_complete] |
[filesys.ts] [PDTS] system_complete() example needs clarification |
Yes |
|
|
2633 |
WP |
99 [filesys.ts::fs.op.funcs] |
[filesys.ts] [PDTS] unique_path() is a security vulnerability |
Yes |
|
|
2634 |
WP |
99 [filesys.ts::fs.filesystem.synopsis] |
[filesys.ts]
[PDTS] enum class directory_options has no summary
|
Yes |
|
|
2635 |
WP |
99 [filesys.ts::fs.filesystem.synopsis] |
[filesys.ts] [PDTS] directory_options::skip_permission_denied is not used |
Yes |
|
|
2636 |
WP |
99 [filesys.ts::enum.copy_options] |
[filesys.ts] [PDTS] copy_options::copy_symlinks is not used |
Yes |
|
|
2637 |
WP |
99 [filesys.ts::fs.op.canonical] |
[filesys.ts] [PDTS] All functions with error_code arguments should be noexcept |
Yes |
|
|
2640 |
WP |
99 [filesys.ts::class.directory_entry] |
[filesys.ts] [PDTS] class directory_entry should retain operator const path&() from V2 |
Yes |
|
|
2641 |
WP |
99 [filesys.ts::class.directory_iterator] |
[filesys.ts] [PDTS] directory_iterator, recursive_directory_iterator, move construct/assign should be noexcept |
Yes |
|
|
2644 |
WP |
99 [filesys.ts::enum.copy_options] |
[filesys.ts] [PDTS] enum classes copy_options and perms should be bitmask types |
Yes |
|
|
2645 |
WP |
99 [filesys.ts::fs.op.create_directory] |
[filesys.ts]
[PDTS] create_directory should refer to perms::all instead of Posix
S_IRWXU|S_IRWXG|S_IRWXO
|
Yes |
|
|
2647 |
WP |
99 [filesys.ts::fs.op.last_write_time] |
[filesys.ts] [PDTS] last_write_time() uses ill-formed cast |
Yes |
|
|
2648 |
WP |
99 [filesys.ts::path.native.obs] |
[filesys.ts] [PDTS] path::template<class charT>string() conversion rules |
Yes |
|
|
2649 |
WP |
99 [filesys.ts::path.construct] |
[filesys.ts] [PDTS] path and directory_entry move ctors should not be noexcept |
Yes |
|
|
2650 |
WP |
99 [filesys.ts::class.path] |
[filesys.ts] [PDTS] path::compare(const string& s) wrong argument type |
Yes |
|
|
2652 |
WP |
99 [filesys.ts::class.directory_iterator] |
[filesys.ts] [PDTS] Better to avoid deriving from std::iterator |
Yes |
|
|
2653 |
WP |
99 [filesys.ts::class.directory_entry] |
[filesys.ts] [PDTS] directory_entry multithreading concerns |
Yes |
|
|
2655 |
WP |
99 [filesys.ts::fs.err.report] |
[filesys.ts] [PDTS] Clarify Error reporting |
Yes |
|
|
2656 |
WP |
99 [filesys.ts::fs.req] |
[filesys.ts] [PDTS] Feature test macro for TS version |
Yes |
|
|
2657 |
WP |
99 [filesys.ts::fs.conform.9945] |
[filesys.ts] [PDTS] Inappropriate use of "No diagnostic is required" |
Yes |
|
|
2658 |
WP |
99 [filesys.ts::fs.op.last_write_time] |
[filesys.ts] [PDTS] POSIX utime() is obsolescent |
Yes |
|
|
2660 |
WP |
99 [filesys.ts::fs.op.absolute] |
[filesys.ts] [PDTS] Incorrect Throws specification for absolute() |
Yes |
|
|
2662 |
WP |
99 [filesys.ts::fs.req] |
[filesys.ts] Allocator requirements unspecified |
Yes |
|
|
2389 |
WP |
99 [fund.ts::func.wrap.func.con] |
[fund.ts] function::operator= is over-specified and handles allocators incorrectly |
Yes |
2 |
|
2390 |
WP |
99 [fund.ts::meta.trans.other] |
[fund.ts] Invocation types and rvalues |
Yes |
|
|
2395 |
WP |
99 [fund.ts::func.wrap.func] |
[fund.ts] Preconditions: is defined nowhere |
Yes |
2 |
|
2409 |
WP |
99 [fund.ts::meta.trans.other] |
[fund.ts] SFINAE-friendly common_type/iterator_traits should be removed from the fundamental-ts |
Yes |
|
|
2410 |
WP |
99 [fund.ts::memory.smartptr.shared.const] |
[fund.ts] shared_ptr<array>'s constructor from unique_ptr should be constrained |
Yes |
0 |
|
2494 |
WP |
99 [fund.ts.v2::iterator.ostream.joiner] |
[fund.ts.v2] ostream_joiner needs noexcept |
Yes |
0 |
|
2500 |
WP |
99 [fund.ts.v2::memory.smartptr.shared.obs] |
[fund.ts.v2] fundts.memory.smartptr.shared.obs/6 should apply to cv-unqualified void |
Yes |
0 |
|
2515 |
WP |
99 [fund.ts.v2::memory.observer.ptr.special] |
[fund.ts.v2] Certain comparison operators of observer_ptr do not match synopsis |
Yes |
0 |
|
2517 |
WP |
99 [fund.ts.v2::propagate_const.assignment] |
[fund.ts.v2] Two propagate_const assignment operators have incorrect return type |
Yes |
0 |
|
2526 |
WP |
99 [fund.ts.v2::func.wrap.func.mod] |
[fund.ts.v2] Incorrect precondition for experimental::function::swap |
Yes |
0 |
|
2380 |
WP |
17.6.1.2 [headers] |
May <cstdlib> provide long ::abs(long) and long long ::abs(long long)? |
Yes |
2 |
|
2384 |
WP |
17.6.3.5 [allocator.requirements] |
Allocator's deallocate function needs better specification |
Yes |
3 |
|
2447 |
WP |
17.6.3.5 [allocator.requirements] |
Allocators and volatile-qualified value types |
Yes |
4 |
|
2466 |
WP |
17.6.3.5 [allocator.requirements] |
allocator_traits::max_size() default behavior is incorrect |
Yes |
3 |
|
2483 |
WP |
18.8.7 [except.nested] |
throw_with_nested() should use is_final |
Yes |
2 |
|
2484 |
WP |
18.8.7 [except.nested] |
rethrow_if_nested() is doubly unimplementable |
Yes |
2 |
|
2485 |
WP |
20.5.2.7 [tuple.elem] |
get() should be overloaded for const tuple&& |
Yes |
1 |
|
2495 |
WP |
20.11.2.2.1 [util.smartptr.shared.const] |
There is no such thing as an Exception Safety element |
Yes |
0 |
|
2476 |
WP |
20.13.1 [allocator.adaptor.syn] |
scoped_allocator_adaptor is not assignable |
Yes |
0 |
|
2486 |
WP |
20.14.2 [func.require] |
mem_fn() should be required to use perfect forwarding |
Yes |
0 |
|
2435 |
WP |
20.14.4.4 [refwrap.invoke] |
reference_wrapper::operator()'s Remark should be deleted |
Yes |
4 |
|
2487 |
WP |
20.14.10.3 [func.bind.bind] |
bind() should be const-overloaded, not cv-overloaded |
Yes |
2 |
|
2489 |
WP |
20.14.11 [func.memfn] |
mem_fn() should be noexcept |
Yes |
0 |
|
2385 |
WP |
20.14.12.2 [func.wrap.func] |
function::assign allocator argument doesn't make sense |
Yes |
2 |
|
2367 |
WP |
20.15.4.3 [meta.unary.prop] |
pair and tuple are not correctly implemented for is_constructible with no args |
Yes |
3 |
|
2477 |
WP |
23.3.8.4 [deque.modifiers] |
Inconsistency of wordings in std::vector::erase() and std::deque::erase() |
Yes |
0 |
|
2469 |
WP |
23.4.4.3 [map.access] |
Wrong specification of Requires clause of operator[] for map and unordered_map |
Yes |
3 |
|
2492 |
WP |
25.5 [alg.sorting] |
Clarify requirements for comp |
Yes |
0 |
|
2462 |
WP |
27.5.3 [ios.base] |
std::ios_base::failure is overspecified |
Yes |
3 |
|
2473 |
WP |
27.9.2.4 [filebuf.virtuals] |
basic_filebuf's relation to C FILE semantics |
Yes |
2 |
|
2371 |
WP |
99 [fund.ts::meta.type.synop] |
[fund.ts] No template aliases defined for new type traits |
Yes |
0 |
|
2374 |
WP |
99 [fund.ts::optional.object.observe] |
[fund.ts] Remarks for optional::to_value are too restrictive |
Yes |
0 |
|
2418 |
WP |
99 [fund.ts::tuple.apply] |
[fund.ts] apply does not work with member pointers |
Yes |
0 |
|
2467 |
WP |
17.6.3.5 [allocator.requirements] |
is_always_equal has slightly inconsistent default |
Yes |
0 |
|
2378 |
WP |
18.6.3.1 [bad.alloc] |
Behaviour of standard exception types |
Yes |
0 |
|
2361 |
WP |
20.11.1.2 [unique.ptr.single] |
Apply 2299 resolution throughout library |
Yes |
|
|
2387 |
WP |
20.14.2 [func.require] |
More nested types that must be accessible and unambiguous |
Yes |
|
|
2396 |
WP |
20.15.7.6 [meta.trans.other] |
underlying_type doesn't say what to do for an incomplete enumeration type |
Yes |
0 |
|
2408 |
WP |
20.15.7.6 [meta.trans.other] |
SFINAE-friendly common_type/iterator_traits is missing in C++14 |
Yes |
|
|
2364 |
WP |
23.3.8.4 [deque.modifiers] |
deque and vector pop_back don't specify iterator invalidation requirements |
Yes |
0 |
|
2428 |
WP |
17.6.2.2 [using.headers] |
"External declaration" used without being defined |
Yes |
0 |
|
2455 |
WP |
17.6.3.5 [allocator.requirements] |
Allocator default construction should be allowed to throw |
Yes |
|
|
2470 |
WP |
17.6.3.5 [allocator.requirements] |
Allocator's destroy function should be allowed to fail to instantiate |
Yes |
|
|
2458 |
WP |
18.6 [support.dynamic] |
N3778 and new library deallocation signatures |
Yes |
2 |
|
2425 |
WP |
18.6.2 [new.delete] |
operator delete(void*, size_t) doesn't invalidate pointers sufficiently |
Yes |
0 |
|
2433 |
WP |
20.10.10 [specialized.algorithms] |
uninitialized_copy()/etc. should tolerate overloaded operator& |
Yes |
0 |
|
2411 |
WP |
20.11.2.2 [util.smartptr.shared] |
shared_ptr is only contextually convertible to bool |
Yes |
0 |
|
2415 |
WP |
20.11.2.2.1 [util.smartptr.shared.const] |
Inconsistency between unique_ptr and shared_ptr |
Yes |
2 |
|
2434 |
WP |
20.11.2.2.5 [util.smartptr.shared.obs] |
shared_ptr::use_count() is efficient |
Yes |
0 |
|
2488 |
WP |
20.14.10.4 [func.bind.place] |
Placeholders should be allowed and encouraged to be constexpr |
Yes |
2 |
|
2420 |
WP |
20.14.12.2 [func.wrap.func] |
function<void(ArgTypes...)> does not discard the return value of the target object |
Yes |
1 |
|
2403 |
WP |
21.3.3 [string.conversions] |
stof() should call strtof() and wcstof() |
Yes |
2 |
|
2448 |
WP |
23.2.1 [container.requirements.general] |
Non-normative Container destructor specification |
Yes |
0 |
|
2427 |
WP |
23.3.1 [sequences.general] |
Container adaptors as sequence containers, redux |
Yes |
0 |
|
2464 |
WP |
23.4.4.4 [map.modifiers] |
try_emplace and insert_or_assign misspecified |
Yes |
2 |
|
2437 |
WP |
24.2.2 [iterator.iterators] |
iterator_traits<OutIt>::reference can and can't be void |
Yes |
3 |
|
2439 |
WP |
25.4.9 [alg.unique] |
unique_copy() sometimes can't fall back to reading its output |
Yes |
3 |
|
2369 |
WP |
25.5.7 [alg.min.max] |
constexpr max(initializer_list) vs max_element |
Yes |
3 |
|
2459 |
WP |
26.5.7 [complex.value.ops] |
std::polar should require a non-negative rho |
Yes |
0 |
|
2440 |
WP |
26.6.7.1 [rand.util.seedseq] |
seed_seq::size() should be noexcept |
Yes |
0 |
|
2406 |
WP |
26.6.8.3.4 [rand.dist.bern.negbin] |
negative_binomial_distribution should reject p == 1 |
Yes |
3 |
|
2442 |
WP |
30.4.4.2 [thread.once.callonce] |
call_once() shouldn't DECAY_COPY() |
Yes |
|
|
2407 |
WP |
30.6.9.1 [futures.task.members] |
packaged_task(allocator_arg_t, const Allocator&, F&&) should neither be constrained nor
explicit |
Yes |
|
|
2438 |
WP |
99 [iterator.basic] |
std::iterator inheritance shouldn't be mandated |
Yes |
3 |
|
2454 |
WP |
99 [storage.iterator] |
Add raw_storage_iterator::base() member |
Yes |
0 |
|
2463 |
WP |
99 [fund.ts::alg.random.sample] |
[fund.ts] Incorrect complexity for sample() algorithm |
Yes |
0 |
|
2377 |
WP |
20.10.5 [ptr.align] |
std::align requirements overly strict |
Yes |
0 |
|
2365 |
WP |
20.11.2.2 [util.smartptr.shared] |
Missing noexcept in shared_ptr::shared_ptr(nullptr_t) |
Yes |
|
|
2399 |
WP |
20.11.2.2.1 [util.smartptr.shared.const] |
shared_ptr's constructor from unique_ptr should be constrained |
Yes |
0 |
|
2400 |
WP |
20.11.2.2.10 [util.smartptr.getdeleter] |
shared_ptr's get_deleter() should use addressof() |
Yes |
0 |
|
2401 |
WP |
20.14.12.2 [func.wrap.func] |
std::function needs more noexcept |
Yes |
0 |
|
2404 |
WP |
25.3.10 [mismatch] |
mismatch()'s complexity needs to be updated |
Yes |
0 |
|
2376 |
WP |
99 [util.smartptr.weakptr] |
bad_weak_ptr::what() overspecified |
Yes |
|
|
Issue |
Status |
Section |
Title |
Proposed Resolution |
Priority |
Duplicates |
2225 |
C++14 |
17.6.2.2 [using.headers] |
Unrealistic header inclusion checks required |
Yes |
|
|
2291 |
C++14 |
17.6.3.4 [hash.requirements] |
std::hash is vulnerable to collision DoS attack |
Yes |
|
|
2065 |
C++14 |
17.6.3.5 [allocator.requirements] |
Minimal allocator interface |
Yes |
|
|
2081 |
C++14 |
17.6.3.5 [allocator.requirements] |
Allocator requirements should include CopyConstructible |
Yes |
|
|
2147 |
C++14 |
17.6.3.5 [allocator.requirements] |
Unclear hint type in Allocator's allocate function |
Yes |
|
|
2162 |
C++14 |
17.6.3.5 [allocator.requirements] |
allocator_traits::max_size missing noexcept |
Yes |
|
|
2263 |
C++14 |
17.6.3.5 [allocator.requirements] |
Comparing iterators and allocator pointers with different const-character |
Yes |
1 |
|
2112 |
C++14 |
17.6.5 [conforming] |
User-defined classes that cannot be derived from |
Yes |
1 |
|
2013 |
C++14 |
17.6.5.6 [constexpr.functions] |
Do library implementers have the freedom to add constexpr? |
Yes |
|
|
2044 |
C++14 |
17.6.5.7 [algorithm.stable] |
No definition of "Stable" for copy algorithms |
Yes |
|
|
2099 |
C++14 |
18.10 [support.runtime] |
Unnecessary constraints of va_start() usage |
Yes |
|
|
2145 |
C++14 |
19.5.2 [syserr.errcat] |
error_category default constructor |
Yes |
|
|
2109 |
C++14 |
19.5.6 [syserr.hash] |
Incorrect requirements for hash specializations |
Yes |
|
|
2314 |
C++14 |
20.3.1 [intseq.general] |
apply() should return decltype(auto) and use decay_t before tuple_size |
Yes |
0 |
|
2275 |
C++14 |
20.5.2.4 [tuple.creation] |
[CD] Why is forward_as_tuple not constexpr? |
Yes |
|
|
2301 |
C++14 |
20.5.2.4 [tuple.creation] |
Why is std::tie not constexpr? |
Yes |
2 |
|
2313 |
C++14 |
20.5.2.6 [tuple.helper] |
tuple_size should always derive from integral_constant<size_t, N> |
Yes |
2 |
|
2284 |
C++14 |
20.10.8 [allocator.traits] |
Inconsistency in allocator_traits::max_size |
Yes |
|
|
2103 |
C++14 |
20.10.9 [default.allocator] |
std::allocator_traits<std::allocator<T>>::propagate_on_container_move_assignment |
Yes |
|
|
2047 |
C++14 |
20.11.1.2.3 [unique.ptr.single.asgn] |
Incorrect "mixed" move-assignment semantics of unique_ptr |
Yes |
|
|
2246 |
C++14 |
20.11.1.2.3 [unique.ptr.single.asgn] |
unique_ptr assignment effects w.r.t. deleter |
Yes |
|
|
2169 |
C++14 |
20.11.1.3.4 [unique.ptr.runtime.modifiers] |
Missing reset() requirements in unique_ptr specialization |
Yes |
|
|
2083 |
C++14 |
20.11.2.3 [util.smartptr.weak] |
const-qualification on weak_ptr::owner_before |
Yes |
|
|
2315 |
C++14 |
20.11.2.3 [util.smartptr.weak] |
weak_ptr should be movable |
Yes |
2 |
|
2316 |
C++14 |
20.11.2.3.5 [util.smartptr.weak.obs] |
weak_ptr::lock() should be atomic |
Yes |
0 |
|
2172 |
C++14 |
20.11.2.6 [util.smartptr.shared.atomic] |
Does atomic_compare_exchange_* accept v == nullptr arguments? |
Yes |
|
|
2203 |
C++14 |
20.13.4 [allocator.adaptor.members] |
scoped_allocator_adaptor uses wrong argument types for piecewise construction |
Yes |
|
|
2048 |
C++14 |
20.14 [function.objects] |
Unnecessary mem_fn overloads |
Yes |
|
|
2149 |
C++14 |
20.14 [function.objects] |
Concerns about 20.8/5 |
Yes |
|
|
2010 |
C++14 |
20.14.10.1 [func.bind.isbind] |
is_* traits for binding operations can't be meaningfully specialized |
Yes |
|
|
2021 |
C++14 |
20.14.10.3 [func.bind.bind] |
Further incorrect usages of result_of |
Yes |
|
|
2132 |
C++14 |
20.14.12.2.1 [func.wrap.func.con] |
std::function ambiguity |
Yes |
2 |
|
2148 |
C++14 |
20.14.14 [unord.hash] |
Hashing enums should be supported directly by std::hash |
Yes |
|
|
2346 |
C++14 |
20.15.3 [meta.help] |
integral_constant's member functions should be marked noexcept |
Yes |
0 |
|
2015 |
C++14 |
20.15.4 [meta.unary] |
Incorrect pre-conditions for some type traits |
Yes |
|
|
2247 |
C++14 |
20.15.4.1 [meta.unary.cat] |
Type traits and std::nullptr_t |
Yes |
|
|
2049 |
C++14 |
20.15.4.3 [meta.unary.prop] |
is_destructible is underspecified |
Yes |
|
|
2196 |
C++14 |
20.15.4.3 [meta.unary.prop] |
Specification of is_*[copy/move]_[constructible/assignable] unclear for non-referencable types |
Yes |
|
|
2197 |
C++14 |
20.15.4.3 [meta.unary.prop] |
Specification of is_[un]signed unclear for non-arithmetic types |
Yes |
|
|
2298 |
C++14 |
20.15.4.3 [meta.unary.prop] |
[CD] is_nothrow_constructible is always false because of create<> |
Yes |
|
|
2317 |
C++14 |
20.15.5 [meta.unary.prop.query] |
The type property queries should be UnaryTypeTraits returning size_t |
Yes |
0 |
|
2141 |
C++14 |
20.15.7.6 [meta.trans.other] |
common_type trait produces reference types |
Yes |
|
|
2278 |
C++14 |
20.17.2 [time.syn] |
User-defined literals for Standard Library types |
Yes |
|
|
2094 |
C++14 |
20.17.5.1 [time.duration.cons] |
duration conversion overflow shouldn't participate in overload resolution |
Yes |
|
|
2144 |
C++14 |
20.18 [type.index] |
Missing noexcept specification in type_index |
Yes |
|
|
2064 |
C++14 |
21.3.1 [basic.string] |
More noexcept issues in basic_string |
Yes |
|
|
2268 |
C++14 |
21.3.1 [basic.string] |
Setting a default argument in the declaration of a member function assign of std::basic_string |
Yes |
|
|
2003 |
C++14 |
21.3.1.1 [string.require] |
String exception inconsistency in erase. |
Yes |
0 |
|
2069 |
C++14 |
21.3.1.2 [string.cons] |
Inconsistent exception spec for basic_string move constructor |
Yes |
|
|
2235 |
C++14 |
21.3.1.2 [string.cons] |
Undefined behavior without proper requirements on basic_string constructors |
Yes |
|
|
2207 |
C++14 |
21.3.1.5 [string.access] |
basic_string::at should not have a Requires clause |
Yes |
|
|
2011 |
C++14 |
21.3.2.9 [string.io] |
Unexpected output required of strings |
Yes |
|
|
2009 |
C++14 |
21.3.3 [string.conversions] |
Reporting out-of-bound values on numeric string conversions |
Yes |
|
|
2174 |
C++14 |
22.3.3.2.2 [conversions.string] |
wstring_convert::converted() should be noexcept |
Yes |
|
|
2175 |
C++14 |
22.3.3.2.2 [conversions.string] |
wstring_convert and wbuffer_convert validity |
Yes |
|
|
2176 |
C++14 |
22.3.3.2.2 [conversions.string] |
Special members for wstring_convert and wbuffer_convert |
Yes |
|
|
2293 |
C++14 |
22.4.2.2.2 [facet.num.put.virtuals] |
Wrong facet used by num_put::do_put |
Yes |
0 |
|
2028 |
C++14 |
22.4.7.1 [locale.messages] |
messages_base::catalog overspecified |
Yes |
|
|
2229 |
C++14 |
22.5 [locale.stdcvt] |
Standard code conversion facets underspecified |
Yes |
|
|
2193 |
C++14 |
23 [containers] |
Default constructors for standard library containers are explicit |
Yes |
1 |
|
2105 |
C++14 |
23.2.1 [container.requirements.general] |
Inconsistent requirements on const_iterator's value_type |
Yes |
|
|
2177 |
C++14 |
23.2.1 [container.requirements.general] |
Requirements on Copy/MoveInsertable |
Yes |
|
|
2182 |
C++14 |
23.2.1 [container.requirements.general] |
Container::[const_]reference types are misleadingly specified |
Yes |
0 |
|
2211 |
C++14 |
23.2.1 [container.requirements.general] |
Replace ambiguous use of "Allocator" in container requirements |
Yes |
|
|
2257 |
C++14 |
23.2.1 [container.requirements.general] |
Simplify container requirements with the new algorithms |
Yes |
|
|
2308 |
C++14 |
23.2.1 [container.requirements.general] |
Clarify container destructor requirements w.r.t. std::array |
Yes |
0 |
|
2320 |
C++14 |
23.2.1 [container.requirements.general] |
select_on_container_copy_construction() takes allocators, not containers |
Yes |
0 |
|
2200 |
C++14 |
23.2.2 [container.requirements.dataraces] |
Data race avoidance for all containers, not only for sequences |
Yes |
|
|
2231 |
C++14 |
23.2.3 [sequence.reqmts] |
DR 704 removes complexity guarantee for clear() |
Yes |
|
|
1214 |
C++14 |
23.2.4 [associative.reqmts] |
Insufficient/inconsistent key immutability requirements for associative containers |
Yes |
|
|
2258 |
C++14 |
23.2.4 [associative.reqmts] |
a.erase(q1, q2) unable to directly return q2 |
Yes |
0 |
|
2299 |
C++14 |
23.2.4 [associative.reqmts] |
[CD] Effects of inaccessible key_compare::is_transparent type are not clear |
Yes |
1 |
|
2322 |
C++14 |
23.2.4 [associative.reqmts] |
Associative(initializer_list, stuff) constructors are underspecified |
Yes |
0 |
|
2304 |
C++14 |
23.2.5 [unord.req] |
Complexity of count in unordered associative containers |
Yes |
0 |
|
2356 |
C++14 |
23.2.5 [unord.req] |
Stability of erasure in unordered associative containers |
Yes |
2 |
|
2209 |
C++14 |
23.3 [sequences] |
assign() overspecified for sequence containers |
Yes |
|
|
2210 |
C++14 |
23.3 [sequences] |
Missing allocator-extended constructor for allocator-aware containers |
Yes |
|
|
2045 |
C++14 |
23.3.9.6 [forwardlist.ops] |
forward_list::merge and forward_list::splice_after with unequal allocators |
Yes |
|
|
2123 |
C++14 |
23.3.9.6 [forwardlist.ops] |
merge() allocator requirements for lists versus forward lists |
Yes |
|
|
2222 |
C++14 |
23.3.9.6 [forwardlist.ops] |
Inconsistency in description of forward_list::splice_after single-element overload |
Yes |
|
|
2122 |
C++14 |
23.3.10.5 [list.ops] |
merge() stability for lists versus forward lists |
Yes |
|
|
2033 |
C++14 |
23.3.11.3 [vector.capacity] |
Preconditions of reserve, shrink_to_fit, and resize functions |
Yes |
|
|
2323 |
C++14 |
23.3.11.3 [vector.capacity] |
vector::resize(n, t)'s specification should be simplified |
Yes |
0 |
|
2252 |
C++14 |
23.3.11.5 [vector.modifiers] |
Strong guarantee on vector::push_back() still broken with C++11? |
Yes |
|
|
2187 |
C++14 |
23.3.12 [vector.bool] |
vector<bool> is missing emplace and emplace_back member functions |
Yes |
|
|
2005 |
C++14 |
23.4.4.4 [map.modifiers] |
unordered_map::insert(T&&) protection should apply to map too |
Yes |
|
|
2050 |
C++14 |
23.5 [unord] |
Unordered associative containers do not use allocator_traits to define member types |
Yes |
|
|
2194 |
C++14 |
23.6 [container.adaptors] |
Impossible container requirements for adaptor types |
Yes |
|
|
2061 |
C++14 |
24.3 [iterator.synopsis] |
make_move_iterator and arrays |
Yes |
|
|
2128 |
C++14 |
24.3 [iterator.synopsis] |
Absence of global functions cbegin/cend |
Yes |
|
|
2285 |
C++14 |
24.5.1 [reverse.iterators] |
make_reverse_iterator |
Yes |
|
|
2188 |
C++14 |
24.5.1.3.5 [reverse.iter.opref] |
Reverse iterator does not fully support targets that overload operator& |
Yes |
1 |
|
2324 |
C++14 |
24.5.2.2.1 [back.insert.iter.cons] |
Insert iterator constructors should use addressof() |
Yes |
0 |
|
2280 |
C++14 |
24.7 [iterator.range] |
begin/end for arrays should be constexpr and noexcept |
Yes |
|
|
2150 |
C++14 |
25.3.6 [alg.find.end] |
Unclear specification of find_end |
Yes |
|
|
2039 |
C++14 |
25.4.1 [alg.copy] |
Issues with std::reverse and std::copy_if |
Yes |
|
|
2110 |
C++14 |
25.4.8 [alg.remove] |
remove can't swap but note says it might |
Yes |
|
|
2074 |
C++14 |
25.4.10 [alg.reverse] |
Off by one error in std::reverse_copy |
Yes |
|
|
2357 |
C++14 |
25.4.14 [alg.partitions] |
Remaining "Assignable" requirement |
Yes |
0 |
|
2163 |
C++14 |
25.5.2 [alg.nth.element] |
nth_element requires inconsistent post-conditions |
Yes |
|
|
2339 |
C++14 |
25.5.2 [alg.nth.element] |
Wording issue in nth_element |
Yes |
0 |
|
2350 |
C++14 |
25.5.7 [alg.min.max] |
min, max, and minmax should be constexpr |
Yes |
1 |
|
2180 |
C++14 |
26.6.7.1 [rand.util.seedseq] |
Exceptions from std::seed_seq operations |
Yes |
|
|
2058 |
C++14 |
26.7 [numarray] |
valarray and begin/end |
Yes |
|
|
2071 |
C++14 |
26.7.2.3 [valarray.assign] |
std::valarray move-assignment |
Yes |
|
|
2086 |
C++14 |
26.9 [c.math] |
Overly generic type support for math functions |
Yes |
|
|
2087 |
C++14 |
27.5 [iostreams.base] |
iostream_category() and noexcept |
Yes |
|
|
2143 |
C++14 |
27.5.3 [ios.base] |
ios_base::xalloc should be thread-safe |
Yes |
|
|
2085 |
C++14 |
27.7.2.3 [istream.unformatted] |
Wrong description of effect 1 of basic_istream::ignore |
Yes |
|
|
2341 |
C++14 |
27.7.3.5 [ostream.seeks] |
Inconsistency between basic_ostream::seekp(pos) and basic_ostream::seekp(off, dir) |
Yes |
0 |
|
2272 |
C++14 |
27.7.6 [quoted.manip] |
quoted should use char_traits::eq for character comparison |
Yes |
|
|
2344 |
C++14 |
27.7.6 [quoted.manip] |
quoted()'s interaction with padding is unclear |
Yes |
1 |
|
2329 |
C++14 |
28.4 [re.syn] |
regex_match()/regex_search() with match_results should forbid temporary strings |
Yes |
2 |
|
2053 |
C++14 |
28.5 [re.const] |
Errors in regex bitmask types |
Yes |
|
|
2330 |
C++14 |
28.5.1 [re.synopt] |
regex("meow", regex::icase) is technically forbidden but should be permitted |
Yes |
0 |
|
2359 |
C++14 |
28.5.1 [re.synopt] |
How does regex_constants::nosubs affect basic_regex::mark_count()? |
Yes |
0 |
|
1450 |
C++14 |
28.5.2 [re.matchflag] |
Contradiction in regex_constants |
Yes |
3 |
|
2018 |
C++14 |
28.7 [re.traits] |
[CD] regex_traits::isctype Returns clause is wrong |
Yes |
|
|
2271 |
C++14 |
28.7 [re.traits] |
regex_traits::lookup_classname specification unclear |
Yes |
|
|
2306 |
C++14 |
28.10 [re.results] |
match_results::reference should be value_type&, not const value_type& |
Yes |
4 |
|
2205 |
C++14 |
28.11.2 [re.alg.match] |
Problematic postconditions of regex_match and regex_search |
Yes |
0 |
|
2213 |
C++14 |
28.11.4 [re.alg.replace] |
Return value of std::regex_replace |
Yes |
0 |
|
2332 |
C++14 |
28.12 [re.iter] |
regex_iterator/regex_token_iterator should forbid temporary regexes |
Yes |
2 |
|
2130 |
C++14 |
29.3 [atomics.order] |
Missing ordering constraints |
Yes |
|
|
2138 |
C++14 |
29.7 [atomics.flag] |
atomic_flag::clear should not accept memory_order_consume |
Yes |
|
|
2159 |
C++14 |
29.7 [atomics.flag] |
atomic_flag initialization |
Yes |
|
|
2091 |
C++14 |
30.4.1.3 [thread.timedmutex.requirements] |
Misplaced effect in m.try_lock_for() |
Yes |
|
|
2288 |
C++14 |
30.4.1.4 [thread.sharedmutex.requirements] |
Inconsistent requirements for shared mutexes |
Yes |
|
|
2104 |
C++14 |
30.4.2.2 [thread.lock.unique] |
unique_lock move-assignment should not be noexcept |
Yes |
|
|
2080 |
C++14 |
30.4.4 [thread.once] |
Specify when once_flag becomes invalid |
Yes |
|
|
2140 |
C++14 |
30.5 [thread.condition] |
Meaning of notify_all_at_thread_exit synchronization requirement? |
Yes |
|
|
2190 |
C++14 |
30.5 [thread.condition] |
Condition variable specification |
Yes |
|
|
2092 |
C++14 |
30.5.2 [thread.condition.condvarany] |
Vague Wording for condition_variable_any |
Yes |
|
|
2056 |
C++14 |
30.6.1 [futures.overview] |
future_errc enums start with value 0 (invalid value for broken_promise) |
Yes |
|
|
2102 |
C++14 |
30.6.1 [futures.overview] |
Why is std::launch an implementation-defined type? |
Yes |
|
|
2098 |
C++14 |
30.6.5 [futures.promise] |
Minor Inconsistency between promise::set_value and promise::set_value_at_thread_exit |
Yes |
|
|
2096 |
C++14 |
30.6.6 [futures.unique_future] |
Incorrect constraints of future::get in regard to MoveAssignable |
Yes |
|
|
2185 |
C++14 |
30.6.6 [futures.unique_future] |
Missing throws clause for future/shared_future::wait_for/wait_until |
Yes |
|
|
2078 |
C++14 |
30.6.8 [futures.async] |
Throw specification of async() incomplete |
Yes |
|
|
2100 |
C++14 |
30.6.8 [futures.async] |
timed waiting functions cannot timeout if launch::async policy used |
Yes |
|
|
2120 |
C++14 |
30.6.8 [futures.async] |
What should async do if neither 'async' nor 'deferred' is set in policy? |
Yes |
|
|
2186 |
C++14 |
30.6.8 [futures.async] |
Incomplete action on async/launch::deferred |
Yes |
|
|
2067 |
C++14 |
30.6.9 [futures.task] |
packaged_task should have deleted copy c'tor with const parameter |
Yes |
|
|
2097 |
C++14 |
30.6.9.1 [futures.task.members] |
packaged_task constructors should be constrained |
Yes |
|
|
2142 |
C++14 |
30.6.9.1 [futures.task.members] |
packaged_task::operator() synchronization too broad? |
Yes |
|
|
2300 |
C++14 |
99 [map.ops] |
[CD] Redundant sections for map and multimap members should be removed |
Yes |
|
|
2093 |
C++14 |
30.5.1 [thread.condition.condvar] |
Throws clause of condition_variable::wait with predicate |
Yes |
|
|
2135 |
C++14 |
30.5.1 [thread.condition.condvar] |
Unclear requirement for exceptions thrown in condition_variable::wait() |
Yes |
|
|
2360 |
C++14 |
24.5.1.1 [reverse.iterator] |
reverse_iterator::operator*() is unimplementable |
Yes |
1 |
|
Issue |
Status |
Section |
Title |
Proposed Resolution |
Priority |
Duplicates |
1195 |
C++11 |
17 [library] |
"Diagnostic required" wording is insufficient to prevent UB |
Yes |
|
|
1349 |
C++11 |
17 [library] |
swap should not throw |
Yes |
|
|
1354 |
C++11 |
17.3.8 [defns.deadlock] |
The definition of deadlock excludes cases involving a single thread |
Yes |
|
|
997 |
C++11 |
17.5.1.4 [structure.specifications] |
"Effects: Equivalent to" is underspecified |
Yes |
|
|
1065 |
C++11 |
17.6.1.1 [contents] |
Allow inline namespaces within namespace std for implementations |
Yes |
|
|
1264 |
C++11 |
17.6.1.3 [compliance] |
quick_exit support for freestanding implementations |
Yes |
|
|
1360 |
C++11 |
17.6.1.3 [compliance] |
Add <atomic> to free-standing implementations |
Yes |
|
|
724 |
C++11 |
17.6.3.1 [utility.arg.requirements] |
DefaultConstructible is not defined |
Yes |
|
|
753 |
C++11 |
17.6.3.1 [utility.arg.requirements] |
Move constructor in draft |
Yes |
|
|
1309 |
C++11 |
17.6.3.1 [utility.arg.requirements] |
Missing expressions for Move/CopyConstructible |
Yes |
|
|
1332 |
C++11 |
17.6.3.4 [hash.requirements] |
Let Hash objects throw! |
Yes |
|
|
752 |
C++11 |
17.6.3.5 [allocator.requirements] |
Allocator complexity requirement |
Yes |
|
|
1157 |
C++11 |
17.6.4.2.1 [namespace.std] |
Local types can now instantiate templates |
Yes |
|
|
2014 |
C++11 |
17.6.4.3.2 [macro.names] |
More restrictions on macro names |
Yes |
|
|
1004 |
C++11 |
17.6.4.8 [res.on.functions] |
Clarify "throws an exception" |
Yes |
|
|
1204 |
C++11 |
17.6.4.9 [res.on.arguments] |
Global permission to move |
Yes |
|
|
1362 |
C++11 |
17.6.4.9 [res.on.arguments] |
Description of binding to rvalue-references should use the new 'xvalue' vocabulary |
Yes |
|
|
1095 |
C++11 |
17.6.4.10 [res.on.objects] |
Shared objects and the library wording unclear |
Yes |
|
|
1178 |
C++11 |
17.6.5.2 [res.on.headers] |
Header dependencies |
Yes |
|
|
1066 |
C++11 |
18 [language.support] |
Use [[noreturn]] attribute in the library |
Yes |
|
|
1097 |
C++11 |
18.2 [support.types] |
#define __STDCPP_THREADS |
Yes |
|
|
1363 |
C++11 |
18.2 [support.types] |
offsetof should be marked noexcept |
Yes |
|
|
993 |
C++11 |
18.5 [support.start.term] |
_Exit needs better specification |
Yes |
|
|
1144 |
C++11 |
18.5 [support.start.term] |
"thread safe" is undefined |
Yes |
|
|
1006 |
C++11 |
18.6.2 [new.delete] |
operator delete in garbage collected implementation |
Yes |
|
|
1524 |
C++11 |
18.6.2.4 [new.delete.dataraces] |
Allocation functions are missing happens-before requirements and guarantees |
Yes |
|
|
994 |
C++11 |
18.6.3.3 [new.handler] |
quick_exit should terminate well-defined |
Yes |
|
|
471 |
C++11 |
18.8.2 [exception] |
result of what() implementation-defined |
Yes |
|
|
1130 |
C++11 |
18.8.6 [propagation] |
copy_exception name misleading |
Yes |
|
|
819 |
C++11 |
18.8.7 [except.nested] |
rethrow_if_nested |
Yes |
|
|
1136 |
C++11 |
18.8.7 [except.nested] |
Incomplete specification of nested_exception::rethrow_nested() |
Yes |
|
|
1216 |
C++11 |
18.8.7 [except.nested] |
LWG 1066 Incomplete? |
Yes |
|
|
1370 |
C++11 |
18.8.7 [except.nested] |
throw_with_nested should not use perfect forwarding |
Yes |
|
|
894 |
C++11 |
18.10 [support.runtime] |
longjmp and destructors |
Yes |
|
|
1237 |
C++11 |
19.5 [syserr] |
Constrained error_code/error_condition members |
Yes |
|
|
890 |
C++11 |
19.5.2 [syserr.errcat] |
Improving <system_error> initialization |
Yes |
|
|
1372 |
C++11 |
19.5.2.5 [syserr.errcat.objects] |
Adopt recommended practice for standard error categories |
Yes |
|
|
1103 |
C++11 |
19.5.7.2 [syserr.syserr.members] |
system_error constructor postcondition overly strict |
Yes |
|
|
1255 |
C++11 |
20.2 [utility] |
declval should be added to the library |
Yes |
|
|
939 |
C++11 |
20.2.4 [forward] |
Problem with std::identity and reference-to-temporaries |
Yes |
|
|
296 |
C++11 |
20.4 [pairs] |
Missing descriptions and requirements of pair operators |
Yes |
|
|
811 |
C++11 |
20.4 [pairs] |
pair of pointers no longer works with literal 0 |
Yes |
|
|
885 |
C++11 |
20.4 [pairs] |
pair assignment |
Yes |
|
|
886 |
C++11 |
20.5.2.1 [tuple.cnstr] |
tuple construction |
Yes |
|
|
1384 |
C++11 |
20.5.2.4 [tuple.creation] |
Function pack_arguments is poorly named |
Yes |
|
|
1385 |
C++11 |
20.5.2.4 [tuple.creation] |
tuple_cat should be a single variadic signature |
Yes |
|
|
1386 |
C++11 |
20.5.2.4 [tuple.creation] |
pack_arguments overly complex |
Yes |
|
|
1118 |
C++11 |
20.5.2.6 [tuple.helper] |
tuple query APIs do not support cv-qualification |
Yes |
|
|
1191 |
C++11 |
20.5.2.7 [tuple.elem] |
tuple get API should respect rvalues |
Yes |
|
|
1335 |
C++11 |
20.5.2.8 [tuple.rel] |
Insufficient requirements for tuple::operator<() |
Yes |
|
|
853 |
C++11 |
20.9 [template.bitset] |
to_string needs updating with zero and one |
Yes |
|
|
1113 |
C++11 |
20.9 [template.bitset] |
bitset::to_string could be simplified |
Yes |
|
|
1227 |
C++11 |
20.9 [template.bitset] |
<bitset> synopsis overspecified |
Yes |
|
|
1250 |
C++11 |
20.9 [template.bitset] |
<bitset> still overspecified |
Yes |
|
|
1325 |
C++11 |
20.9.1 [bitset.cons] |
bitset |
Yes |
|
|
907 |
C++11 |
20.9.2 [bitset.members] |
Bitset's immutable element retrieval is inconsistently defined |
Yes |
|
|
1073 |
C++11 |
20.10 [memory] |
Declaration of allocator_arg should be constexpr |
Yes |
|
|
1401 |
C++11 |
20.10 [memory] |
Provide support for unique_ptr<T> == nullptr |
Yes |
|
|
1402 |
C++11 |
20.10 [memory] |
nullptr constructors for smart pointers should be constexpr |
Yes |
|
|
1404 |
C++11 |
20.10.3 [pointer.traits] |
pointer_traits should have a size_type member |
Yes |
|
|
1098 |
C++11 |
20.10.4 [util.dynamic.safety] |
definition of get_pointer_safety() |
Yes |
|
|
1408 |
C++11 |
20.10.4 [util.dynamic.safety] |
Allow recycling of pointers after undeclare_no_pointers |
Yes |
|
|
1403 |
C++11 |
20.10.6 [allocator.tag] |
Inconsistent definitions for allocator_arg |
Yes |
|
|
1285 |
C++11 |
20.10.8.2 [allocator.traits.members] |
allocator_traits call to new |
Yes |
|
|
1286 |
C++11 |
20.10.8.2 [allocator.traits.members] |
allocator_traits::select_on_container_copy_construction type-o |
Yes |
|
|
866 |
C++11 |
20.10.10 [specialized.algorithms] |
Qualification of placement new-expressions |
Yes |
|
|
999 |
C++11 |
20.10.10 [specialized.algorithms] |
Taking the address of a function |
Yes |
|
|
970 |
C++11 |
20.10.10.1 [specialized.addressof] |
addressof overload unneeded |
Yes |
|
|
1193 |
C++11 |
20.11.1.1 [unique.ptr.dltr] |
default_delete cannot be instantiated with incomplete types |
Yes |
|
|
854 |
C++11 |
20.11.1.1.2 [unique.ptr.dltr.dflt] |
default_delete converting constructor underspecified |
Yes |
|
|
1517 |
C++11 |
20.11.1.1.2 [unique.ptr.dltr.dflt] |
default_delete's default constructor should be trivial |
Yes |
|
|
938 |
C++11 |
20.11.1.1.3 [unique.ptr.dltr.dflt1] |
default_delete<T[]>::operator() should only accept T* |
Yes |
|
|
1303 |
C++11 |
20.11.1.2 [unique.ptr.single] |
shared_ptr, unique_ptr, and rvalue references v2 |
Yes |
|
|
1021 |
C++11 |
20.11.1.2.3 [unique.ptr.single.asgn] |
Allow nullptr_t assignments to unique_ptr |
Yes |
|
|
998 |
C++11 |
20.11.1.2.5 [unique.ptr.single.modifiers] |
Smart pointer referencing its owner |
Yes |
|
|
821 |
C++11 |
20.11.1.3.4 [unique.ptr.runtime.modifiers] |
Minor cleanup : unique_ptr |
Yes |
|
|
758 |
C++11 |
20.11.2.2 [util.smartptr.shared] |
shared_ptr and nullptr |
Yes |
|
|
896 |
C++11 |
20.11.2.2 [util.smartptr.shared] |
Library thread safety issue |
Yes |
|
|
881 |
C++11 |
20.11.2.2.1 [util.smartptr.shared.const] |
shared_ptr conversion issue |
Yes |
|
|
925 |
C++11 |
20.11.2.2.1 [util.smartptr.shared.const] |
shared_ptr's explicit conversion from unique_ptr |
Yes |
|
|
899 |
C++11 |
20.11.2.2.2 [util.smartptr.shared.dest] |
Adjusting shared_ptr for nullptr_t |
Yes |
|
|
711 |
C++11 |
20.11.2.2.5 [util.smartptr.shared.obs] |
Contradiction in empty shared_ptr |
Yes |
|
|
1262 |
C++11 |
20.11.2.2.7 [util.smartptr.shared.cmp] |
std::less<std::shared_ptr<T>> is underspecified |
Yes |
|
|
1256 |
C++11 |
20.11.2.3 [util.smartptr.weak] |
weak_ptr comparison functions should be removed |
Yes |
|
|
1231 |
C++11 |
20.11.2.3.5 [util.smartptr.weak.obs] |
weak_ptr comparisons incompletely resolved |
Yes |
|
|
949 |
C++11 |
20.11.2.4 [util.smartptr.ownerless] |
owner_less |
Yes |
|
|
1030 |
C++11 |
20.11.2.6 [util.smartptr.shared.atomic] |
Missing requirements for smart-pointer safety API |
Yes |
|
|
1316 |
C++11 |
20.13 [allocator.adaptor] |
scoped_allocator_adaptor operator== has no definition |
Yes |
|
|
1294 |
C++11 |
20.14.2 [func.require] |
Difference between callable wrapper and forwarding call wrapper unclear |
Yes |
|
|
1295 |
C++11 |
20.14.2 [func.require] |
Contradictory call wrapper requirements |
Yes |
|
|
1520 |
C++11 |
20.14.2 [func.require] |
INVOKE on member data pointer with too many arguments |
Yes |
|
|
987 |
C++11 |
20.14.4 [refwrap] |
reference_wrapper and function types |
Yes |
|
|
2017 |
C++11 |
20.14.4 [refwrap] |
std::reference_wrapper makes incorrect usage of std::result_of |
Yes |
|
|
2022 |
C++11 |
20.14.4 [refwrap] |
reference_wrapper<T>::result_type is underspecified |
Yes |
|
|
688 |
C++11 |
20.14.4.1 [refwrap.const] |
reference_wrapper, cref unsafe, allow binding to rvalues |
Yes |
|
|
1071 |
C++11 |
20.14.10.1 [func.bind.isbind] |
is_bind_expression should derive from integral_constant<bool> |
Yes |
|
|
817 |
C++11 |
20.14.10.3 [func.bind.bind] |
bind needs to be moved |
Yes |
|
|
920 |
C++11 |
20.14.11 [func.memfn] |
Ref-qualification support in the library |
Yes |
|
1230 |
1070 |
C++11 |
20.14.12.2 [func.wrap.func] |
Ambiguous move overloads in function |
Yes |
|
|
1240 |
C++11 |
20.14.12.2 [func.wrap.func] |
Deleted comparison functions of std::function not needed |
Yes |
|
|
1399 |
C++11 |
20.14.12.2 [func.wrap.func] |
function does not need an explicit default constructor |
Yes |
|
|
1287 |
C++11 |
20.14.12.2.1 [func.wrap.func.con] |
std::function requires CopyConstructible target object |
Yes |
|
|
1288 |
C++11 |
20.14.12.2.1 [func.wrap.func.con] |
std::function assignment from rvalues |
Yes |
|
|
1292 |
C++11 |
20.14.12.2.1 [func.wrap.func.con] |
std::function should support all callable types |
Yes |
|
|
1400 |
C++11 |
20.14.12.2.1 [func.wrap.func.con] |
FCD function does not need an explicit default constructor |
Yes |
|
|
1333 |
C++11 |
20.14.12.2.4 [func.wrap.func.inv] |
Missing forwarding during std::function invocation |
Yes |
|
|
978 |
C++11 |
20.14.14 [unord.hash] |
Hashing smart pointers |
Yes |
|
|
1182 |
C++11 |
20.14.14 [unord.hash] |
Unfortunate hash dependencies |
Yes |
|
|
1245 |
C++11 |
20.14.14 [unord.hash] |
std::hash<string> & co |
Yes |
|
|
1114 |
C++11 |
20.15 [meta] |
Type traits underspecified |
Yes |
|
|
1019 |
C++11 |
20.15.3 [meta.help] |
Make integral_constant objects useable in integral-constant-expressions |
Yes |
|
|
931 |
C++11 |
20.15.4.3 [meta.unary.prop] |
type trait extent<T, I> |
Yes |
|
|
1131 |
C++11 |
20.15.4.3 [meta.unary.prop] |
C++0x does not need alignment_of |
Yes |
|
|
975 |
C++11 |
20.15.6 [meta.rel] |
is_convertible cannot be instantiated for non-convertible types |
Yes |
|
|
1187 |
C++11 |
20.15.7.6 [meta.trans.other] |
std::decay |
Yes |
|
|
921 |
C++11 |
20.16.3 [ratio.ratio] |
Rational Arithmetic should use template aliases |
Yes |
|
|
1388 |
C++11 |
20.16.3 [ratio.ratio] |
LWG 1281 incorrectly accepted |
Yes |
|
|
948 |
C++11 |
20.16.4 [ratio.arithmetic] |
ratio arithmetic tweak |
Yes |
|
|
954 |
C++11 |
20.17.3 [time.clock.req] |
Various threading bugs #4 |
Yes |
|
|
956 |
C++11 |
20.17.3 [time.clock.req] |
Various threading bugs #6 |
Yes |
|
|
951 |
C++11 |
20.17.4.1 [time.traits.is_fp] |
Various threading bugs #1 |
Yes |
|
|
934 |
C++11 |
20.17.5 [time.duration] |
duration is missing operator% |
Yes |
|
|
1171 |
C++11 |
20.17.5 [time.duration] |
duration types should be literal |
Yes |
|
|
1177 |
C++11 |
20.17.5 [time.duration] |
Improve "diagnostic required" wording |
Yes |
|
|
974 |
C++11 |
20.17.5.1 [time.duration.cons] |
duration<double> should not implicitly convert to duration<int> |
Yes |
|
|
1271 |
C++11 |
20.17.5.5 [time.duration.nonmember] |
CR undefined in duration operators |
Yes |
|
|
2004 |
C++11 |
20.17.5.5 [time.duration.nonmember] |
duration::operator* has template parameters in funny order |
Yes |
|
|
2020 |
C++11 |
20.17.5.5 [time.duration.nonmember] |
Time utility arithmetic constexpr functions have invalid effects |
Yes |
|
|
957 |
C++11 |
20.17.7.1 [time.clock.system] |
Various threading bugs #7 |
Yes |
|
|
1170 |
C++11 |
21.1 [strings.general] |
String char-like types no longer PODs |
Yes |
|
|
1414 |
C++11 |
21.2.3.2 [char.traits.specializations.char16_t] |
Fixing remaining dead links to POS_T and OFF_T |
Yes |
|
1444 |
876 |
C++11 |
21.3.1 [basic.string] |
basic_string access operations should give stronger guarantees |
Yes |
|
|
847 |
C++11 |
21.3.1.1 [string.require] |
string exception safety guarantees |
Yes |
|
|
1192 |
C++11 |
21.3.1.3 [string.iterators] |
basic_string missing definitions for cbegin / cend / crbegin / crend |
Yes |
|
|
1323 |
C++11 |
21.3.1.6.6 [string::replace] |
basic_string::replace should use const_iterator |
Yes |
|
|
1138 |
C++11 |
21.3.2.1 [string::op+] |
Unusual return value for operator+ |
Yes |
|
|
1261 |
C++11 |
21.3.3 [string.conversions] |
Insufficent overloads for to_string / to_wstring |
Yes |
|
|
1298 |
C++11 |
22.2 [locale.syn] |
Missing specialization of ctype_byname<char> |
Yes |
|
|
2019 |
C++11 |
22.3.3.1 [classification] |
isblank not supported by std::locale |
Yes |
|
|
991 |
C++11 |
22.3.3.2.2 [conversions.string] |
Provide allocator for wstring_convert |
Yes |
|
|
1252 |
C++11 |
22.3.3.2.3 [conversions.buffer] |
wbuffer_convert::state_type inconsistency |
Yes |
|
|
473 |
C++11 |
22.4.1.1 [locale.ctype] |
underspecified ctype calls |
Yes |
|
|
427 |
C++11 |
22.4.2.1.2 [facet.num.get.virtuals] |
Stage 2 and rationale of DR 221 |
Yes |
|
|
2041 |
C++11 |
22.4.2.1.2 [facet.num.get.virtuals] |
Stage 2 accumulate incompatibilty |
Yes |
|
|
671 |
C++11 |
22.4.2.2.2 [facet.num.put.virtuals] |
precision of hexfloat |
Yes |
|
|
1152 |
C++11 |
22.4.2.2.2 [facet.num.put.virtuals] |
Expressions parsed differently than intended |
Yes |
|
|
836 |
C++11 |
22.4.6.1.2 [locale.money.get.virtuals] |
Effects of money_base::space and
money_base::none on money_get
|
Yes |
|
670 |
774 |
C++11 |
23 [containers] |
Member swap undefined for most containers |
Yes |
|
|
868 |
C++11 |
23 [containers] |
Default construction and value-initialization |
Yes |
|
|
883 |
C++11 |
23 [containers] |
swap circular definition |
Yes |
|
|
704 |
C++11 |
23.2 [container.requirements] |
MoveAssignable requirement for container value type overly strict |
Yes |
|
|
861 |
C++11 |
23.2 [container.requirements] |
Incomplete specification of EqualityComparable for std::forward_list |
Yes |
|
|
1416 |
C++11 |
23.2 [container.requirements] |
forward_list::erase_after should not be allowed to throw |
Yes |
|
|
1034 |
C++11 |
23.2.1 [container.requirements.general] |
Clarify generality of Container Requirement tables |
Yes |
|
|
1319 |
C++11 |
23.2.1 [container.requirements.general] |
Containers should require an iterator that is at least a Forward Iterator |
Yes |
|
|
149 |
C++11 |
23.2.3 [sequence.reqmts] |
Insert should return iterator to first element inserted |
Yes |
|
|
1037 |
C++11 |
23.2.3 [sequence.reqmts] |
Unclear status of match_results as library container |
Yes |
|
|
1038 |
C++11 |
23.2.3 [sequence.reqmts] |
Sequence requirement table needs to reference several new containers |
Yes |
|
|
1039 |
C++11 |
23.2.3 [sequence.reqmts] |
Sequence container back function should also support const_iterator |
Yes |
|
|
1234 |
C++11 |
23.2.3 [sequence.reqmts] |
"Do the right thing" and NULL |
Yes |
|
|
982 |
C++11 |
23.2.4 [associative.reqmts] |
Wrong complexity for initializer_list assignment in Table 85 |
Yes |
|
|
1040 |
C++11 |
23.2.4 [associative.reqmts] |
Clarify possible sameness of associative container's iterator and const_iterator |
Yes |
|
|
1253 |
C++11 |
23.2.4 [associative.reqmts] |
invalidation of iterators and emplace vs. insert inconsistence in assoc. containers |
Yes |
|
|
869 |
C++11 |
23.2.5 [unord.req] |
Bucket (local) iterators and iterating past end |
Yes |
|
|
870 |
C++11 |
23.2.5 [unord.req] |
Do unordered containers not support function pointers for predicate/hasher? |
Yes |
|
|
981 |
C++11 |
23.2.5 [unord.req] |
Unordered container requirements should add initializer_list support |
Yes |
|
|
1189 |
C++11 |
23.2.5 [unord.req] |
Awkward interface for changing the number of buckets in an unordered associative container |
Yes |
|
|
1197 |
C++11 |
23.2.5 [unord.req] |
Can unordered containers have bucket_count() == 0? |
Yes |
|
|
1306 |
C++11 |
23.3.7 [array] |
pointer and const_pointer for <array> |
Yes |
|
|
1417 |
C++11 |
23.3.7.8 [array.zero] |
front/back on a zero-sized array should be undefined |
Yes |
|
|
1418 |
C++11 |
23.3.8.3 [deque.capacity] |
Effects of resize(size()) on a deque |
Yes |
|
|
878 |
C++11 |
23.3.9 [forwardlist] |
forward_list preconditions |
Yes |
|
|
1276 |
C++11 |
23.3.9 [forwardlist] |
forwardlist missing allocator constructors |
Yes |
|
|
2042 |
C++11 |
23.3.9.3 [forwardlist.iter] |
Comparing forward_list::before_begin() to forward_list::end() |
Yes |
|
|
1278 |
C++11 |
23.3.9.5 [forwardlist.modifiers] |
Inconsistent return values for forward_list::insert_after |
Yes |
|
|
1340 |
C++11 |
23.3.9.5 [forwardlist.modifiers] |
Why does forward_list::resize take the object to be copied by value? |
Yes |
|
|
898 |
C++11 |
23.3.9.6 [forwardlist.ops] |
Small contradiction in n2723 to forward to committee |
Yes |
|
|
1133 |
C++11 |
23.3.9.6 [forwardlist.ops] |
Does N2844 break current specification of list::splice? |
Yes |
|
|
1310 |
C++11 |
23.3.9.6 [forwardlist.ops] |
forward_list splice_after from lvalues |
Yes |
|
|
1420 |
C++11 |
23.3.10.3 [list.capacity] |
Effects of resize(size()) on a list |
Yes |
|
|
1207 |
C++11 |
23.3.10.5 [list.ops] |
Underspecified std::list operations? |
Yes |
|
|
1215 |
C++11 |
23.3.10.5 [list.ops] |
list::merge with unequal allocators |
Yes |
|
|
1525 |
C++11 |
23.3.11.3 [vector.capacity] |
Effects of resize(size()) on a vector |
Yes |
|
|
1312 |
C++11 |
23.3.11.4 [vector.data] |
vector::data no longer returns a raw pointer |
Yes |
|
|
814 |
C++11 |
23.3.12 [vector.bool] |
vector<bool>::swap(reference, reference) not defined |
Yes |
|
|
1254 |
C++11 |
23.3.12 [vector.bool] |
Misleading sentence in vector<bool>::flip |
Yes |
|
|
1284 |
C++11 |
23.3.12 [vector.bool] |
vector<bool> initializer_list constructor missing an allocator argument |
Yes |
|
|
1423 |
C++11 |
23.4.4 [map] |
map constructor accepting an allocator as single parameter should be explicit |
Yes |
|
|
2007 |
C++11 |
23.4.4.3 [map.access] |
Incorrect specification of return value for map<>::at() |
Yes |
|
|
1424 |
C++11 |
23.4.5 [multimap] |
multimap constructor accepting an allocator as a single parameter should be explicit |
Yes |
|
|
1425 |
C++11 |
23.4.6 [set] |
set constructor accepting an allocator as a single parameter should be explicit |
Yes |
|
|
1426 |
C++11 |
23.4.7 [multiset] |
multiset constructor accepting an allocator as a single parameter should be explicit |
Yes |
|
|
676 |
C++11 |
23.5 [unord] |
Moving the unordered containers |
Yes |
|
|
1427 |
C++11 |
23.5.4 [unord.map] |
unordered_map constructor accepting an allocator as a single parameter should be explicit |
Yes |
|
|
1519 |
C++11 |
23.5.4 [unord.map] |
bucketsize() const only for unordered set |
Yes |
|
|
1428 |
C++11 |
23.5.5 [unord.multimap] |
unordered_multimap constructor accepting an allocator as a single parameter should be explicit |
Yes |
|
|
1429 |
C++11 |
23.5.6 [unord.set] |
unordered_set constructor accepting an allocator as a single parameter should be explicit |
Yes |
|
|
1430 |
C++11 |
23.5.7 [unord.multiset] |
unordered_multiset constructor accepting an allocator as a single parameter should be explicit |
Yes |
|
|
1194 |
C++11 |
23.6 [container.adaptors] |
Unintended queue constructor |
Yes |
|
|
1198 |
C++11 |
23.6 [container.adaptors] |
Container adaptor swap: member or non-member? |
Yes |
|
|
1199 |
C++11 |
23.6 [container.adaptors] |
Missing extended copy constructor in container adaptors |
Yes |
|
|
1079 |
C++11 |
24.2.7 [random.access.iterators] |
UK-265: RandomAccessIterator 's operator- has nonsensical effects clause |
Yes |
|
|
1011 |
C++11 |
24.4.3 [iterator.operations] |
next/prev wrong iterator type |
Yes |
|
|
1012 |
C++11 |
24.5.1.3.1 [reverse.iter.cons] |
reverse_iterator default ctor should value initialize |
Yes |
|
|
1334 |
C++11 |
24.5.2.2.2 [back.insert.iter.op=] |
Insert iterators are broken for some proxy containers compared to C++03 |
Yes |
|
|
872 |
C++11 |
24.5.3.3.12 [move.iter.op.index] |
move_iterator::operator[] has wrong return type |
Yes |
|
|
788 |
C++11 |
24.6.1 [istream.iterator] |
Ambiguity in [istream.iterator] |
Yes |
|
|
838 |
C++11 |
24.6.1 [istream.iterator] |
Can an end-of-stream iterator become a non-end-of-stream one?
|
Yes |
|
|
1280 |
C++11 |
24.6.1.1 [istream.iterator.cons] |
Initialization of stream iterators |
Yes |
|
|
659 |
C++11 |
24.6.3 [istreambuf.iterator] |
istreambuf_iterator should have an operator->() |
Yes |
|
|
1126 |
C++11 |
24.6.3.5 [istreambuf.iterator::equal] |
istreambuff_iterator::equal needs a const & parameter |
Yes |
|
|
1205 |
C++11 |
25 [algorithms] |
Some algorithms could more clearly document their handling of empty ranges |
Yes |
|
|
1110 |
C++11 |
25.3.4 [alg.foreach] |
Is for_each overconstrained? |
Yes |
|
|
1431 |
C++11 |
25.3.12 [alg.is_permutation] |
is_permutation must be more restrictive |
Yes |
|
|
1338 |
C++11 |
25.3.13 [alg.search] |
LWG 1205 incorrectly applied |
Yes |
|
|
1206 |
C++11 |
25.4.2 [alg.move] |
Incorrect requires for move_backward and copy_backward |
Yes |
|
|
865 |
C++11 |
25.4.6 [alg.fill] |
More algorithms that throw away information |
Yes |
|
|
1241 |
C++11 |
25.4.9 [alg.unique] |
unique_copy needs to require EquivalenceRelation |
Yes |
|
|
1432 |
C++11 |
25.4.13 [alg.random.shuffle] |
random_shuffle signatures are inconsistent |
Yes |
|
1433 |
498 |
C++11 |
25.4.14 [alg.partitions] |
Requirements for partition() and stable_partition() too strong |
Yes |
|
|
556 |
C++11 |
25.5 [alg.sorting] |
Is Compare a BinaryPredicate? |
Yes |
|
|
780 |
C++11 |
25.5.4 [alg.merge] |
std::merge() specification incorrect/insufficient |
Yes |
|
|
860 |
C++11 |
26 [numerics] |
Floating-Point State |
Yes |
|
|
1435 |
C++11 |
26.5.7 [complex.value.ops] |
Unclear returns specifications for C99 complex number functions |
Yes |
|
|
1137 |
C++11 |
26.5.9 [cmplx.over] |
Return type of conj and proj |
Yes |
|
|
1522 |
C++11 |
26.5.9 [cmplx.over] |
conj specification is now nonsense |
Yes |
|
|
1436 |
C++11 |
26.6.3 [rand.eng] |
Random number engine constructor concerns |
Yes |
|
|
1437 |
C++11 |
26.6.3.2 [rand.eng.mers] |
Mersenne twister meaningless for word sizes less than two |
Yes |
|
|
1438 |
C++11 |
26.6.4.2 [rand.adapt.disc] |
No definition for base() |
Yes |
|
|
1439 |
C++11 |
26.6.8.6.2 [rand.dist.samp.pconst] |
Return from densities() functions? |
Yes |
|
|
1440 |
C++11 |
26.6.8.6.3 [rand.dist.samp.plinear] |
Incorrect specification for piecewise_linear_distribution |
Yes |
|
|
630 |
C++11 |
26.7.2.2 [valarray.cons] |
arrays of valarray |
Yes |
|
|
1208 |
C++11 |
26.7.2.2 [valarray.cons] |
valarray initializer_list constructor has incorrect effects |
Yes |
|
|
430 |
C++11 |
26.7.2.5 [valarray.sub] |
valarray subset operations |
Yes |
|
|
539 |
C++11 |
26.8.6 [partial.sum] |
partial_sum and adjacent_difference should mention requirements |
Yes |
|
|
871 |
C++11 |
26.8.12 [numeric.iota] |
Iota's requirements on T are too strong |
Yes |
|
|
1441 |
C++11 |
26.9 [c.math] |
Floating-point test functions are incorrectly specified |
Yes |
|
|
1257 |
C++11 |
27.5 [iostreams.base] |
Header <ios> still contains a concept_map |
Yes |
|
|
1123 |
C++11 |
27.5.3.1.6 [ios::Init] |
No requirement that standard streams be flushed |
Yes |
|
|
1249 |
C++11 |
27.5.5.2 [basic.ios.cons] |
basic_ios default ctor |
Yes |
|
|
835 |
C++11 |
27.5.5.3 [basic.ios.members] |
Tying two streams together (correction to DR 581) |
Yes |
|
|
1104 |
C++11 |
27.5.5.3 [basic.ios.members] |
basic_ios::move should accept lvalues |
Yes |
|
|
1183 |
C++11 |
27.5.5.3 [basic.ios.members] |
basic_ios::set_rdbuf may break class invariants |
Yes |
|
|
1094 |
C++11 |
27.5.5.4 [iostate.flags] |
Replace "unspecified-bool-type" by "explicit operator bool() const" in I/O library |
Yes |
|
|
565 |
C++11 |
27.6.3.4.5 [streambuf.virt.put] |
xsputn inefficient |
Yes |
|
|
911 |
C++11 |
27.7.2 [input.streams] |
I/O streams and move/swap semantic |
Yes |
|
|
419 |
C++11 |
27.7.2.1.3 [istream::sentry] |
istream extractors not setting failbit if eofbit is already set |
Yes |
|
|
696 |
C++11 |
27.7.2.2.2 [istream.formatted.arithmetic] |
istream::operator>>(int&) broken |
Yes |
|
|
810 |
C++11 |
27.7.5 [ext.manip] |
Missing traits dependencies in operational semantics of extended manipulators |
Yes |
|
|
1299 |
C++11 |
27.7.5 [ext.manip] |
Confusing typo in specification for get_time |
Yes |
|
|
1448 |
C++11 |
27.8.2.3 [stringbuf.members] |
Concerns about basic_stringbuf::str(basic_string) postconditions |
Yes |
|
|
564 |
C++11 |
27.8.2.4 [stringbuf.virtuals] |
stringbuf seekpos underspecified |
Yes |
|
|
1449 |
C++11 |
27.8.3 [istringstream] |
Incomplete specification of header <cinttypes> |
Yes |
|
|
900 |
C++11 |
27.9.3.2 [ifstream.assign] |
Stream move-assignment |
Yes |
|
|
984 |
C++11 |
27.11 [c.files] |
Does <cinttypes> have macro guards? |
Yes |
|
|
1337 |
C++11 |
28.7 [re.traits] |
Swapped arguments in regex_traits::isctype |
Yes |
|
|
723 |
C++11 |
28.8 [re.regex] |
basic_regex should be moveable |
Yes |
|
|
2029 |
C++11 |
28.8 [re.regex] |
Missing 'noexcept' on basic_regex move-assignment operator |
Yes |
|
|
1014 |
C++11 |
28.8.2 [re.regex.construct] |
basic_regex should be created/assigned from initializer lists |
Yes |
|
|
2001 |
C++11 |
28.8.3 [re.regex.assign] |
Class template basic_regex uses non existent string_type |
Yes |
|
|
1180 |
C++11 |
28.9.1 [re.submatch.members] |
Missing string_type member typedef in class sub_match |
Yes |
|
|
1181 |
C++11 |
28.9.2 [re.submatch.op] |
Invalid sub_match comparison operators |
Yes |
|
|
1209 |
C++11 |
28.10.1 [re.results.const] |
match_results should be moveable |
Yes |
|
|
727 |
C++11 |
28.11.4 [re.alg.replace] |
regex_replace() doesn't accept basic_strings with custom traits and allocators |
Yes |
|
|
909 |
C++11 |
28.12.2 [re.tokiter] |
regex_token_iterator should use initializer_list |
Yes |
|
|
716 |
C++11 |
28.13 [re.grammar] |
Production in [re.grammar] not actually modified |
Yes |
|
|
1478 |
C++11 |
29.6 [atomics.types.operations] |
Clarify race conditions in atomics initialization |
Yes |
|
|
1474 |
C++11 |
29.6.5 [atomics.types.operations.req] |
weak compare-and-exchange confusion |
Yes |
|
1470, 1475, 1476, 1477 |
1479 |
C++11 |
29.8 [atomics.fences] |
Fence functions should be extern "C" |
Yes |
|
|
1480 |
C++11 |
29.8 [atomics.fences] |
Atomic fences don't have synchronizes with relation |
Yes |
|
|
1089 |
C++11 |
30 [thread] |
Unify "Throws: Nothing." specifications |
Yes |
|
|
1108 |
C++11 |
30.2.2 [thread.req.exception] |
thread.req.exception overly constrains implementations |
Yes |
|
|
1158 |
C++11 |
30.2.4 [thread.req.timing] |
Encouragement to use monotonic clock |
Yes |
|
|
1277 |
C++11 |
30.3.1.1 [thread.thread.id] |
std::thread::id should be trivially copyable |
Yes |
|
|
891 |
C++11 |
30.3.1.2 [thread.thread.constr] |
std::thread, std::call_once issue |
Yes |
|
|
929 |
C++11 |
30.3.1.2 [thread.thread.constr] |
Thread constructor |
Yes |
|
|
967 |
C++11 |
30.3.1.2 [thread.thread.constr] |
Various threading bugs #17 |
Yes |
|
|
963 |
C++11 |
30.3.1.5 [thread.thread.member] |
Various threading bugs #13 |
Yes |
|
|
1033 |
C++11 |
30.3.1.5 [thread.thread.member] |
thread::join() effects? |
Yes |
|
|
888 |
C++11 |
30.3.2 [thread.thread.this] |
this_thread::yield too strong |
Yes |
|
|
1487 |
C++11 |
30.3.2 [thread.thread.this] |
Clock related operations exception specifications conflict |
Yes |
|
|
1044 |
C++11 |
30.4 [thread.mutex] |
Empty tag types should be constexpr literals |
Yes |
|
|
960 |
C++11 |
30.4.1 [thread.mutex.requirements] |
Various threading bugs #10 |
Yes |
|
|
968 |
C++11 |
30.4.1 [thread.mutex.requirements] |
Various threading bugs #18 |
Yes |
|
|
1218 |
C++11 |
30.4.1 [thread.mutex.requirements] |
mutex destructor synchronization |
Yes |
|
|
893 |
C++11 |
30.4.1.2.1 [thread.mutex.class] |
std::mutex issue |
Yes |
|
905 |
1045 |
C++11 |
30.4.2.2.1 [thread.lock.unique.cons] |
Remove unnecessary preconditions from unique_lock constructor |
Yes |
|
|
962 |
C++11 |
30.4.2.2.2 [thread.lock.unique.locking] |
Various threading bugs #12 |
Yes |
|
|
1159 |
C++11 |
30.4.2.2.2 [thread.lock.unique.locking] |
Unclear spec for resource_deadlock_would_occur |
Yes |
|
1219 |
986 |
C++11 |
30.4.3 [thread.lock.algorithm] |
Generic try_lock contradiction |
Yes |
|
|
1494 |
C++11 |
30.4.4.2 [thread.once.callonce] |
Term "are serialized" not defined |
Yes |
|
|
859 |
C++11 |
30.5 [thread.condition] |
Monotonic Clock is Conditionally Supported? |
Yes |
|
|
1220 |
C++11 |
30.5 [thread.condition] |
What does condition_variable wait on? |
Yes |
|
|
1222 |
C++11 |
30.5 [thread.condition] |
condition_variable incorrect effects for exception safety |
Yes |
|
|
1497 |
C++11 |
30.5 [thread.condition] |
lock() postcondition can not be generally achieved |
Yes |
|
|
857 |
C++11 |
30.5.1 [thread.condition.condvar] |
condition_variable::time_wait return bool error prone |
Yes |
|
|
965 |
C++11 |
30.5.1 [thread.condition.condvar] |
Various threading bugs #15 |
Yes |
|
|
1221 |
C++11 |
30.5.1 [thread.condition.condvar] |
condition_variable wording |
Yes |
|
|
1267 |
C++11 |
30.5.2 [thread.condition.condvarany] |
Incorrect wording for condition_variable_any::wait_for |
Yes |
|
|
1518 |
C++11 |
30.6 [futures] |
Waiting for deferred functions |
Yes |
|
|
2031 |
C++11 |
30.6.6 [futures.unique_future] |
std::future<>::share() only applies to rvalues |
Yes |
|
|
2032 |
C++11 |
30.6.8 [futures.async] |
Incorrect synchronization clause of async function |
Yes |
|
|
2030 |
C++11 |
30.6.9 [futures.task] |
packaged_task::result_type should be removed |
Yes |
|
|
1514 |
C++11 |
30.6.9.1 [futures.task.members] |
packaged_task constructors need review |
Yes |
|
|
2008 |
C++11 |
30.6.9.1 [futures.task.members] |
Conflicting Error Conditions for packaged_task::operator() |
Yes |
|
|
2027 |
C++11 |
30.6.9.1 [futures.task.members] |
Initialization of the stored task of a packaged_task |
Yes |
|
|
2000 |
C++11 |
30.6.9.2 [futures.task.nonmembers] |
Missing definition of packaged_task specialization of uses_allocator |
Yes |
|
|
765 |
C++11 |
99 [iterator.concepts] |
More on iterator validity |
Yes |
|
|
904 |
C++11 |
99 [func.ret] |
result_of argument types |
Yes |
|
|
943 |
C++11 |
99 [atomics.types.address] |
ssize_t undefined |
Yes |
|
|
990 |
C++11 |
99 [time.clock.monotonic] |
monotonic_clock::is_monotonic must be true |
Yes |
|
|
1134 |
C++11 |
99 [stdinth] |
Redundant specification of <stdint.h>, <fenv.h>, <tgmath.h>,
and maybe <complex.h> |
Yes |
|
|
1247 |
C++11 |
99 [auto.ptr] |
auto_ptr is overspecified |
Yes |
|
|
1270 |
C++11 |
99 [func.ret] |
result_of should be moved to <type_traits> |
Yes |
|
|
1279 |
C++11 |
99 [depr.base] |
forbid [u|bi]nary_function specialization |
Yes |
|
|
1339 |
C++11 |
99 [uninitialized.fill.n] |
uninitialized_fill_n should return the end of its range |
Yes |
|
|
1368 |
C++11 |
99 [uncaught] |
Thread safety of std::uncaught_exception() |
Yes |
|
|
1381 |
C++11 |
99 [pair.range] |
Replace pair's range support by proper range facility |
Yes |
|
|
1387 |
C++11 |
99 [tuple.range] |
Range support by tuple should be removed |
Yes |
|
|
1516 |
C++11 |
99 [depr.auto.ptr] |
No specification for which header contains auto_ptr |
Yes |
|
|
922 |
C++11 |
B [implimits] |
§[func.bind.place] Number of placeholders |
Yes |
|
|
1367 |
C++11 |
D.6 [exception.unexpected] |
Deprecate library support for checking dynamic exception specifications |
Yes |
|
|
Issue |
Status |
Section |
Title |
Proposed Resolution |
Priority |
Duplicates |
182 |
CD1 |
17 [library] |
Ambiguous references to size_t |
Yes |
|
|
230 |
CD1 |
17 [library] |
Assignable specified without also specifying CopyConstructible |
Yes |
|
|
336 |
CD1 |
17 [library] |
Clause 17 lack of references to deprecated headers |
Yes |
|
|
262 |
CD1 |
17.5.2.1.3 [bitmask.types] |
Bitmask operator ~ specified incorrectly |
Yes |
|
|
229 |
CD1 |
17.6.1.1 [contents] |
Unqualified references of other library entities |
Yes |
|
|
310 |
CD1 |
17.6.1.2 [headers] |
Is errno a macro? |
Yes |
|
|
456 |
CD1 |
17.6.1.2 [headers] |
Traditional C header files are overspecified |
Yes |
|
|
465 |
CD1 |
17.6.1.2 [headers] |
Contents of <ciso646> |
Yes |
|
|
672 |
CD1 |
17.6.3.1 [utility.arg.requirements] |
Swappable requirements need updating |
Yes |
|
|
258 |
CD1 |
17.6.3.5 [allocator.requirements] |
Missing allocator requirement |
Yes |
|
|
274 |
CD1 |
17.6.3.5 [allocator.requirements] |
a missing/impossible allocator requirement |
Yes |
|
|
401 |
CD1 |
17.6.3.5 [allocator.requirements] |
incorrect type casts in table 32 in lib.allocator.requirements |
Yes |
|
|
402 |
CD1 |
17.6.3.5 [allocator.requirements] |
wrong new expression in [some_]allocator::construct |
Yes |
|
|
120 |
CD1 |
17.6.4.3 [reserved.names] |
Can an implementor add specializations? |
Yes |
|
|
226 |
CD1 |
17.6.4.3 [reserved.names] |
User supplied specializations or overloads of namespace std function templates |
Yes |
|
|
232 |
CD1 |
17.6.4.3 [reserved.names] |
"depends" poorly defined in 17.4.3.1 |
Yes |
|
|
422 |
CD1 |
17.6.4.3 [reserved.names] |
explicit specializations of member functions of class templates |
Yes |
|
|
294 |
CD1 |
17.6.4.3.2 [macro.names] |
User defined macros and standard headers |
Yes |
|
|
404 |
CD1 |
17.6.4.6 [replacement.functions] |
May a replacement allocation function be declared inline? |
Yes |
|
|
611 |
CD1 |
17.6.4.8 [res.on.functions] |
Standard library templates and incomplete types |
Yes |
|
|
225 |
CD1 |
17.6.5.4 [global.functions] |
std:: algorithms use of other unqualified algorithms |
Yes |
|
|
306 |
CD1 |
18.2 [support.types] |
offsetof macro and non-POD types |
Yes |
|
|
449 |
CD1 |
18.2 [support.types] |
Library Issue 306 Goes Too Far |
Yes |
|
|
201 |
CD1 |
18.3.2 [limits] |
Numeric limits terminology wrong |
Yes |
|
|
559 |
CD1 |
18.3.2 [limits] |
numeric_limits<const T> |
Yes |
|
|
497 |
CD1 |
18.3.2.4 [numeric.limits.members] |
meaning of numeric_limits::traps for floating point types |
Yes |
|
|
612 |
CD1 |
18.3.2.4 [numeric.limits.members] |
numeric_limits::is_modulo insufficiently defined |
Yes |
|
|
184 |
CD1 |
18.3.2.7 [numeric.special] |
numeric_limits<bool> wording problems |
Yes |
|
|
613 |
CD1 |
18.3.2.7 [numeric.special] |
max_digits10 missing from numeric_limits |
Yes |
|
|
416 |
CD1 |
18.3.3 [c.limits] |
definitions of XXX_MIN and XXX_MAX macros in climits |
Yes |
|
|
593 |
CD1 |
18.4 [cstdint] |
__STDC_CONSTANT_MACROS |
Yes |
|
|
206 |
CD1 |
18.6.2.1 [new.delete.single] |
operator new(size_t, nothrow) may become unlinked to ordinary operator new if ordinary version replaced |
Yes |
|
|
319 |
CD1 |
18.6.2.1 [new.delete.single] |
Storage allocation wording confuses "Required behavior", "Requires" |
Yes |
|
|
298 |
CD1 |
18.6.2.2 [new.delete.array] |
::operator delete[] requirement incorrect/insufficient |
Yes |
|
|
266 |
CD1 |
18.8.3 [bad.exception] |
bad_exception::~bad_exception() missing Effects clause |
Yes |
|
|
744 |
CD1 |
18.8.6 [propagation] |
What is the lifetime of an exception pointed to by an exception_ptr? |
Yes |
|
|
746 |
CD1 |
18.8.6 [propagation] |
current_exception may fail with bad_alloc |
Yes |
|
|
820 |
CD1 |
18.8.6 [propagation] |
current_exception()'s interaction with throwing copy ctors |
Yes |
|
|
829 |
CD1 |
18.8.6 [propagation] |
current_exception wording unclear about exception type |
Yes |
|
|
619 |
CD1 |
18.10 [support.runtime] |
Longjmp wording problem |
Yes |
|
|
254 |
CD1 |
19.2 [std.exceptions] |
Exception types in clause 19 are constructed from std::string |
Yes |
|
|
288 |
CD1 |
19.4 [errno] |
<cerrno> requirements missing macro EILSEQ |
Yes |
|
|
804 |
CD1 |
19.5 [syserr] |
Some problems with classes error_code/error_condition |
Yes |
|
|
805 |
CD1 |
19.5 [syserr] |
posix_error::posix_errno concerns |
Yes |
|
|
698 |
CD1 |
19.5.7.1 [syserr.syserr.overview] |
system_error needs const char* constructors |
Yes |
|
|
312 |
CD1 |
20 [utilities] |
Table 27 is missing headers |
Yes |
|
|
700 |
CD1 |
20.2.4 [forward] |
N1856 defines struct identity |
Yes |
|
|
808 |
CD1 |
20.2.4 [forward] |
§[forward] incorrect redundant specification |
Yes |
|
|
265 |
CD1 |
20.4 [pairs] |
std::pair::pair() effects overly restrictive |
Yes |
|
|
706 |
CD1 |
20.4 [pairs] |
make_pair() should behave as make_tuple() wrt. reference_wrapper() |
Yes |
|
|
522 |
CD1 |
20.5 [tuple] |
Tuple doesn't define swap |
Yes |
|
|
807 |
CD1 |
20.5.2.1 [tuple.cnstr] |
tuple construction should not fail unless its element's construction fails |
Yes |
|
|
775 |
CD1 |
20.5.2.6 [tuple.helper] |
Tuple indexing should be unsigned? |
Yes |
|
|
693 |
CD1 |
20.9 [template.bitset] |
std::bitset::all() missing |
Yes |
|
|
694 |
CD1 |
20.9 [template.bitset] |
std::bitset and long long |
Yes |
|
|
396 |
CD1 |
20.9.1 [bitset.cons] |
what are characters zero and one |
Yes |
|
|
457 |
CD1 |
20.9.1 [bitset.cons] |
bitset constructor: incorrect number of initialized bits |
Yes |
|
|
778 |
CD1 |
20.9.1 [bitset.cons] |
std::bitset does not have any constructor taking a string literal |
Yes |
|
116 |
186 |
CD1 |
20.9.2 [bitset.members] |
bitset::set() second parameter should be bool |
Yes |
|
|
434 |
CD1 |
20.9.2 [bitset.members] |
bitset::to_string() hard to use |
Yes |
|
|
303 |
CD1 |
20.9.4 [bitset.operators] |
Bitset input operator underspecified |
Yes |
|
|
858 |
CD1 |
20.10.4 [util.dynamic.safety] |
Wording for Minimal Support for Garbage Collection |
Yes |
|
|
234 |
CD1 |
20.10.9.1 [allocator.members] |
Typos in allocator definition |
Yes |
|
|
400 |
CD1 |
20.10.9.1 [allocator.members] |
redundant type cast in lib.allocator.members |
Yes |
|
|
578 |
CD1 |
20.10.9.1 [allocator.members] |
purpose of hint to allocator::allocate() |
Yes |
|
|
634 |
CD1 |
20.10.9.1 [allocator.members] |
allocator.address() doesn't work for types overloading operator& |
Yes |
|
350 |
673 |
CD1 |
20.11.1 [unique.ptr] |
unique_ptr update |
Yes |
|
|
740 |
CD1 |
20.11.1 [unique.ptr] |
Please remove *_ptr<T[N]> |
Yes |
|
|
762 |
CD1 |
20.11.1 [unique.ptr] |
std::unique_ptr requires complete type? |
Yes |
|
|
806 |
CD1 |
20.11.1.2.5 [unique.ptr.single.modifiers] |
unique_ptr::reset effects incorrect, too permissive |
Yes |
|
|
541 |
CD1 |
20.11.2.2 [util.smartptr.shared] |
shared_ptr template assignment and void |
Yes |
|
|
674 |
CD1 |
20.11.2.2 [util.smartptr.shared] |
shared_ptr interface changes for consistency with N1856 |
Yes |
|
|
710 |
CD1 |
20.11.2.2 [util.smartptr.shared] |
Missing postconditions |
Yes |
|
|
813 |
CD1 |
20.11.2.2 [util.smartptr.shared] |
"empty" undefined for shared_ptr |
Yes |
|
|
687 |
CD1 |
20.11.2.2.1 [util.smartptr.shared.const] |
shared_ptr conversion constructor not constrained |
Yes |
|
|
575 |
CD1 |
20.11.2.2.2 [util.smartptr.shared.dest] |
the specification of ~shared_ptr is MT-unfriendly, makes implementation assumptions |
Yes |
|
|
540 |
CD1 |
20.11.2.2.5 [util.smartptr.shared.obs] |
shared_ptr<void>::operator*() |
Yes |
|
|
542 |
CD1 |
20.11.2.2.5 [util.smartptr.shared.obs] |
shared_ptr observers |
Yes |
|
|
743 |
CD1 |
20.11.2.2.8 [util.smartptr.shared.spec] |
rvalue swap for shared_ptr |
Yes |
|
|
533 |
CD1 |
20.11.2.2.10 [util.smartptr.getdeleter] |
typo in 2.2.3.10/1 |
Yes |
|
|
545 |
CD1 |
20.11.2.2.10 [util.smartptr.getdeleter] |
When is a deleter deleted? |
Yes |
|
|
185 |
CD1 |
20.14 [function.objects] |
Questionable use of term "inline" |
Yes |
|
|
660 |
CD1 |
20.14 [function.objects] |
Missing Bitwise Operations |
Yes |
|
|
521 |
CD1 |
20.14.4 [refwrap] |
Garbled requirements for argument_type in reference_wrapper |
Yes |
|
|
689 |
CD1 |
20.14.4.1 [refwrap.const] |
reference_wrapper constructor overly constrained |
Yes |
|
|
284 |
CD1 |
20.14.6 [comparisons] |
unportable example in 20.3.7, p6 |
Yes |
|
|
297 |
CD1 |
20.14.7 [logical.operations] |
const_mem_fun_t<>::argument_type should be const T* |
Yes |
|
|
520 |
CD1 |
20.14.10 [func.bind] |
Result_of and pointers to data members |
Yes |
|
|
527 |
CD1 |
20.14.10.3 [func.bind.bind] |
tr1::bind has lost its Throws clause |
Yes |
|
|
770 |
CD1 |
20.14.12 [func.wrap] |
std::function should use rvalue swap |
Yes |
|
|
769 |
CD1 |
20.14.12.2 [func.wrap.func] |
std::function should use nullptr_t instead of "unspecified-null-pointer-type" |
Yes |
|
|
610 |
CD1 |
20.14.12.2.1 [func.wrap.func.con] |
Suggested non-normative note for C++0x |
Yes |
|
|
848 |
CD1 |
20.14.14 [unord.hash] |
Missing std::hash specializations for std::bitset/std::vector<bool> |
Yes |
|
|
749 |
CD1 |
20.15.4.3 [meta.unary.prop] |
Currently has_nothrow_copy_constructor<T>::value is true if T has 'a' nothrow copy constructor. |
Yes |
|
|
705 |
CD1 |
20.15.7.6 [meta.trans.other] |
type-trait decay incompletely specified |
Yes |
|
|
856 |
CD1 |
20.15.7.6 [meta.trans.other] |
Removal of aligned_union |
Yes |
|
|
882 |
CD1 |
20.17.5.5 [time.duration.nonmember] |
duration non-member arithmetic requirements |
Yes |
|
|
335 |
CD1 |
21.2.1 [char.traits.require] |
minor issue with char_traits, table 37 |
Yes |
|
|
352 |
CD1 |
21.2.2 [char.traits.typedefs] |
missing fpos requirements |
Yes |
|
|
709 |
CD1 |
21.2.3 [char.traits.specializations] |
char_traits::not_eof has wrong signature |
Yes |
|
|
467 |
CD1 |
21.2.3.1 [char.traits.specializations.char] |
char_traits::lt(), compare(), and memcmp() |
Yes |
|
|
180 |
CD1 |
21.3.1 [basic.string] |
Container member iterator arguments constness has unintended consequences |
Yes |
|
|
263 |
CD1 |
21.3.1 [basic.string] |
Severe restriction on basic_string reference counting |
Yes |
|
|
530 |
CD1 |
21.3.1 [basic.string] |
Must elements of a string be contiguous? |
Yes |
|
|
534 |
CD1 |
21.3.1 [basic.string] |
Missing basic_string members |
Yes |
|
|
301 |
CD1 |
21.3.1.1 [string.require] |
basic_string template ctor effects clause omits allocator argument |
Yes |
|
|
259 |
CD1 |
21.3.1.4 [string.capacity] |
basic_string::operator[] and const correctness |
Yes |
|
|
428 |
CD1 |
21.3.1.6.5 [string::erase] |
string::erase(iterator) validity |
Yes |
|
|
403 |
CD1 |
21.3.1.6.8 [string::swap] |
basic_string::swap should not throw exceptions |
Yes |
|
|
535 |
CD1 |
21.3.1.6.8 [string::swap] |
std::string::swap specification poorly worded |
Yes |
|
|
91 |
CD1 |
21.3.2.9 [string.io] |
Description of operator>> and getline() for string<> might cause endless loop |
Yes |
|
|
435 |
CD1 |
21.3.2.9 [string.io] |
bug in DR 25 |
Yes |
|
|
586 |
CD1 |
21.3.2.9 [string.io] |
string inserter not a formatted function |
Yes |
|
|
824 |
CD1 |
21.3.2.9 [string.io] |
rvalue ref issue with basic_string inserter |
Yes |
|
|
771 |
CD1 |
21.3.3 [string.conversions] |
Impossible throws clause in [string.conversions] |
Yes |
|
|
772 |
CD1 |
21.3.3 [string.conversions] |
Impossible return clause in [string.conversions] |
Yes |
|
|
345 |
CD1 |
21.5 [c.strings] |
type tm in <cwchar> |
Yes |
|
|
317 |
CD1 |
22 [localization] |
Instantiation vs. specialization of facets |
Yes |
|
|
495 |
CD1 |
22 [localization] |
Clause 22 template parameter requirements |
Yes |
|
|
268 |
CD1 |
22.3.1 [locale] |
Typo in locale synopsis |
Yes |
|
|
360 |
CD1 |
22.3.1 [locale] |
locale mandates inefficient implementation |
Yes |
|
|
327 |
CD1 |
22.3.1.1.1 [locale.category] |
Typo in time_get facet in table 52 |
Yes |
|
447 |
340 |
CD1 |
22.3.1.1.1 [locale.category] |
interpretation of has_facet<Facet>(loc) |
Yes |
|
|
347 |
CD1 |
22.3.1.1.1 [locale.category] |
locale::category and bitmask requirements |
Yes |
|
|
436 |
CD1 |
22.3.1.1.2 [locale.facet] |
are cv-qualified facet types valid facets? |
Yes |
|
|
391 |
CD1 |
22.3.3.2 [conversions] |
non-member functions specified as const |
Yes |
|
|
228 |
CD1 |
22.4 [locale.categories] |
Incorrect specification of "..._byname" facets |
Yes |
|
|
338 |
CD1 |
22.4 [locale.categories] |
is whitespace allowed between `-' and a digit? |
Yes |
|
|
339 |
CD1 |
22.4.1 [category.ctype] |
definition of bitmask type restricted to clause 27 |
Yes |
|
|
379 |
CD1 |
22.4.1.1.2 [locale.ctype.virtuals] |
nonsensical ctype::do_widen() requirement |
Yes |
|
|
616 |
CD1 |
22.4.1.2 [locale.ctype.byname] |
missing 'typename' in ctype_byname |
Yes |
|
|
695 |
CD1 |
22.4.1.3 [facet.ctype.special] |
ctype<char>::classic_table() not accessible |
Yes |
|
|
153 |
CD1 |
22.4.1.3.2 [facet.ctype.char.members] |
Typo in narrow() semantics |
Yes |
|
207 |
76 |
CD1 |
22.4.1.4 [locale.codecvt] |
Can a codecvt facet always convert one internal character at a time? |
Yes |
|
|
664 |
CD1 |
22.4.1.4.2 [locale.codecvt.virtuals] |
do_unshift for codecvt<char, char, mbstate_t> |
Yes |
|
|
665 |
CD1 |
22.4.1.4.2 [locale.codecvt.virtuals] |
do_unshift return value |
Yes |
|
|
305 |
CD1 |
22.4.1.5 [locale.codecvt.byname] |
Default behavior of codecvt<wchar_t, char, mbstate_t>::length() |
Yes |
|
|
380 |
CD1 |
22.4.1.5 [locale.codecvt.byname] |
typos in codecvt tables 53 and 54 |
Yes |
|
|
381 |
CD1 |
22.4.1.5 [locale.codecvt.byname] |
detection of invalid mbstate_t in codecvt |
Yes |
|
|
275 |
CD1 |
22.4.2.1.1 [facet.num.get.members] |
Wrong type in num_get::get() overloads |
Yes |
|
|
23 |
CD1 |
22.4.2.1.2 [facet.num.get.virtuals] |
Num_get overflow result |
Yes |
|
|
221 |
CD1 |
22.4.2.1.2 [facet.num.get.virtuals] |
num_get<>::do_get stage 2 processing broken |
Yes |
|
|
321 |
CD1 |
22.4.2.1.2 [facet.num.get.virtuals] |
Typo in num_get |
Yes |
|
|
358 |
CD1 |
22.4.2.1.2 [facet.num.get.virtuals] |
interpreting thousands_sep after a decimal_point |
Yes |
|
|
359 |
CD1 |
22.4.2.2.1 [facet.num.put.members] |
num_put<>::do_put (..., bool) undocumented |
Yes |
|
|
231 |
CD1 |
22.4.2.2.2 [facet.num.put.virtuals] |
Precision in iostream? |
Yes |
|
|
282 |
CD1 |
22.4.2.2.2 [facet.num.put.virtuals] |
What types does numpunct grouping refer to? |
Yes |
|
|
318 |
CD1 |
22.4.3.2 [locale.numpunct.byname] |
Misleading comment in definition of numpunct_byname |
Yes |
|
|
248 |
CD1 |
22.4.5 [category.time] |
time_get fails to set eofbit |
Yes |
|
|
461 |
CD1 |
22.4.5.1.2 [locale.time.get.virtuals] |
time_get hard or impossible to implement |
Yes |
|
|
328 |
CD1 |
22.4.6.2.2 [locale.money.put.virtuals] |
Bad sprintf format modifier in money_put<>::do_put() |
Yes |
|
|
325 |
CD1 |
22.4.6.3.2 [locale.moneypunct.virtuals] |
Misleading text in moneypunct<>::do_grouping |
Yes |
|
|
666 |
CD1 |
22.4.6.3.2 [locale.moneypunct.virtuals] |
moneypunct::do_curr_symbol() |
Yes |
|
|
179 |
CD1 |
23.2 [container.requirements] |
Comparison of const_iterators to iterators doesn't work |
Yes |
|
|
276 |
CD1 |
23.2 [container.requirements] |
Assignable requirement for container value type overly strict |
Yes |
|
|
322 |
CD1 |
23.2 [container.requirements] |
iterator and const_iterator should have the same value type |
Yes |
|
|
371 |
CD1 |
23.2 [container.requirements] |
Stability of multiset and multimap member functions |
Yes |
|
|
589 |
CD1 |
23.2 [container.requirements] |
Requirements on iterators of member template functions of containers |
Yes |
|
536 |
675 |
CD1 |
23.2 [container.requirements] |
Move assignment of containers |
Yes |
|
|
759 |
CD1 |
23.2 [container.requirements] |
A reference is not an object |
Yes |
|
|
766 |
CD1 |
23.2 [container.requirements] |
Inconsistent exception guarantees between ordered and unordered associative containers |
Yes |
|
|
842 |
CD1 |
23.2 [container.requirements] |
ConstructibleAsElement and bit containers |
Yes |
|
|
355 |
CD1 |
23.2.3 [sequence.reqmts] |
Operational semantics for a.back() |
Yes |
|
|
438 |
CD1 |
23.2.3 [sequence.reqmts] |
Ambiguity in the "do the right thing" clause |
Yes |
|
|
103 |
CD1 |
23.2.4 [associative.reqmts] |
set::iterator is required to be modifiable, but this allows modification of keys |
Yes |
|
|
130 |
CD1 |
23.2.4 [associative.reqmts] |
Return type of container::erase(iterator) differs for associative containers |
Yes |
|
451 |
233 |
CD1 |
23.2.4 [associative.reqmts] |
Insertion hints in associative containers |
Yes |
|
192, 246 |
264 |
CD1 |
23.2.4 [associative.reqmts] |
Associative container insert(i, j) complexity requirements are not feasible. |
Yes |
|
102 |
316 |
CD1 |
23.2.4 [associative.reqmts] |
Vague text in Table 69 |
Yes |
|
|
354 |
CD1 |
23.2.4 [associative.reqmts] |
Associative container lower/upper bound requirements |
Yes |
|
|
518 |
CD1 |
23.2.5 [unord.req] |
Are insert and erase stable for unordered_multiset and unordered_multimap? |
Yes |
|
|
679 |
CD1 |
23.3 [sequences] |
resize parameter by value |
Yes |
|
|
519 |
CD1 |
23.3.7 [array] |
Data() undocumented |
Yes |
|
|
720 |
CD1 |
23.3.7 [array] |
Omissions in constexpr usages |
Yes |
|
|
776 |
CD1 |
23.3.7 [array] |
Undescribed assign function of std::array |
Yes |
|
|
237 |
CD1 |
23.3.8.2 [deque.cons] |
Undefined expression in complexity specification |
Yes |
|
|
850 |
CD1 |
23.3.8.3 [deque.capacity] |
Should shrink_to_fit apply to std::deque? |
Yes |
|
|
638 |
CD1 |
23.3.8.4 [deque.modifiers] |
deque end invalidation during erase |
Yes |
|
|
307 |
CD1 |
23.3.10 [list] |
Lack of reference typedefs in container adaptors |
Yes |
|
|
320 |
CD1 |
23.3.10.2 [list.cons] |
list::assign overspecified |
Yes |
|
|
410 |
CD1 |
23.3.10.2 [list.cons] |
Missing semantics for stack and queue comparison operators |
Yes |
|
|
250 |
CD1 |
23.3.10.5 [list.ops] |
splicing invalidates iterators |
Yes |
|
|
278 |
CD1 |
23.3.10.5 [list.ops] |
What does iterator validity mean? |
Yes |
|
|
300 |
CD1 |
23.3.10.5 [list.ops] |
list::merge() specification incomplete |
Yes |
|
|
315 |
CD1 |
23.3.10.5 [list.ops] |
Bad "range" in list::unique complexity |
Yes |
|
|
464 |
CD1 |
23.3.11 [vector] |
Suggestion for new member functions in standard containers |
Yes |
|
|
469 |
CD1 |
23.3.11 [vector] |
vector<bool> ill-formed relational operators |
Yes |
|
|
496 |
CD1 |
23.3.11 [vector] |
Illegal use of "T" in vector<bool> |
Yes |
|
|
329 |
CD1 |
23.3.11.3 [vector.capacity] |
vector capacity, reserve and reallocation |
Yes |
|
|
341 |
CD1 |
23.3.11.3 [vector.capacity] |
Vector reallocation and swap |
Yes |
|
|
755 |
CD1 |
23.3.11.3 [vector.capacity] |
std::vector and std:string lack explicit shrink-to-fit operations |
Yes |
|
|
247 |
CD1 |
23.3.11.5 [vector.modifiers] |
vector, deque::insert complexity |
Yes |
|
|
406 |
CD1 |
23.3.11.5 [vector.modifiers] |
vector::insert(s) exception safety |
Yes |
|
|
414 |
CD1 |
23.3.11.5 [vector.modifiers] |
Which iterators are invalidated by v.erase()? |
Yes |
|
|
334 |
CD1 |
23.4.4.3 [map.access] |
map::operator[] specification forces inefficient implementation |
Yes |
|
|
703 |
CD1 |
23.4.4.3 [map.access] |
map::at() need a complexity specification |
Yes |
|
|
214 |
CD1 |
23.4.6 [set] |
set::find() missing const overload |
Yes |
|
450 |
691 |
CD1 |
23.5 [unord] |
const_local_iterator cbegin, cend missing from TR1 |
Yes |
|
|
852 |
CD1 |
23.5 [unord] |
unordered containers begin(n) mistakenly const |
Yes |
|
|
761 |
CD1 |
23.5.4.3 [unord.map.elem] |
unordered_map needs an at() member function |
Yes |
|
|
98 |
CD1 |
24.2.3 [input.iterators] |
Input iterator requirements are badly written |
Yes |
|
|
324 |
CD1 |
24.2.4 [output.iterators] |
Do output iterators have value types? |
Yes |
|
|
200 |
CD1 |
24.2.5 [forward.iterators] |
Forward iterator requirements don't allow constant iterators |
Yes |
|
|
478 |
CD1 |
24.2.5 [forward.iterators] |
Should forward iterator requirements table have a line for r->m? |
Yes |
|
477 |
383 |
CD1 |
24.2.6 [bidirectional.iterators] |
Bidirectional iterator assertion typo |
Yes |
|
|
448 |
CD1 |
24.2.7 [random.access.iterators] |
Random Access Iterators over abstract classes |
Yes |
|
|
445 |
CD1 |
24.4.1 [iterator.traits] |
iterator_traits::reference unspecified for some iterator categories |
Yes |
|
|
280 |
CD1 |
24.5.1 [reverse.iterators] |
Comparison of reverse_iterator to const reverse_iterator |
Yes |
|
|
235 |
CD1 |
24.5.1.1 [reverse.iterator] |
No specification of default ctor for reverse_iterator |
Yes |
|
|
386 |
CD1 |
24.5.1.3.11 [reverse.iter.op-=] |
Reverse iterator's operator[] has impossible return type |
Yes |
|
|
685 |
CD1 |
24.5.1.3.19 [reverse.iter.opdiff] |
reverse_iterator/move_iterator difference has invalid signatures |
Yes |
|
|
561 |
CD1 |
24.5.2.6.5 [inserter] |
inserter overly generic |
Yes |
|
|
680 |
CD1 |
24.5.3.1 [move.iterator] |
move_iterator operator-> return |
Yes |
|
|
260 |
CD1 |
24.6.1.2 [istream.iterator.ops] |
Inconsistent return type of istream_iterator::operator++(int) |
Yes |
|
|
261 |
CD1 |
24.6.1.2 [istream.iterator.ops] |
Missing description of istream_iterator::operator!= |
Yes |
|
|
349 |
CD1 |
24.6.2 [ostream.iterator] |
Minor typographical error in ostream_iterator |
Yes |
|
|
92 |
CD1 |
25 [algorithms] |
Incomplete Algorithm Requirements |
Yes |
|
|
475 |
CD1 |
25.3.4 [alg.foreach] |
May the function object passed to for_each modify the elements of the iterated sequence? |
Yes |
|
|
576 |
CD1 |
25.3.7 [alg.find.first.of] |
find_first_of is overconstrained |
Yes |
|
|
240 |
CD1 |
25.3.8 [alg.adjacent.find] |
Complexity of adjacent_find() is meaningless |
Yes |
|
|
426 |
CD1 |
25.3.13 [alg.search] |
search_n(), fill_n(), and generate_n() with negative n |
Yes |
|
|
714 |
CD1 |
25.3.13 [alg.search] |
search_n complexity is too lax |
Yes |
|
|
187 |
CD1 |
25.4.3 [alg.swap] |
iter_swap underspecified |
Yes |
|
|
809 |
CD1 |
25.4.3 [alg.swap] |
std::swap should be overloaded for array types |
Yes |
|
|
242 |
CD1 |
25.4.4 [alg.transform] |
Side effects of function objects |
Yes |
|
|
283 |
CD1 |
25.4.5 [alg.replace] |
std::replace() requirement incorrect/insufficient |
Yes |
|
483 |
337 |
CD1 |
25.4.5 [alg.replace] |
replace_copy_if's template parameter should be InputIterator |
Yes |
|
|
779 |
CD1 |
25.4.8 [alg.remove] |
Resolution of #283 incomplete |
Yes |
|
|
202 |
CD1 |
25.4.9 [alg.unique] |
unique() effects unclear when predicate not an equivalence relation |
Yes |
|
|
239 |
CD1 |
25.4.9 [alg.unique] |
Complexity of unique() and/or unique_copy incorrect |
Yes |
|
|
241 |
CD1 |
25.4.9 [alg.unique] |
Does unique_copy() require CopyConstructible and Assignable? |
Yes |
|
|
538 |
CD1 |
25.4.9 [alg.unique] |
241 again: Does unique_copy() require CopyConstructible and Assignable? |
Yes |
|
|
488 |
CD1 |
25.4.11 [alg.rotate] |
rotate throws away useful information |
Yes |
|
|
552 |
CD1 |
25.4.13 [alg.random.shuffle] |
random_shuffle and its generator |
Yes |
|
|
713 |
CD1 |
25.5.1.1 [sort] |
sort() complexity is too lax |
Yes |
|
|
270 |
CD1 |
25.5.3 [alg.binary.search] |
Binary search requirements overly strict |
Yes |
|
472 |
577 |
CD1 |
25.5.3.2 [upper.bound] |
upper_bound(first, last, ...) cannot return last |
Yes |
|
|
384 |
CD1 |
25.5.3.3 [equal.range] |
equal_range has unimplementable runtime complexity |
Yes |
|
|
787 |
CD1 |
25.5.3.4 [binary.search] |
complexity of binary_search |
Yes |
|
|
291 |
CD1 |
25.5.5 [alg.set.operations] |
Underspecification of set algorithms |
Yes |
|
|
411 |
CD1 |
25.5.5 [alg.set.operations] |
Wrong names of set member functions |
Yes |
|
|
281 |
CD1 |
25.5.7 [alg.min.max] |
std::min() and max() requirements overly restrictive |
Yes |
|
486 |
715 |
CD1 |
25.5.7 [alg.min.max] |
minmax_element complexity is too lax |
Yes |
|
|
286 |
CD1 |
25.6 [alg.c.library] |
<cstdlib> requirements missing size_t typedef |
Yes |
|
|
405 |
CD1 |
25.6 [alg.c.library] |
qsort and POD |
Yes |
|
|
387 |
CD1 |
26.5 [complex.numbers] |
std::complex over-encapsulated |
Yes |
|
|
629 |
CD1 |
26.5.6 [complex.ops] |
complex<T> insertion and locale dependence |
Yes |
|
|
595 |
CD1 |
26.5.7 [complex.value.ops] |
TR1/C++0x: fabs(complex<T>) redundant / wrongly specified |
Yes |
|
|
781 |
CD1 |
26.5.7 [complex.value.ops] |
std::complex should add missing C99 functions |
Yes |
|
|
844 |
CD1 |
26.5.9 [cmplx.over] |
complex pow return type is ambiguous |
Yes |
|
|
507 |
CD1 |
26.6 [rand] |
Missing requirement for variate_generator::operator() |
Yes |
|
|
699 |
CD1 |
26.6 [rand] |
N2111 changes min/max |
Yes |
|
|
505 |
CD1 |
26.6.1 [rand.req] |
Result_type in random distribution requirements |
Yes |
|
|
654 |
CD1 |
26.6.1.4 [rand.req.eng] |
Missing IO roundtrip for random number engines |
Yes |
|
|
678 |
CD1 |
26.6.1.4 [rand.req.eng] |
Changes for [rand.req.eng] |
Yes |
|
|
728 |
CD1 |
26.6.3.2 [rand.eng.mers] |
Problem in [rand.eng.mers]/6 |
Yes |
|
|
609 |
CD1 |
26.6.4.3 [rand.adapt.ibits] |
missing static const |
Yes |
|
|
508 |
CD1 |
26.6.5 [rand.predef] |
Bad parameters for ranlux64_base_01 |
Yes |
|
|
607 |
CD1 |
26.6.7.1 [rand.util.seedseq] |
Concern about short seed vectors |
Yes |
|
|
608 |
CD1 |
26.6.7.1 [rand.util.seedseq] |
Unclear seed_seq construction details |
Yes |
|
|
677 |
CD1 |
26.6.7.1 [rand.util.seedseq] |
Weaknesses in seed_seq::randomize [rand.util.seedseq] |
Yes |
|
|
712 |
CD1 |
26.6.7.1 [rand.util.seedseq] |
seed_seq::size no longer useful |
Yes |
|
|
655 |
CD1 |
26.6.7.2 [rand.util.canonical] |
Signature of generate_canonical not useful |
Yes |
|
|
734 |
CD1 |
26.6.8.5.3 [rand.dist.norm.chisq] |
Unnecessary restriction in [rand.dist.norm.chisq] |
Yes |
|
|
792 |
CD1 |
26.6.8.6.2 [rand.dist.samp.pconst] |
piecewise_constant_distribution is undefined for a range with just one endpoint |
Yes |
|
|
621 |
CD1 |
26.7 [numarray] |
non-const copy assignment operators of helper arrays |
Yes |
|
|
253 |
CD1 |
26.7.2.2 [valarray.cons] |
valarray helper functions are almost entirely useless |
Yes |
|
|
620 |
CD1 |
26.7.2.2 [valarray.cons] |
valid uses of empty valarrays |
Yes |
|
|
624 |
CD1 |
26.7.2.3 [valarray.assign] |
valarray assignment and arrays of unequal length |
Yes |
|
|
389 |
CD1 |
26.7.2.4 [valarray.access] |
Const overload of valarray::operator[] returns by value |
Yes |
|
77 |
618 |
CD1 |
26.7.2.8 [valarray.members] |
valarray::cshift() effects on empty array |
Yes |
|
|
543 |
CD1 |
26.7.4 [class.slice] |
valarray slice default constructor |
Yes |
|
|
123 |
CD1 |
26.7.5.4 [slice.arr.fill] |
Should valarray helper arrays fill functions be const? |
Yes |
|
|
295 |
CD1 |
26.9 [c.math] |
Is abs defined in <cmath>? |
Yes |
|
|
395 |
CD1 |
26.9 [c.math] |
inconsistencies in the definitions of rand() and random_shuffle() |
Yes |
|
|
550 |
CD1 |
26.9 [c.math] |
What should the return type of pow(float,int) be? |
Yes |
|
|
722 |
CD1 |
26.9 [c.math] |
Missing [c.math] functions nanf and nanl |
Yes |
|
|
44 |
CD1 |
27 [input.output] |
Iostreams use operator== on int_type values |
Yes |
|
|
273 |
CD1 |
27 [input.output] |
Missing ios_base qualification on members of a dependent class |
Yes |
|
|
308 |
CD1 |
27 [input.output] |
Table 82 mentions unrelated headers |
Yes |
|
|
365 |
CD1 |
27 [input.output] |
Lack of const-qualification in clause 27 |
Yes |
|
|
623 |
CD1 |
27.2.1 [iostream.limits.imbue] |
pubimbue forbidden to call imbue |
Yes |
|
|
369 |
CD1 |
27.4 [iostream.objects] |
io stream objects and static ctors |
Yes |
|
|
455 |
CD1 |
27.4 [iostream.objects] |
cerr::tie() and wcerr::tie() are overspecified |
Yes |
|
|
574 |
CD1 |
27.4 [iostream.objects] |
DR 369 Contradicts Text |
Yes |
|
|
331 |
CD1 |
27.5.3.1.1 [ios::failure] |
bad declaration of destructor for ios_base::failure |
Yes |
|
|
363 |
CD1 |
27.5.3.1.1 [ios::failure] |
Missing exception specification in 27.4.2.1.1 |
Yes |
|
|
49 |
CD1 |
27.5.3.4 [ios.members.static] |
Underspecification of ios_base::sync_with_stdio |
Yes |
|
|
441 |
CD1 |
27.5.4 [fpos] |
Is fpos::state const? |
Yes |
|
|
256 |
CD1 |
27.5.5.3 [basic.ios.members] |
typo in 27.4.4.2, p17: copy_event does not exist |
Yes |
|
|
292 |
CD1 |
27.5.5.3 [basic.ios.members] |
effects of a.copyfmt (a) |
Yes |
|
|
272 |
CD1 |
27.5.5.4 [iostate.flags] |
Missing parentheses around subexpression |
Yes |
|
569 |
412 |
CD1 |
27.5.5.4 [iostate.flags] |
Typo in 27.4.4.3 |
Yes |
|
429 |
468 |
CD1 |
27.5.5.4 [iostate.flags] |
unexpected consequences of ios_base::operator void*() |
Yes |
|
|
364 |
CD1 |
27.6.3.4.2 [streambuf.virt.buffer] |
Inconsistent wording in 27.5.2.4.2 |
Yes |
|
|
567 |
CD1 |
27.7 [iostream.format] |
streambuf inserter and extractor should be unformatted |
Yes |
|
|
373 |
CD1 |
27.7.2.2.1 [istream.formatted.reqmts] |
Are basic_istream and basic_ostream to use (exceptions()&badbit) != 0 ? |
Yes |
|
|
118 |
CD1 |
27.7.2.2.2 [istream.formatted.arithmetic] |
basic_istream uses nonexistent num_get member functions |
Yes |
|
|
661 |
CD1 |
27.7.2.2.2 [istream.formatted.arithmetic] |
New 27.6.1.2.2 changes make special extractions useless |
Yes |
|
|
413 |
CD1 |
27.7.2.2.3 [istream::extractors] |
Proposed resolution to LDR#64 still wrong |
Yes |
|
|
136 |
CD1 |
27.7.2.3 [istream.unformatted] |
seekp, seekg setting wrong streams? |
Yes |
|
|
243 |
CD1 |
27.7.2.3 [istream.unformatted] |
get and getline when sentry reports failure |
Yes |
|
|
370 |
CD1 |
27.7.2.3 [istream.unformatted] |
Minor error in basic_istream::get |
Yes |
|
|
531 |
CD1 |
27.7.2.3 [istream.unformatted] |
array forms of unformatted input functions |
Yes |
|
|
537 |
CD1 |
27.7.2.3 [istream.unformatted] |
Typos in the signatures in 27.6.1.3/42-43 and 27.6.2.4 |
Yes |
|
|
566 |
CD1 |
27.7.2.3 [istream.unformatted] |
array forms of unformatted input function undefined for zero-element arrays |
Yes |
|
|
415 |
CD1 |
27.7.2.4 [istream.manip] |
behavior of std::ws |
Yes |
|
|
271 |
CD1 |
27.7.2.5 [iostreamclass] |
basic_iostream missing typedefs |
Yes |
|
|
165 |
CD1 |
27.7.3.1 [ostream] |
xsputn(), pubsync() never called by basic_ostream members? |
Yes |
|
|
311 |
CD1 |
27.7.3.1 [ostream] |
Incorrect wording in basic_ostream class synopsis |
Yes |
|
|
442 |
CD1 |
27.7.3.4 [ostream::sentry] |
sentry::operator bool() inconsistent signature |
Yes |
|
|
117 |
CD1 |
27.7.3.6.2 [ostream.inserters.arithmetic] |
basic_ostream uses nonexistent num_put member functions |
Yes |
|
|
640 |
CD1 |
27.7.3.6.2 [ostream.inserters.arithmetic] |
27.6.2.5.2 does not handle (unsigned) long long |
Yes |
|
|
167 |
CD1 |
27.7.3.6.4 [ostream.inserters.character] |
Improper use of traits_type::length() |
Yes |
|
|
474 |
CD1 |
27.7.3.6.4 [ostream.inserters.character] |
confusing Footnote 297 |
Yes |
|
|
581 |
CD1 |
27.7.3.7 [ostream.unformatted] |
flush() not unformatted function |
Yes |
|
|
333 |
CD1 |
27.7.3.8 [ostream.manip] |
does endl imply synchronization with the device? |
Yes |
|
|
183 |
CD1 |
27.7.4 [std.manip] |
I/O stream manipulators don't work for wide character streams |
Yes |
|
|
692 |
CD1 |
27.7.5 [ext.manip] |
get_money and put_money should be formatted I/O functions |
Yes |
|
|
252 |
CD1 |
27.8 [string.streams] |
missing casts/C-style casts used in iostreams |
Yes |
|
|
562 |
CD1 |
27.8 [string.streams] |
stringbuf ctor inefficient |
Yes |
|
|
251 |
CD1 |
27.8.2 [stringbuf] |
basic_stringbuf missing allocator_type |
Yes |
|
|
238 |
CD1 |
27.8.2.1 [stringbuf.cons] |
Contradictory results of stringbuf initialization. |
Yes |
|
|
375 |
CD1 |
27.8.2.4 [stringbuf.virtuals] |
basic_ios should be ios_base in 27.7.1.3 |
Yes |
|
|
376 |
CD1 |
27.8.2.4 [stringbuf.virtuals] |
basic_streambuf semantics |
Yes |
|
|
432 |
CD1 |
27.8.2.4 [stringbuf.virtuals] |
stringbuf::overflow() makes only one write position available |
Yes |
|
|
453 |
CD1 |
27.8.2.4 [stringbuf.virtuals] |
basic_stringbuf::seekoff need not always fail for an empty stream |
Yes |
|
|
563 |
CD1 |
27.8.2.4 [stringbuf.virtuals] |
stringbuf seeking from end |
Yes |
|
|
420 |
CD1 |
27.9.1 [fstreams] |
is std::FILE a complete type? |
Yes |
|
|
444 |
CD1 |
27.9.1 [fstreams] |
Bad use of casts in fstream |
Yes |
|
|
460 |
CD1 |
27.9.1 [fstreams] |
Default modes missing from basic_fstream member specifications |
Yes |
|
|
643 |
CD1 |
27.9.2 [filebuf] |
Impossible "as if" clauses |
Yes |
|
|
443 |
CD1 |
27.9.2.3 [filebuf.members] |
filebuf::close() inconsistent use of EOF |
Yes |
|
|
596 |
CD1 |
27.9.2.3 [filebuf.members] |
27.8.1.3 Table 112 omits "a+" and "a+b" modes |
Yes |
|
|
171 |
CD1 |
27.9.2.4 [filebuf.virtuals] |
Strange seekpos() semantics due to joint position |
Yes |
|
|
285 |
CD1 |
27.9.3.1 [ifstream.cons] |
minor editorial errors in fstream ctors |
Yes |
|
|
409 |
CD1 |
27.9.3.3 [ifstream.members] |
Closing an fstream should clear error state |
Yes |
|
|
622 |
CD1 |
27.9.5.3 [fstream.members] |
behavior of filebuf dtor and close on error |
Yes |
|
|
524 |
CD1 |
28 [re] |
regex named character classes and case-insensitivity don't mix |
Yes |
|
|
628 |
CD1 |
28.8 [re.regex] |
Inconsistent definition of basic_regex constructor |
Yes |
|
|
682 |
CD1 |
28.8.2 [re.regex.construct] |
basic_regex ctor takes InputIterator or ForwardIterator? |
Yes |
|
|
681 |
CD1 |
28.9.2 [re.submatch.op] |
Operator functions impossible to compare are defined in [re.submatch.op] |
Yes |
|
|
646 |
CD1 |
28.10.5 [re.results.form] |
const incorrect match_result members |
Yes |
|
|
652 |
CD1 |
28.12.1 [re.regiter] |
regex_iterator and const correctness |
Yes |
|
|
650 |
CD1 |
28.12.2 [re.tokiter] |
regex_token_iterator and const correctness |
Yes |
|
|
651 |
CD1 |
28.12.2.1 [re.tokiter.cnstr] |
Missing preconditions for regex_token_iterator c'tors |
Yes |
|
|
818 |
CD1 |
29.3 [atomics.order] |
wording for memory ordering |
Yes |
|
|
768 |
CD1 |
29.5 [atomics.types.generic] |
Typos in [atomics]? |
Yes |
|
|
845 |
CD1 |
29.5 [atomics.types.generic] |
atomics cannot support aggregate initialization |
Yes |
|
|
777 |
CD1 |
29.6 [atomics.types.operations] |
Atomics Library Issue |
Yes |
|
|
846 |
CD1 |
29.6 [atomics.types.operations] |
No definition for constructor |
Yes |
|
|
783 |
CD1 |
30.3.1.1 [thread.thread.id] |
thread::id reuse |
Yes |
|
|
109 |
CD1 |
99 [depr.lib.binders] |
Missing binders for non-const sequence elements |
Yes |
|
|
198 |
CD1 |
99 [iterator.concepts] |
Validity of pointers and references unspecified after iterator destruction |
Yes |
|
|
346 |
CD1 |
99 [iterator.concepts] |
Some iterator member functions should be const |
Yes |
|
|
362 |
CD1 |
99 [depr.lib.binders] |
bind1st/bind2nd type safety |
Yes |
|
|
407 |
CD1 |
99 [iterator.concepts] |
Can singular iterators be destroyed? |
Yes |
|
|
425 |
CD1 |
99 [temporary.buffer] |
return value of std::get_temporary_buffer |
Yes |
|
|
551 |
CD1 |
99 [cmplxh] |
<ccomplex> |
Yes |
|
|
789 |
CD1 |
99 [rand.adapt.xor] |
xor_combine_engine(result_type) should be explicit |
Yes |
|
|
798 |
CD1 |
99 [depr.lib.binders] |
Refactoring of binders lead to interface breakage |
Yes |
|
|
843 |
CD1 |
99 [func.referenceclosure.cons] |
Reference Closure |
Yes |
|
|
782 |
CD1 |
26.6.7.1 [rand.util.seedseq] |
Extended seed_seq constructor is useless |
Yes |
|
|
Issue |
Status |
Section |
Title |
Proposed Resolution |
Priority |
Duplicates |
222 |
TC1 |
17.5.1.4 [structure.specifications] |
Are throw clauses necessary if a throw is already implied by the effects clause? |
Yes |
|
|
1 |
TC1 |
17.6.2.3 [using.linkage] |
C library linkage editing oversight |
Yes |
|
|
199 |
TC1 |
17.6.3.5 [allocator.requirements] |
What does allocate(0) return? |
Yes |
|
|
147 |
TC1 |
17.6.5.4 [global.functions] |
Library Intro refers to global functions that aren't global |
Yes |
|
|
119 |
TC1 |
17.6.5.12 [res.on.exception.handling] |
Should virtual functions be allowed to strengthen the exception specification? |
Yes |
|
|
3 |
TC1 |
18.5 [support.start.term] |
Atexit registration during atexit() call is not described |
Yes |
|
|
9 |
TC1 |
18.6.2 [new.delete] |
Operator new(0) calls should not yield the same pointer |
Yes |
|
|
114 |
TC1 |
18.6.2.3 [new.delete.placement] |
Placement forms example in error twice |
Yes |
|
196 |
108 |
TC1 |
18.7.2 [type.info] |
Lifetime of exception::what() return unspecified |
Yes |
|
|
70 |
TC1 |
18.8 [support.exception] |
Uncaught_exception() missing throw() specification |
Yes |
|
|
181 |
TC1 |
20.4 [pairs] |
make_pair() unintended behavior |
Yes |
|
|
11 |
TC1 |
20.9 [template.bitset] |
Bitset minor problems |
Yes |
|
|
7 |
TC1 |
21 [strings] |
String clause minor problems |
Yes |
|
|
57 |
TC1 |
21.2.3.4 [char.traits.specializations.wchar.t] |
Mistake in char_traits |
Yes |
|
|
42 |
TC1 |
21.3.1 [basic.string] |
String ctors specify wrong default allocator |
Yes |
|
|
83 |
TC1 |
21.3.1 [basic.string] |
String::npos vs. string::max_size() |
Yes |
|
89 |
209 |
TC1 |
21.3.1 [basic.string] |
basic_string declarations inconsistent |
Yes |
|
|
86 |
TC1 |
21.3.1.1 [string.require] |
String constructors don't describe exceptions |
Yes |
|
|
141 |
TC1 |
21.3.1.6.4 [string::insert] |
basic_string::find_last_of, find_last_not_of say pos instead of xpos |
Yes |
|
|
27 |
TC1 |
21.3.1.6.5 [string::erase] |
String::erase(range) yields wrong iterator |
Yes |
|
|
5 |
TC1 |
21.3.1.6.8 [string::swap] |
String::compare specification questionable |
Yes |
|
87 |
25 |
TC1 |
21.3.2.9 [string.io] |
String operator<< uses width() value wrong |
Yes |
|
67 |
90 |
TC1 |
21.3.2.9 [string.io] |
Incorrect description of operator >> for strings |
Yes |
|
|
211 |
TC1 |
21.3.2.9 [string.io] |
operator>>(istream&, string&) doesn't set failbit |
Yes |
|
|
31 |
TC1 |
22.3.1 [locale] |
Immutable locale values |
Yes |
|
378 |
37 |
TC1 |
22.3.1 [locale] |
Leftover "global" reference |
Yes |
|
|
137 |
TC1 |
22.3.1 [locale] |
Do use_facet and has_facet look in the global locale? |
Yes |
|
|
21 |
TC1 |
22.3.1.1.1 [locale.category] |
Codecvt_byname<> instantiations |
Yes |
|
|
30 |
TC1 |
22.3.1.1.1 [locale.category] |
Wrong header for LC_* |
Yes |
|
|
14 |
TC1 |
22.3.1.3 [locale.members] |
Locale::combine should be const |
Yes |
|
|
15 |
TC1 |
22.3.1.3 [locale.members] |
Locale::name requirement inconsistent |
Yes |
|
|
8 |
TC1 |
22.3.1.5 [locale.statics] |
Locale::global lacks guarantee |
Yes |
|
|
38 |
TC1 |
22.3.2 [locale.global.templates] |
Facet definition incomplete |
Yes |
|
|
126 |
TC1 |
22.4.1.1.2 [locale.ctype.virtuals] |
typos in Effects clause of ctype::do_narrow() |
Yes |
|
|
152 |
TC1 |
22.4.1.1.2 [locale.ctype.virtuals] |
Typo in scan_is() semantics |
Yes |
|
|
124 |
TC1 |
22.4.1.2 [locale.ctype.byname] |
ctype_byname<charT>::do_scan_is & do_scan_not return type should be const charT* |
Yes |
|
|
28 |
TC1 |
22.4.1.3.2 [facet.ctype.char.members] |
Ctype<char>is ambiguous |
Yes |
|
236 |
16 |
TC1 |
22.4.1.4 [locale.codecvt] |
Bad ctype_byname<char> decl |
Yes |
|
|
19 |
TC1 |
22.4.1.4 [locale.codecvt] |
"Noconv" definition too vague |
Yes |
|
10 |
24 |
TC1 |
22.4.1.4 [locale.codecvt] |
"do_convert" doesn't exist |
Yes |
|
72 |
33 |
TC1 |
22.4.1.4 [locale.codecvt] |
Codecvt<> mentions from_type |
Yes |
|
43 |
74 |
TC1 |
22.4.1.4 [locale.codecvt] |
Garbled text for codecvt::do_max_length |
Yes |
|
|
75 |
TC1 |
22.4.1.4 [locale.codecvt] |
Contradiction in codecvt::length's argument types |
Yes |
|
|
18 |
TC1 |
22.4.2.1.1 [facet.num.get.members] |
Get(...bool&) omitted |
Yes |
|
|
17 |
TC1 |
22.4.2.1.2 [facet.num.get.virtuals] |
Bad bool parsing |
Yes |
|
|
154 |
TC1 |
22.4.2.1.2 [facet.num.get.virtuals] |
Missing double specifier for do_get() |
Yes |
|
|
34 |
TC1 |
22.4.2.2.2 [facet.num.put.virtuals] |
True/falsename() not in ctype<> |
Yes |
|
|
20 |
TC1 |
22.4.3.1.2 [facet.numpunct.virtuals] |
Thousands_sep returns wrong type |
Yes |
|
|
71 |
TC1 |
22.4.5.1 [locale.time.get] |
Do_get_monthname synopsis missing argument |
Yes |
|
|
164 |
TC1 |
22.4.5.3.2 [locale.time.put.virtuals] |
do_put() has apparently unused fill argument |
Yes |
|
|
40 |
TC1 |
22.4.8 [facets.examples] |
Meaningless normative paragraph in examples |
Yes |
|
|
148 |
TC1 |
22.4.8 [facets.examples] |
Functions in the example facet BoolNames should be const |
Yes |
|
|
217 |
TC1 |
22.4.8 [facets.examples] |
Facets example (Classifying Japanese characters) contains errors |
Yes |
|
|
51 |
TC1 |
23.2 [container.requirements] |
Requirement to not invalidate iterators missing |
Yes |
|
|
139 |
TC1 |
23.2.3 [sequence.reqmts] |
Optional sequence operation table description unclear |
Yes |
|
|
151 |
TC1 |
23.2.3 [sequence.reqmts] |
Can't currently clear() empty container |
Yes |
|
|
224 |
TC1 |
23.2.4 [associative.reqmts] |
clear() complexity for associative containers refers to undefined N |
Yes |
|
|
144 |
TC1 |
23.3.8.2 [deque.cons] |
Deque constructor complexity wrong |
Yes |
|
|
132 |
TC1 |
23.3.10.3 [list.capacity] |
list::resize description uses random access iterators |
Yes |
|
|
69 |
TC1 |
23.3.11 [vector] |
Must elements of a vector be contiguous? |
Yes |
|
|
134 |
TC1 |
23.3.11.2 [vector.cons] |
vector constructors over specified |
Yes |
|
|
133 |
TC1 |
23.4.4 [map] |
map missing get_allocator() |
Yes |
|
|
110 |
TC1 |
24.6.3 [istreambuf.iterator] |
istreambuf_iterator::equal not const |
Yes |
|
|
39 |
TC1 |
24.6.3.4 [istreambuf.iterator::op++] |
istreambuf_iterator<>::operator++(int) definition garbled |
Yes |
|
|
112 |
TC1 |
24.6.4.1 [ostreambuf.iter.cons] |
Minor typo in ostreambuf_iterator constructor |
Yes |
|
|
210 |
TC1 |
25 [algorithms] |
distance first and last confused |
Yes |
|
|
150 |
TC1 |
25.3.7 [alg.find.first.of] |
Find_first_of says integer instead of iterator |
Yes |
|
|
227 |
TC1 |
25.4.3 [alg.swap] |
std::swap() should require CopyConstructible or DefaultConstructible arguments |
Yes |
|
|
223 |
TC1 |
25.4.10 [alg.reverse] |
reverse algorithm should use iter_swap rather than swap |
Yes |
|
|
193 |
TC1 |
25.5.6 [alg.heap.operations] |
Heap operations description incorrect |
Yes |
|
216 |
212 |
TC1 |
25.5.7 [alg.min.max] |
Empty range behavior unclear for several algorithms |
Yes |
|
|
142 |
TC1 |
25.5.9 [alg.lex.comparison] |
lexicographical_compare complexity wrong |
Yes |
|
|
79 |
TC1 |
26.5.1 [complex.syn] |
Inconsistent declaration of polar() |
Yes |
|
|
80 |
TC1 |
26.5.1 [complex.syn] |
Global Operators of complex declared twice |
Yes |
|
|
146 |
TC1 |
26.5.6 [complex.ops] |
complex<T> Inserter and Extractor need sentries |
Yes |
|
|
125 |
TC1 |
26.7.2 [template.valarray] |
valarray<T>::operator!() return type is inconsistent |
Yes |
|
|
106 |
TC1 |
26.7.5 [template.slice.array] |
Numeric library private members are implementation defined |
Yes |
|
|
55 |
TC1 |
27 [input.output] |
Invalid stream position is undefined |
Yes |
|
|
155 |
TC1 |
27.4 [iostream.objects] |
Typo in naming the class defining the class Init |
Yes |
|
|
29 |
TC1 |
27.4.2 [narrow.stream.objects] |
Ios_base::init doesn't exist |
Yes |
|
|
35 |
TC1 |
27.5 [iostreams.base] |
No manipulator unitbuf in synopsis |
Yes |
|
|
41 |
TC1 |
27.5.3 [ios.base] |
Ios_base needs clear(), exceptions() |
Yes |
|
157 |
50 |
TC1 |
27.5.3 [ios.base] |
Copy constructor and assignment operator of ios_base |
Yes |
|
|
78 |
TC1 |
27.5.3 [ios.base] |
Typo: event_call_back |
Yes |
|
|
48 |
TC1 |
27.5.3.1.1 [ios::failure] |
Use of non-existent exception constructor |
Yes |
|
|
189 |
TC1 |
27.5.3.2 [fmtflags.state] |
setprecision() not specified correctly |
Yes |
|
|
47 |
TC1 |
27.5.3.3 [ios.base.locales] |
Imbue() and getloc() Returns clauses swapped |
Yes |
|
|
156 |
TC1 |
27.5.3.3 [ios.base.locales] |
Typo in imbue() description |
Yes |
|
|
36 |
TC1 |
27.5.3.5 [ios.base.storage] |
Iword & pword storage lifetime omitted |
Yes |
|
|
220 |
TC1 |
27.5.3.7 [ios.base.cons] |
~ios_base() usage valid? |
Yes |
|
|
52 |
TC1 |
27.5.4.2 [fpos.operations] |
Small I/O problems |
Yes |
|
|
53 |
TC1 |
27.5.5.2 [basic.ios.cons] |
Basic_ios destructor unspecified |
Yes |
|
|
56 |
TC1 |
27.6.3 [streambuf] |
Showmanyc's return type |
Yes |
|
|
122 |
TC1 |
27.6.3 [streambuf] |
streambuf/wstreambuf description should not say they are specializations |
Yes |
|
|
54 |
TC1 |
27.6.3.1 [streambuf.cons] |
Basic_streambuf's destructor |
Yes |
|
|
59 |
TC1 |
27.6.3.3.2 [streambuf.get.area] |
Ambiguity in specification of gbump |
Yes |
|
|
158 |
TC1 |
27.6.3.4.2 [streambuf.virt.buffer] |
Underspecified semantics for setbuf() |
Yes |
|
|
159 |
TC1 |
27.6.3.4.3 [streambuf.virt.get] |
Strange use of underflow() |
Yes |
|
|
32 |
TC1 |
27.6.3.4.4 [streambuf.virt.pback] |
Pbackfail description inconsistent |
Yes |
|
|
160 |
TC1 |
27.7.2.1 [istream] |
Typo: Use of non-existing function exception() |
Yes |
|
|
26 |
TC1 |
27.7.2.1.3 [istream::sentry] |
Bad sentry example |
Yes |
|
|
195 |
TC1 |
27.7.2.1.3 [istream::sentry] |
Should basic_istream::sentry's constructor ever set eofbit? |
Yes |
|
|
60 |
TC1 |
27.7.2.2.1 [istream.formatted.reqmts] |
What is a formatted input function? |
Yes |
|
162, 163, 166 |
161 |
TC1 |
27.7.2.2.2 [istream.formatted.arithmetic] |
Typo: istream_iterator vs. istreambuf_iterator |
Yes |
|
|
13 |
TC1 |
27.7.2.2.3 [istream::extractors] |
Eos refuses to die |
Yes |
|
|
64 |
TC1 |
27.7.2.2.3 [istream::extractors] |
Exception handling in basic_istream::operator>>(basic_streambuf*) |
Yes |
|
|
68 |
TC1 |
27.7.2.2.3 [istream::extractors] |
Extractors for char* should store null at end |
Yes |
|
|
61 |
TC1 |
27.7.2.3 [istream.unformatted] |
Ambiguity in iostreams exception policy |
Yes |
|
|
62 |
TC1 |
27.7.2.3 [istream.unformatted] |
Sync's return value |
Yes |
|
|
129 |
TC1 |
27.7.2.3 [istream.unformatted] |
Need error indication from seekp() and seekg() |
Yes |
|
|
172 |
TC1 |
27.7.2.3 [istream.unformatted] |
Inconsistent types for basic_istream::ignore() |
Yes |
|
|
63 |
TC1 |
27.7.3.7 [ostream.unformatted] |
Exception-handling policy for unformatted output |
Yes |
|
|
168 |
TC1 |
27.7.3.7 [ostream.unformatted] |
Typo: formatted vs. unformatted |
Yes |
|
|
169 |
TC1 |
27.8.2.4 [stringbuf.virtuals] |
Bad efficiency of overflow() mandated |
Yes |
|
|
170 |
TC1 |
27.8.5 [stringstream] |
Inconsistent definition of traits_type |
Yes |
|
|
173 |
TC1 |
27.9.2.4 [filebuf.virtuals] |
Inconsistent types for basic_filebuf::setbuf() |
Yes |
|
|
22 |
TC1 |
27.9.3.3 [ifstream.members] |
Member open vs. flags |
Yes |
|
|
127 |
TC1 |
99 [auto.ptr] |
auto_ptr<> conversion issues |
Yes |
|
|
174 |
TC1 |
99 [depr.ios.members] |
Typo: OFF_T vs. POS_T |
Yes |
|
|
175 |
TC1 |
99 [depr.ios.members] |
Ambiguity for basic_streambuf::pubseekpos() and a few other functions. |
Yes |
|
|
176 |
TC1 |
99 [depr.ios.members] |
exceptions() in ios_base...? |
Yes |
|
|
208 |
TC1 |
99 [iterator.concepts] |
Unnecessary restriction on past-the-end iterators |
Yes |
|
|
46 |
TC1 |
D.5 [depr.str.strstreams] |
Minor Annex D errors |
Yes |
|
|
66 |
TC1 |
D.5.1.3 [depr.strstreambuf.virtuals] |
Strstreambuf::setbuf |
Yes |
|
|
115 |
TC1 |
D.5.4.1 [depr.strstream.cons] |
Typo in strstream constructors |
Yes |
|
|
Issue |
Status |
Section |
Title |
Proposed Resolution |
Priority |
Duplicates |
1211 |
Resolved |
24.5.3.1 [move.iterator] |
Move iterators should be restricted as input iterators |
Yes |
|
|
2554 |
Resolved |
20.2.2 [utility.swap] |
Swapping multidimensional arrays is never noexcept |
Yes |
2 |
|
2456 |
Resolved |
20.2 [utility] |
Incorrect exception specifications for 'swap' throughout library |
Yes |
1 |
|
1146 |
Resolved |
29.4 [atomics.lockfree] |
"lockfree" does not say enough |
Yes |
|
|
2075 |
Resolved |
1.10 [intro.multithread] |
Progress guarantees, lock-free property, and scheduling assumptions |
Yes |
|
|
343 |
Resolved |
17 [library] |
Unspecified library header dependencies |
Yes |
|
|
625 |
Resolved |
17 [library] |
Mixed up Effects and Returns clauses |
Yes |
|
895 |
1151 |
Resolved |
17 [library] |
Behavior of the library in the presence of threads is incompletely specified |
Yes |
|
|
1344 |
Resolved |
17 [library] |
Replace throw() with noexcept |
Yes |
|
1351 |
1345 |
Resolved |
17 [library] |
Library classes should have noexcept move operations |
Yes |
|
|
1346 |
Resolved |
17 [library] |
Apply noexcept where library specification does not permit exceptions |
Yes |
|
1352 |
1347 |
Resolved |
17 [library] |
Apply noexcept judiciously throughout the library |
Yes |
|
|
1353 |
Resolved |
17 [library] |
Clarify the state of a moved-from object |
Yes |
|
|
1357 |
Resolved |
17.5.2.1.3 [bitmask.types] |
Library bitmask types to not satisfy the bimask type requirements |
Yes |
|
|
594 |
Resolved |
17.6.3.1 [utility.arg.requirements] |
Disadvantages of defining Swappable in terms of CopyConstructible and Assignable |
Yes |
|
|
742 |
Resolved |
17.6.3.1 [utility.arg.requirements] |
Enabling swap for proxy iterators |
Yes |
|
|
1283 |
Resolved |
17.6.3.1 [utility.arg.requirements] |
MoveConstructible and MoveAssignable need clarification
of moved-from state |
Yes |
|
|
1322 |
Resolved |
17.6.3.1 [utility.arg.requirements] |
Explicit CopyConstructible requirements are insufficient |
Yes |
|
|
431 |
Resolved |
17.6.3.5 [allocator.requirements] |
Swapping containers with unequal allocators |
Yes |
|
|
635 |
Resolved |
17.6.3.5 [allocator.requirements] |
domain of allocator::address |
Yes |
|
|
2108 |
Resolved |
17.6.3.5 [allocator.requirements] |
No way to identify allocator types that always compare equal |
Yes |
3 |
|
1526 |
Resolved |
17.6.5.9 [res.on.data.races] |
C++ should not impose thread safety requirements on C99 library implementations |
Yes |
3 |
|
1366 |
Resolved |
18.6.2.4 [new.delete.dataraces] |
New-handler and data races |
Yes |
|
|
1365 |
Resolved |
18.6.3 [alloc.errors] |
Thread-safety of handler functions |
Yes |
|
|
1135 |
Resolved |
18.8.6 [propagation] |
exception_ptr should support contextual conversion to bool |
Yes |
|
|
1307 |
Resolved |
18.8.6 [propagation] |
exception_ptr and allocator pointers don't understand != |
Yes |
|
|
1364 |
Resolved |
18.8.6 [propagation] |
It is not clear how exception_ptr is synchronized |
Yes |
|
|
697 |
Resolved |
19.5 [syserr] |
New <system_error> header leads to name clashes |
Yes |
|
|
825 |
Resolved |
19.5.3.1 [syserr.errcode.overview] |
Missing rvalues reference stream insert/extract operators? |
Yes |
|
|
1229 |
Resolved |
19.5.3.3 [syserr.errcode.modifiers] |
error_code operator= typo |
Yes |
|
|
1075 |
Resolved |
20 [utilities] |
Scoped allocators are too complex |
Yes |
|
|
1377 |
Resolved |
20.2 [utility] |
The revised forward is not compatible with access-control |
Yes |
|
|
823 |
Resolved |
20.2.4 [forward] |
identity<void> seems broken |
Yes |
|
|
1054 |
Resolved |
20.2.4 [forward] |
forward broken |
Yes |
|
|
353 |
Resolved |
20.4 [pairs] |
std::pair missing template assignment |
Yes |
|
|
482 |
Resolved |
20.4 [pairs] |
Swapping pairs |
Yes |
|
|
1378 |
Resolved |
20.4 [pairs] |
pair and tuple have too many conversions |
Yes |
|
|
1380 |
Resolved |
20.4 [pairs] |
pair and tuple of references need to better specify move-semantics |
Yes |
|
|
1382 |
Resolved |
20.4 [pairs] |
pair and tuple constructors should forward arguments |
Yes |
|
|
1383 |
Resolved |
20.4 [pairs] |
Inconsistent defaulted move/copy members in pair and tuple |
Yes |
|
|
1324 |
Resolved |
20.4.2 [pairs.pair] |
Still too many implicit conversions for pair and tuple |
Yes |
|
|
1326 |
Resolved |
20.4.2 [pairs.pair] |
Missing/wrong preconditions for pair and tuple functions |
Yes |
|
|
1379 |
Resolved |
20.4.2 [pairs.pair] |
pair copy-assignment not consistent for references |
Yes |
|
|
801 |
Resolved |
20.5 [tuple] |
tuple and pair trivial members |
Yes |
|
|
1116 |
Resolved |
20.5.2 [tuple.tuple] |
Literal constructors for tuple |
Yes |
|
|
2051 |
Resolved |
20.5.2 [tuple.tuple] |
Explicit tuple constructors for more than one parameter |
Yes |
2 |
|
1117 |
Resolved |
20.5.2.1 [tuple.cnstr] |
tuple copy constructor |
Yes |
|
|
834 |
Resolved |
20.11.1.2 [unique.ptr.single] |
unique_ptr::pointer requirements underspecified |
Yes |
|
|
983 |
Resolved |
20.11.1.2 [unique.ptr.single] |
unique_ptr reference deleters should not be moved from |
Yes |
|
|
932 |
Resolved |
20.11.1.2.1 [unique.ptr.single.ctor] |
unique_ptr(pointer p) for pointer deleter types |
Yes |
|
|
950 |
Resolved |
20.11.1.2.1 [unique.ptr.single.ctor] |
unique_ptr converting ctor shouldn't accept array form |
Yes |
|
|
1100 |
Resolved |
20.11.1.2.1 [unique.ptr.single.ctor] |
auto_ptr to unique_ptr conversion |
Yes |
|
|
2228 |
Resolved |
20.11.1.2.3 [unique.ptr.single.asgn] |
Missing SFINAE rule in unique_ptr templated assignment |
Yes |
3 |
|
1293 |
Resolved |
20.11.1.3 [unique.ptr.runtime] |
unique_ptr<T[], D> needs to get rid of unspecified-pointer-type |
Yes |
|
|
2118 |
Resolved |
20.11.1.3 [unique.ptr.runtime] |
[CD] unique_ptr for array does not support cv qualification conversion of actual argument |
Yes |
1 |
|
1297 |
Resolved |
20.11.1.5 [unique.ptr.special] |
unique_ptr's relational operator functions should induce a total order |
Yes |
|
|
827 |
Resolved |
20.11.2.2.1 [util.smartptr.shared.const] |
constexpr shared_ptr::shared_ptr()? |
Yes |
|
|
1407 |
Resolved |
20.11.2.2.1 [util.smartptr.shared.const] |
Synch shared_ptr constructors taking movable types |
Yes |
|
|
884 |
Resolved |
20.11.2.2.4 [util.smartptr.shared.mod] |
shared_ptr swap |
Yes |
|
|
1405 |
Resolved |
20.13 [allocator.adaptor] |
Move scoped_allocator_adaptor into separate header |
Yes |
|
|
1321 |
Resolved |
20.13.4 [allocator.adaptor.members] |
scoped_allocator_adaptor construct and destroy don't
use allocator_traits |
Yes |
|
|
658 |
Resolved |
20.14 [function.objects] |
Two unspecified function comparators in [function.objects] |
Yes |
|
|
1290 |
Resolved |
20.14 [function.objects] |
Don't require [u|bi]nary_function inheritance |
Yes |
|
|
1397 |
Resolved |
20.14 [function.objects] |
Deprecate '98 binders |
Yes |
|
|
816 |
Resolved |
20.14.10.3 [func.bind.bind] |
Should bind()'s returned functor have a nofail copy ctor when bind() is nofail? |
Yes |
|
|
1258 |
Resolved |
20.14.12.2.2 [func.wrap.func.mod] |
std::function Effects clause impossible to satisfy |
Yes |
|
|
815 |
Resolved |
20.14.12.2.4 [func.wrap.func.inv] |
std::function and reference_closure do not use perfect forwarding |
Yes |
|
|
719 |
Resolved |
20.15 [meta] |
std::is_literal type traits should be provided |
Yes |
|
750 |
1390 |
Resolved |
20.15 [meta] |
Limit speculative compilation for constructible/convertible traits |
Yes |
|
|
1391 |
Resolved |
20.15 [meta] |
constructible/convertible traits and access control |
Yes |
|
|
525 |
Resolved |
20.15.4 [meta.unary] |
type traits definitions not clear |
Yes |
|
|
1392 |
Resolved |
20.15.4 [meta.unary] |
result_of should support pointer-to-data-member |
Yes |
|
|
1174 |
Resolved |
20.15.4.3 [meta.unary.prop] |
Type property predicates |
Yes |
|
|
1260 |
Resolved |
20.15.4.3 [meta.unary.prop] |
is_constructible<int*,void*> reports true |
Yes |
|
|
1393 |
Resolved |
20.15.4.3 [meta.unary.prop] |
Trivial traits imply noexcept |
Yes |
|
|
1394 |
Resolved |
20.15.4.3 [meta.unary.prop] |
is_constructible reports false positives |
Yes |
|
|
1055 |
Resolved |
20.15.7.6 [meta.trans.other] |
Provide a trait that returns the underlying type of an enumeration type |
Yes |
|
|
1122 |
Resolved |
20.16.3 [ratio.ratio] |
Ratio values should be constexpr |
Yes |
|
|
1281 |
Resolved |
20.16.3 [ratio.ratio] |
CopyConstruction and Assignment between ratios having the same normalized form |
Yes |
|
|
1389 |
Resolved |
20.16.4 [ratio.arithmetic] |
Compile-time rational arithmetic and overflow |
Yes |
|
|
786 |
Resolved |
20.17 [time] |
Thread library timed waits, UTC and monotonic clocks |
Yes |
|
|
953 |
Resolved |
20.17.3 [time.clock.req] |
Various threading bugs #3 |
Yes |
|
|
947 |
Resolved |
20.17.5.5 [time.duration.nonmember] |
duration arithmetic: contradictory requirements |
Yes |
|
|
2054 |
Resolved |
20.17.6 [time.point] |
time_point constructors need to be constexpr |
Yes |
|
|
2057 |
Resolved |
20.17.6.5 [time.point.nonmember] |
time_point + duration semantics should be made constexpr conforming |
Yes |
|
|
767 |
Resolved |
23 [containers] |
Forwarding and backward compatibility |
Yes |
|
|
985 |
Resolved |
23.2.1 [container.requirements.general] |
Allowing throwing move |
Yes |
|
|
1329 |
Resolved |
23.2.2 [container.requirements.dataraces] |
Data races on vector<bool> |
Yes |
|
|
2052 |
Resolved |
23.2.4 [associative.reqmts] |
Mixup between mapped_type and value_type for associative containers |
Yes |
2 |
|
897 |
Resolved |
23.3.9.5 [forwardlist.modifiers] |
Forward_list issues... Part 2 |
Yes |
|
|
2066 |
Resolved |
23.3.11.3 [vector.capacity] |
Missing specification of vector::resize(size_type) |
Yes |
|
|
2012 |
Resolved |
23.4 [associative] |
Associative maps should insert pair, not tuple |
Yes |
|
|
1248 |
Resolved |
23.5 [unord] |
Equality comparison for unordered containers |
Yes |
|
|
756 |
Resolved |
23.6 [container.adaptors] |
Container adaptors push |
Yes |
|
|
1421 |
Resolved |
23.6 [container.adaptors] |
Accidental move-only library types due to new core language rules |
Yes |
|
1350 |
1196 |
Resolved |
23.6.5.1 [priqueue.cons] |
move semantics undefined for priority_queue |
Yes |
|
|
976 |
Resolved |
23.6.6.1 [stack.defn] |
Class template std::stack should be movable |
Yes |
|
|
1185 |
Resolved |
24.2 [iterator.requirements] |
Iterator categories and output iterators |
Yes |
|
|
1210 |
Resolved |
24.2 [iterator.requirements] |
Iterator reachability should not require a container |
Yes |
|
|
1212 |
Resolved |
24.2 [iterator.requirements] |
result of post-increment/decrement operator |
Yes |
|
|
485 |
Resolved |
24.2.4 [output.iterators] |
output iterator insufficiently constrained |
Yes |
|
|
1311 |
Resolved |
24.2.5 [forward.iterators] |
multi-pass property of Forward Iterator underspecified |
Yes |
|
|
940 |
Resolved |
24.4.3 [iterator.operations] |
std::distance |
Yes |
|
|
1129 |
Resolved |
24.6.1.1 [istream.iterator.cons] |
istream(buf)_iterator should support literal sentinel value |
Yes |
|
|
1093 |
Resolved |
25.4.13 [alg.random.shuffle] |
Multiple definitions for random_shuffle algorithm |
Yes |
|
|
800 |
Resolved |
26.6.7.1 [rand.util.seedseq] |
Issues in 26.4.7.1 [rand.util.seedseq](6) |
Yes |
|
|
803 |
Resolved |
26.6.7.1 [rand.util.seedseq] |
Simplification of seed_seq::seq_seq |
Yes |
|
|
793 |
Resolved |
26.6.8.6.1 [rand.dist.samp.discrete] |
discrete_distribution missing constructor |
Yes |
|
|
874 |
Resolved |
26.6.8.6.1 [rand.dist.samp.discrete] |
Missing initializer_list constructor for discrete_distribution |
Yes |
|
|
794 |
Resolved |
26.6.8.6.2 [rand.dist.samp.pconst] |
piecewise_constant_distribution missing constructor |
Yes |
|
|
875 |
Resolved |
26.6.8.6.2 [rand.dist.samp.pconst] |
Missing initializer_list constructor for piecewise_constant_distribution |
Yes |
|
|
1327 |
Resolved |
26.9 [c.math] |
templates defined in <cmath> replacing C macros with the same name |
Yes |
|
|
1445 |
Resolved |
27.7 [iostream.format] |
Several iostreams member functions incorrectly specified |
Yes |
|
|
1447 |
Resolved |
27.7 [iostream.format] |
Request to resolve issue LWG 1328 |
Yes |
|
|
1328 |
Resolved |
27.7.2.1.3 [istream::sentry] |
istream extractors not setting failbit if eofbit is already set |
Yes |
|
|
2249 |
Resolved |
27.11 [c.files] |
[CD] Remove gets from <cstdio> |
Yes |
|
|
1453 |
Resolved |
28.10.4 [re.results.acc] |
Default constructed match_results behavior for certain operations |
Yes |
|
|
2002 |
Resolved |
28.10.8 [re.results.nonmember] |
Class template match_results does not specify the semantics of operator== |
Yes |
|
|
880 |
Resolved |
29 [atomics] |
Missing atomic exchange parameter |
Yes |
|
942 |
923 |
Resolved |
29 [atomics] |
atomics with floating-point |
Yes |
|
|
924 |
Resolved |
29 [atomics] |
structs with internal padding |
Yes |
|
|
1143 |
Resolved |
29 [atomics] |
Atomic operations library not concept enabled |
Yes |
|
|
1145 |
Resolved |
29 [atomics] |
Inappropriate headers for atomics |
Yes |
|
|
1455 |
Resolved |
29 [atomics] |
C language compatibility for atomics |
Yes |
|
1454 |
1523 |
Resolved |
29 [atomics] |
noexcept for Clause 29 |
Yes |
|
|
1457 |
Resolved |
29.2 [atomics.syn] |
Splitting lock-free properties |
Yes |
|
|
2037 |
Resolved |
29.2 [atomics.syn] |
atomic free functions incorrectly specified |
Yes |
|
|
2034 |
Resolved |
29.3 [atomics.order] |
Initialization of atomics is misspecified so that it doesn't preserve sequential consistency |
Yes |
|
|
1460 |
Resolved |
29.4 [atomics.lockfree] |
Missing lock-free property for type bool should be added |
Yes |
|
|
944 |
Resolved |
29.5 [atomics.types.generic] |
atomic<bool> derive from atomic_bool? |
Yes |
|
|
1469 |
Resolved |
29.5 [atomics.types.generic] |
atomic<T*> inheritance from atomic_address breaks type safety |
Yes |
|
|
2024 |
Resolved |
29.5 [atomics.types.generic] |
Inconsistent implementation requirements for atomic<integral> and atomic<T*> |
Yes |
|
|
2165 |
Resolved |
29.5 [atomics.types.generic] |
std::atomic<X> requires X to be nothrow default constructible |
Yes |
4 |
|
1043 |
Resolved |
29.6 [atomics.types.operations] |
Clarify that compare_exchange is not a read-modify-write operation |
Yes |
|
|
1147 |
Resolved |
29.6 [atomics.types.operations] |
Non-volatile atomic functions |
Yes |
|
|
1481 |
Resolved |
30.2 [thread.req] |
Missing Lockable requirements |
Yes |
|
|
1482 |
Resolved |
30.2.4 [thread.req.timing] |
Timeout operations are under-specified |
Yes |
|
|
889 |
Resolved |
30.3.1.1 [thread.thread.id] |
thread::id comparisons |
Yes |
|
|
1268 |
Resolved |
30.4 [thread.mutex] |
The Mutex requirements in 30.4.1 and 30.4.2 are wrong |
Yes |
|
|
1490 |
Resolved |
30.4.1 [thread.mutex.requirements] |
Mutex requirements too stringent |
Yes |
|
|
1491 |
Resolved |
30.4.1 [thread.mutex.requirements] |
try_lock does not guarantee forward progress |
Yes |
|
|
1492 |
Resolved |
30.4.1 [thread.mutex.requirements] |
Mutex requirements should not be bound to threads |
Yes |
|
|
828 |
Resolved |
30.4.1.2.1 [thread.mutex.class] |
Static initialization for std::mutex? |
Yes |
|
|
2023 |
Resolved |
30.4.2.1 [thread.lock.guard] |
Incorrect requirements for lock_guard and unique_lock |
Yes |
|
|
1498 |
Resolved |
30.5 [thread.condition] |
Unclear specification for [thread.condition] |
Yes |
|
|
958 |
Resolved |
30.5.1 [thread.condition.condvar] |
Various threading bugs #8 |
Yes |
|
|
966 |
Resolved |
30.5.1 [thread.condition.condvar] |
Various threading bugs #16 |
Yes |
|
|
2240 |
Resolved |
30.5.1 [thread.condition.condvar] |
Probable misuse of term "function scope" in [thread.condition] |
Yes |
|
|
964 |
Resolved |
30.5.2 [thread.condition.condvarany] |
Various threading bugs #14 |
Yes |
|
|
1046 |
Resolved |
30.6 [futures] |
Provide simple facility to start asynchronous operations |
Yes |
|
|
1244 |
Resolved |
30.6 [futures] |
wait_*() in *future for synchronous functions |
Yes |
|
|
1275 |
Resolved |
30.6 [futures] |
Creating and setting futures |
Yes |
|
|
1501 |
Resolved |
30.6 [futures] |
Specification for managing associated asynchronous state has problems |
Yes |
|
|
1513 |
Resolved |
30.6 [futures] |
'launch' enum too restrictive |
Yes |
|
|
1226 |
Resolved |
30.6.2 [futures.errors] |
Incomplete changes of #890 |
Yes |
|
|
1160 |
Resolved |
30.6.3 [futures.future_error] |
future_error public constructor is 'exposition only' |
Yes |
|
|
1269 |
Resolved |
30.6.4 [futures.state] |
Associated state doesn't account for async |
Yes |
|
|
1502 |
Resolved |
30.6.4 [futures.state] |
Specification of [futures.state] unclear |
Yes |
|
|
1049 |
Resolved |
30.6.5 [futures.promise] |
Move assignment of promise inverted |
Yes |
|
|
1050 |
Resolved |
30.6.5 [futures.promise] |
Clarify postconditions for get_future() |
Yes |
|
|
1088 |
Resolved |
30.6.5 [futures.promise] |
std::promise should provide non-member swap overload |
Yes |
|
|
1165 |
Resolved |
30.6.5 [futures.promise] |
Unneeded promise move constructor |
Yes |
|
|
1272 |
Resolved |
30.6.5 [futures.promise] |
confusing declarations of promise::set_value |
Yes |
|
|
1291 |
Resolved |
30.6.5 [futures.promise] |
Exceptions thrown during promise::set_value |
Yes |
|
|
1300 |
Resolved |
30.6.5 [futures.promise] |
Circular definition of promise::swap |
Yes |
|
|
1504 |
Resolved |
30.6.5 [futures.promise] |
Term "are serialized" is not defined |
Yes |
|
|
1505 |
Resolved |
30.6.5 [futures.promise] |
Synchronization between promise::set_value and future::get |
Yes |
|
|
1507 |
Resolved |
30.6.5 [futures.promise] |
promise::XXX_at_thread_exit functions have no
synchronization requirements |
Yes |
|
|
1047 |
Resolved |
30.6.6 [futures.unique_future] |
Ensure that future's get() blocks when not ready |
Yes |
|
|
1048 |
Resolved |
30.6.6 [futures.unique_future] |
Provide empty-state inspection for std::unique_future |
Yes |
|
|
1161 |
Resolved |
30.6.6 [futures.unique_future] |
Unnecessary unique_future limitations |
Yes |
|
|
1273 |
Resolved |
30.6.6 [futures.unique_future] |
future::valid should be callable on an invalid future |
Yes |
|
|
1106 |
Resolved |
30.6.7 [futures.shared_future] |
Multiple exceptions from connected shared_future::get()? |
Yes |
|
|
1162 |
Resolved |
30.6.7 [futures.shared_future] |
shared_future should support an efficient move constructor |
Yes |
|
|
1163 |
Resolved |
30.6.7 [futures.shared_future] |
shared_future is inconsistent with shared_ptr |
Yes |
|
|
1266 |
Resolved |
30.6.7 [futures.shared_future] |
shared_future::get and deferred async functions |
Yes |
|
|
1304 |
Resolved |
30.6.7 [futures.shared_future] |
Missing preconditions for shared_future |
Yes |
|
|
1090 |
Resolved |
30.6.9 [futures.task] |
Missing description of packaged_task member swap, missing non-member swap |
Yes |
|
|
1508 |
Resolved |
30.6.9 [futures.task] |
Rename packaged_task::operator bool() |
Yes |
|
|
1515 |
Resolved |
30.6.9.1 [futures.task.members] |
packaged_task::make_ready_at_thread_exit has no synchronization requirements |
Yes |
|
|
2025 |
Resolved |
30.6.9.1 [futures.task.members] |
Incorrect semantics of move assignment operator of packaged_task |
Yes |
|
|
732 |
Resolved |
99 [rand.dist.samp.genpdf] |
Defect in [rand.dist.samp.genpdf] |
Yes |
|
795 |
908 |
Resolved |
99 [atomics.types] |
Deleted assignment operators for atomic types must be volatile |
Yes |
|
|
1166 |
Resolved |
99 [allocator.propagation] |
Allocator-specific move/copy break model of move-constructor and
move-assignment |
Yes |
|
|
1172 |
Resolved |
99 [allocator.concepts.members] |
select_on_container_(copy|move)_construction over-constrained |
Yes |
|
|
1225 |
Resolved |
99 [func.ret] |
C++0x result_of issue |
Yes |
|
|
1274 |
Resolved |
99 [futures.atomic_future] |
atomic_future constructor |
Yes |
|
|
1305 |
Resolved |
99 [futures.atomic_future] |
preconditions for atomic_future |
Yes |
|
|
1355 |
Resolved |
99 [defns.move.assign.op] |
The definition of move-assignment operator is redundant |
Yes |
|
|
1356 |
Resolved |
99 [defns.move.ctor] |
The definition of move-constructor is redundant |
Yes |
|
|
1409 |
Resolved |
99 [time.clock.monotonic] |
Specify whether monotonic_clock is a distinct type or a typedef |
Yes |
|
|
1410 |
Resolved |
99 [time.clock.monotonic] |
Add a feature-detect macro for monotonic_clock |
Yes |
|
1411 |
1412 |
Resolved |
99 [time.clock.monotonic] |
Make monotonic clocks mandatory |
Yes |
|
|
1462 |
Resolved |
99 [atomics.types.integral] |
Ambiguous value assignment to atomic_bool |
Yes |
|
1463 |
1464 |
Resolved |
99 [atomics.types.integral] |
Underspecified typedefs for atomic integral types |
Yes |
|
|
1465 |
Resolved |
99 [atomics.types.address] |
Missing arithmetic operators for atomic_address |
Yes |
|
|
1466 |
Resolved |
99 [atomics.types.address] |
Silent const breakage by compare_exchange_* member functions |
Yes |
|
|
1467 |
Resolved |
99 [atomics.types.address] |
Deriving atomic<T*> from atomic_address breaks type safety |
Yes |
|
|
1468 |
Resolved |
99 [atomics.types.address] |
atomic_address::compare_exchange_* member functions should match atomic_compare_exchange_* free functions |
Yes |
|
|
2282 |
Resolved |
99 [fund.ts::optional.object.assign] |
[fund.ts] Incorrect is_assignable constraint in optional::op=(U&&) |
Yes |
|
|
2283 |
Resolved |
99 [fund.ts::optional.comp_with_t] |
[fund.ts] optional declares and then does not define an operator<() |
Yes |
|
|
2287 |
Resolved |
99 [fund.ts::optional.object.assign] |
[fund.ts] Incorrect exception safety for optional copy assignment operator |
Yes |
|
|
2333 |
Resolved |
99 [fund.ts::optional.hash] |
[fund.ts] Hashing disengaged optional<T> objects |
Yes |
|
|
2416 |
Resolved |
99 [fund.ts::any.class] |
[fund.ts] std::experimental::any allocator support is unimplementable |
Yes |
|
|
2274 |
Resolved |
23.4.4.3 [map.access] |
Does map::operator[] value-initialize or default-insert a missing element? |
Yes |
3 |
|
2397 |
Resolved |
20.15.7.6 [meta.trans.other] |
map<K, V>::emplace and explicit V constructors |
Yes |
1 |
|
Issue |
Status |
Section |
Title |
Proposed Resolution |
Priority |
Duplicates |
2666 |
NAD Editorial |
99 [fs.scope] |
Bitmask operations should use bitmask terms |
Yes |
3 |
|
571 |
NAD Editorial |
1.2 [intro.refs] |
Update C90 references to C99? |
Yes |
|
|
873 |
NAD Editorial |
3.9.1 [basic.fundamental] |
signed integral type and unsigned integral type are not clearly defined |
Yes |
|
|
972 |
NAD Editorial |
17 [library] |
The term "Assignable" undefined but still in use |
Yes |
|
|
1232 |
NAD Editorial |
17 [library] |
Still swap's with rvalue-references |
Yes |
|
|
424 |
NAD Editorial |
17.5.1.2 [structure.summary] |
normative notes |
Yes |
|
|
626 |
NAD Editorial |
17.5.1.4 [structure.specifications] |
new Remark clauses not documented |
Yes |
|
|
1179 |
NAD Editorial |
17.5.1.4 [structure.specifications] |
Probably editorial in [structure.specifications] |
Yes |
|
|
1060 |
NAD Editorial |
17.5.2.1.4.1 [byte.strings] |
Embedded nulls in NTBS |
Yes |
|
|
2281 |
NAD Editorial |
17.6.2.3 [using.linkage] |
C99 cross-reference typo in [using.linkage] |
Yes |
|
|
390 |
NAD Editorial |
17.6.3.1 [utility.arg.requirements] |
CopyConstructible requirements too strict |
Yes |
|
|
529 |
NAD Editorial |
17.6.4.11 [res.on.required] |
The standard encourages redundant and confusing preconditions |
Yes |
|
|
591 |
NAD Editorial |
18.3.2.4 [numeric.limits.members] |
Misleading "built-in |
Yes |
|
|
557 |
NAD Editorial |
18.4 [cstdint] |
TR1: div(_Longlong, _Longlong) vs div(intmax_t, intmax_t) |
Yes |
|
|
553 |
NAD Editorial |
18.4.1 [cstdint.syn] |
very minor editorial change intptr_t / uintptr_t |
Yes |
|
|
841 |
NAD Editorial |
18.4.1 [cstdint.syn] |
cstdint.syn inconsistent with C99 |
Yes |
|
|
1061 |
NAD Editorial |
20.4.4 [pair.astuple] |
Bad indexing for tuple access to pair (Editorial?) |
Yes |
|
|
1077 |
NAD Editorial |
20.5.2 [tuple.tuple] |
Nonesense tuple declarations |
Yes |
|
|
1168 |
NAD Editorial |
20.9.2 [bitset.members] |
Odd wording for bitset equality operators |
Yes |
|
|
1233 |
NAD Editorial |
20.10 [memory] |
Missing unique_ptr signatures in synopsis |
Yes |
|
|
1022 |
NAD Editorial |
20.10.4 [util.dynamic.safety] |
Pointer-safety API has nothing to do with smart pointers |
Yes |
|
|
754 |
NAD Editorial |
20.10.10.4 [uninitialized.copy] |
Ambiguous return clause for std::uninitialized_copy |
Yes |
|
|
2060 |
NAD Editorial |
20.11.1.3 [unique.ptr.runtime] |
unique_ptr<T[]>(nullptr_t) missing noexcept |
Yes |
|
|
351 |
NAD Editorial |
20.14 [function.objects] |
unary_negate and binary_negate: struct or class? |
Yes |
|
|
1023 |
NAD Editorial |
20.14.12.2 [func.wrap.func] |
Unclear inheritance relation for std::function |
Yes |
|
|
633 |
NAD Editorial |
20.14.12.2.5 [func.wrap.func.targ] |
Return clause mentions undefined "type()" |
Yes |
|
|
590 |
NAD Editorial |
20.15 [meta] |
Type traits implementation latitude should be removed for C++0x |
Yes |
|
|
1239 |
NAD Editorial |
20.15.4.3 [meta.unary.prop] |
Defect report |
Yes |
|
|
1395 |
NAD Editorial |
20.15.6 [meta.rel] |
Inconsistent reference links should be unified |
Yes |
|
|
952 |
NAD Editorial |
20.17.5.7 [time.duration.cast] |
Various threading bugs #2 |
Yes |
|
|
945 |
NAD Editorial |
20.17.7.1 [time.clock.system] |
system_clock::rep not specified |
Yes |
|
|
830 |
NAD Editorial |
21.2 [char.traits] |
Incomplete list of char_traits specializations |
Yes |
|
|
831 |
NAD Editorial |
21.2.3 [char.traits.specializations] |
wrong type for not_eof() |
Yes |
|
|
718 |
NAD Editorial |
21.3.1 [basic.string] |
basic_string is not a sequence |
Yes |
|
|
368 |
NAD Editorial |
21.3.1.6.6 [string::replace] |
basic_string::replace has two "Throws" paragraphs |
Yes |
|
|
615 |
NAD Editorial |
21.5 [c.strings] |
Inconsistencies in Section 21.4 |
Yes |
|
|
393 |
NAD Editorial |
22.4.1.4.2 [locale.codecvt.virtuals] |
do_in/do_out operation on state unclear |
Yes |
|
|
580 |
NAD Editorial |
23.2.1 [container.requirements.general] |
unused allocator members |
Yes |
|
479 |
1415 |
NAD Editorial |
23.2.1 [container.requirements.general] |
Iterator stability bans the short-string optimization |
Yes |
|
|
725 |
NAD Editorial |
23.2.3 [sequence.reqmts] |
Optional sequence container requirements column label |
Yes |
|
|
1058 |
NAD Editorial |
23.2.3 [sequence.reqmts] |
New container issue |
Yes |
|
|
1301 |
NAD Editorial |
23.2.3 [sequence.reqmts] |
clear() and assignment |
Yes |
|
|
1419 |
NAD Editorial |
23.3.9 [forwardlist] |
forward_list::erase_after should return an iterator |
Yes |
|
|
892 |
NAD Editorial |
23.3.9.6 [forwardlist.ops] |
Forward_list issues... |
Yes |
|
|
101 |
NAD Editorial |
23.3.11 [vector] |
No way to free storage for vector and deque |
Yes |
|
|
757 |
NAD Editorial |
23.3.11 [vector] |
Typo in the synopsis of vector |
Yes |
|
|
140 |
NAD Editorial |
23.4.4 [map] |
map<Key, T>::value_type does not satisfy the assignable requirement |
Yes |
|
|
408 |
NAD Editorial |
24.2 [iterator.requirements] |
Is vector<reverse_iterator<char*> > forbidden? |
Yes |
|
|
446 |
NAD Editorial |
24.2 [iterator.requirements] |
Iterator equality between different containers |
Yes |
|
|
558 |
NAD Editorial |
24.2.3 [input.iterators] |
lib.input.iterators Defect |
Yes |
|
|
299 |
NAD Editorial |
24.2.6 [bidirectional.iterators] |
Incorrect return types for iterator dereference |
Yes |
|
|
979 |
NAD Editorial |
24.5.3 [move.iterators] |
Bad example |
Yes |
|
|
969 |
NAD Editorial |
25.3.4 [alg.foreach] |
What happened to Library Issue 475? |
Yes |
|
|
1101 |
NAD Editorial |
25.4.9 [alg.unique] |
unique requirements |
Yes |
|
|
812 |
NAD Editorial |
25.5.1 [alg.sort] |
unsolicited multithreading considered harmful? |
Yes |
|
|
499 |
NAD Editorial |
25.5.1.2 [stable.sort] |
Std. doesn't seem to require stable_sort() to be stable! |
Yes |
|
|
862 |
NAD Editorial |
25.5.5.1 [includes] |
Impossible complexity for 'includes' |
Yes |
|
|
915 |
NAD Editorial |
25.5.7 [alg.min.max] |
minmax with initializer_list should return
pair of T, not pair of const T& |
Yes |
|
|
1013 |
NAD Editorial |
25.5.7 [alg.min.max] |
Remove IsSameType hold-over constraints |
Yes |
|
|
1434 |
NAD Editorial |
25.5.7 [alg.min.max] |
For min/max functions replace variadic arguments by initializer_list argument |
Yes |
|
|
504 |
NAD Editorial |
26.6.1 [rand.req] |
Integer types in pseudo-random number engine requirements |
Yes |
|
|
656 |
NAD Editorial |
26.6.2 [rand.synopsis] |
Typo in subtract_with_carry_engine declaration |
Yes |
|
|
512 |
NAD Editorial |
26.6.3 [rand.eng] |
Seeding subtract_with_carry_01 from a single unsigned long |
Yes |
|
|
513 |
NAD Editorial |
26.6.3 [rand.eng] |
Size of state for subtract_with_carry_01 |
Yes |
|
|
516 |
NAD Editorial |
26.6.3 [rand.eng] |
Seeding subtract_with_carry_01 using a generator |
Yes |
|
|
514 |
NAD Editorial |
26.6.3.3 [rand.eng.sub] |
Size of state for subtract_with_carry |
Yes |
|
|
738 |
NAD Editorial |
26.6.4.2 [rand.adapt.disc] |
Editorial issue in [rand.adapt.disc]/3 |
Yes |
|
|
549 |
NAD Editorial |
26.6.8 [rand.dist] |
Undefined variable in binomial_distribution |
Yes |
|
|
867 |
NAD Editorial |
26.7.2.2 [valarray.cons] |
Valarray and value-initialization |
Yes |
|
|
636 |
NAD Editorial |
26.7.2.4 [valarray.access] |
26.5.2.3 valarray::operator[] |
Yes |
|
|
717 |
NAD Editorial |
26.7.2.4 [valarray.access] |
Incomplete valarray::operator[] specification in [valarray.access] |
Yes |
|
|
357 |
NAD Editorial |
26.9 [c.math] |
<cmath> float functions cannot return HUGE_VAL |
Yes |
|
|
637 |
NAD Editorial |
26.9 [c.math] |
§[c.math]/10 inconsistent return values |
Yes |
|
|
690 |
NAD Editorial |
26.9 [c.math] |
abs(long long) should return long long |
Yes |
|
|
837 |
NAD Editorial |
27.5.5.3 [basic.ios.members] |
basic_ios::copyfmt() overly loosely specified
|
Yes |
|
|
397 |
NAD Editorial |
27.7.3.4 [ostream::sentry] |
ostream::sentry dtor throws exceptions |
Yes |
|
|
641 |
NAD Editorial |
27.7.5 [ext.manip] |
Editorial fix for 27.6.4 (N2134) |
Yes |
|
|
592 |
NAD Editorial |
27.9.3.3 [ifstream.members] |
Incorrect treatment of rdbuf()->close() return type |
Yes |
|
|
642 |
NAD Editorial |
27.9.3.3 [ifstream.members] |
Invalidated fstream footnotes in N2134 |
Yes |
|
|
645 |
NAD Editorial |
28.10 [re.results] |
Missing members in match_results |
Yes |
|
|
684 |
NAD Editorial |
28.10 [re.results] |
Unclear which members of match_results should be used in comparison |
Yes |
|
|
647 |
NAD Editorial |
28.11.3 [re.alg.search] |
Inconsistent regex_search params |
Yes |
|
|
648 |
NAD Editorial |
28.12.1.1 [re.regiter.cnstr] |
regex_iterator c'tor needs clarification/editorial fix |
Yes |
|
|
683 |
NAD Editorial |
28.12.2 [re.tokiter] |
regex_token_iterator summary error |
Yes |
|
|
649 |
NAD Editorial |
28.12.2.1 [re.tokiter.cnstr] |
Several typos in regex_token_iterator constructors |
Yes |
|
|
879 |
NAD Editorial |
29 [atomics] |
Atomic load const qualification |
Yes |
|
|
937 |
NAD Editorial |
29 [atomics] |
Atomics for standard typedef types |
Yes |
|
|
926 |
NAD Editorial |
29.3 [atomics.order] |
Sequentially consistent fences, relaxed operations and modification order |
Yes |
|
|
864 |
NAD Editorial |
29.6 [atomics.types.operations] |
Defect in atomic wording |
Yes |
|
|
1471 |
NAD Editorial |
29.6 [atomics.types.operations] |
Default constructor of atomics needs specification |
Yes |
|
|
1472 |
NAD Editorial |
29.6 [atomics.types.operations] |
Incorrect semantics of atomic_init |
Yes |
|
|
1442 |
NAD Editorial |
30 [thread] |
"happens-before" should be "synchronizes-with" |
Yes |
|
1443 |
1483 |
NAD Editorial |
30.3 [thread.threads] |
__STDCPP_THREADS spelling |
Yes |
|
|
1489 |
NAD Editorial |
30.4 [thread.mutex] |
unlock functions and unlock mutex requirements are inconsistent |
Yes |
|
|
1495 |
NAD Editorial |
30.5 [thread.condition] |
Condition variable wait_for return value insufficient |
Yes |
|
|
1496 |
NAD Editorial |
30.5.1 [thread.condition.condvar] |
condition_variable not implementable |
Yes |
|
|
1500 |
NAD Editorial |
30.5.2 [thread.condition.condvarany] |
Consider removal of native_handle() |
Yes |
|
|
1503 |
NAD Editorial |
30.6.4 [futures.state] |
"associated asynchronous state" must go |
Yes |
|
|
1506 |
NAD Editorial |
30.6.5 [futures.promise] |
set_exception with a null pointer |
Yes |
|
|
1107 |
NAD Editorial |
30.6.7 [futures.shared_future] |
constructor shared_future(unique_future) by value? |
Yes |
|
|
1315 |
NAD Editorial |
30.6.8 [futures.async] |
return type of async |
Yes |
|
|
1512 |
NAD Editorial |
30.6.8 [futures.async] |
Conflict in specification: block or join? |
Yes |
|
|
973 |
NAD Editorial |
99 [auto.ptr] |
auto_ptr characteristics |
Yes |
|
|
1509 |
NAD Editorial |
99 [futures.atomic_future] |
No restriction on calling future::get more than once |
Yes |
|
|
1510 |
NAD Editorial |
99 [futures.atomic_future] |
Should be undefined behaviour to call atomic_future operations unless valid() |
Yes |
|
|
1511 |
NAD Editorial |
99 [futures.atomic_future] |
Synchronize the move-constructor for atomic_future |
Yes |
|
|
544 |
NAD Editorial |
C.5 [diff.library] |
minor NULL problems in C.2 |
Yes |
|
|
1115 |
NAD Editorial |
C.5 [diff.library] |
va_copy missing from Standard macros table |
Yes |
|
|
1155 |
NAD Editorial |
C.5 [diff.library] |
Reference should be to C99 |
Yes |
|
|
587 |
NAD Editorial |
D.5.2.1 [depr.istrstream.cons] |
iststream ctor missing description |
Yes |
|
|
2639 |
NAD Editorial |
99 [filesys.ts::fs.filesystem.synopsis] |
[filesys.ts] [PDTS] permissions() is missing from synopsis |
Yes |
|
|
2659 |
NAD Editorial |
99 [filesys.ts::fs.enum] |
[filesys.ts] [PDTS] Invalid expressions for bitmask types |
Yes |
|
|
555 |
NAD Editorial |
99 [tr1::tr.c99.boolh] |
[tr1] 8.21/1: typo |
Yes |
|
|
Issue |
Status |
Section |
Title |
Proposed Resolution |
Priority |
Duplicates |
2700 |
NAD |
20.12 [memory.resource] |
resource_adaptor went missing |
Yes |
1 |
|
2402 |
NAD |
21.3.1.2 [string.cons] |
basic_string(const basic_string& str, size_type pos, size_type n = npos) shouldn't use Allocator() |
Yes |
3 |
|
2553 |
NAD |
99 [fund.ts.v2::string.view.cons] |
[fund.ts.v2] basic_string_view substring constructor |
Yes |
|
|
2372 |
NAD |
21.3.1 [basic.string] |
Assignment from int to std::string |
Yes |
4 |
|
653 |
NAD |
1.2 [intro.refs] |
Library reserved names |
Yes |
|
|
462 |
NAD |
3.6.4 [basic.start.term] |
Destroying objects with static storage duration |
Yes |
|
|
385 |
NAD |
17 [library] |
Does call by value imply the CopyConstructible requirement? |
Yes |
|
|
941 |
NAD |
17 [library] |
Ref-qualifiers for assignment operators |
Yes |
|
|
996 |
NAD |
17 [library] |
Move operation not well specified |
Yes |
|
|
1099 |
NAD |
17 [library] |
Various issues |
Yes |
|
|
1153 |
NAD |
17 [library] |
Standard library needs review for constructors to be
explicit to avoid treatment as initializer-list constructor |
Yes |
|
|
1236 |
NAD |
17 [library] |
reserved identifiers in programs not using the library |
Yes |
|
|
1331 |
NAD |
17 [library] |
incorporate move special member functions into library |
Yes |
|
|
1348 |
NAD |
17 [library] |
Exception safety of unspecified types |
Yes |
|
|
1064 |
NAD |
17.3.17 [defns.obj.state] |
Term "object state" should not refer to classes |
Yes |
|
|
995 |
NAD |
17.5.1.3 [structure.requirements] |
Operational Semantics Unclear |
Yes |
|
|
492 |
NAD |
17.5.1.4 [structure.specifications] |
Invalid iterator arithmetic expressions |
Yes |
|
|
663 |
NAD |
17.5.1.4 [structure.specifications] |
Complexity Requirements |
Yes |
|
|
1156 |
NAD |
17.5.2.1.2 [enumerated.types] |
Constraints on bitmask and enumeration types to be tightened |
Yes |
|
|
992 |
NAD |
17.6.1.1 [contents] |
Allow implementations to implement C library in the global namespace |
Yes |
|
|
1002 |
NAD |
17.6.1.2 [headers] |
Provide bulk include headers |
Yes |
|
|
833 |
NAD |
17.6.1.3 [compliance] |
Freestanding implementations header list needs review for C++0x |
Yes |
|
|
1003 |
NAD |
17.6.1.3 [compliance] |
Require more useful headers for freestanding implementations |
Yes |
|
|
1358 |
NAD |
17.6.1.3 [compliance] |
Add <chrono> and <ratio> to
freestanding implementations |
Yes |
|
|
1359 |
NAD |
17.6.1.3 [compliance] |
Add <tuple> and <utility> to freestanding implementations |
Yes |
|
|
1361 |
NAD |
17.6.2 [using] |
Does use of std::size_t in a header imply that typedef name is available to users? |
Yes |
|
|
657 |
NAD |
17.6.2.2 [using.headers] |
unclear requirement about header inclusion |
Yes |
|
|
822 |
NAD |
17.6.3.1 [utility.arg.requirements] |
Object with explicit copy constructor no longer CopyConstructible |
Yes |
|
|
1374 |
NAD |
17.6.3.1 [utility.arg.requirements] |
Clarify moved-from objects are "toxic" |
Yes |
|
|
2171 |
NAD |
17.6.3.2 [swappable.requirements] |
"swappable" undefined for swapping lvalue and rvalue |
Yes |
|
|
12 |
NAD |
17.6.3.5 [allocator.requirements] |
Way objects hold allocators unclear |
Yes |
|
|
197 |
NAD |
17.6.3.5 [allocator.requirements] |
max_size() underspecified |
Yes |
|
|
277 |
NAD |
17.6.3.5 [allocator.requirements] |
Normative encouragement in allocator requirements unclear |
Yes |
|
|
487 |
NAD |
17.6.3.5 [allocator.requirements] |
Allocator::construct is too limiting |
Yes |
|
|
560 |
NAD |
17.6.3.5 [allocator.requirements] |
User-defined allocators without default constructor |
Yes |
|
|
1376 |
NAD |
17.6.3.5 [allocator.requirements] |
Allocator interface is not backward compatible |
Yes |
|
|
2311 |
NAD |
17.6.3.5 [allocator.requirements] |
Allocator requirements should be further minimized |
Yes |
2 |
|
94 |
NAD |
17.6.5 [conforming] |
May library implementors add template parameters to Standard Library classes? |
Yes |
|
|
2113 |
NAD |
17.6.5 [conforming] |
Do library implementers have the freedom to add final to non-polymorphic components? |
Yes |
|
|
95 |
NAD |
17.6.5.5 [member.functions] |
Members added by the implementation |
Yes |
|
|
372 |
NAD |
17.6.5.12 [res.on.exception.handling] |
Inconsistent description of stdlib exceptions |
Yes |
|
|
1314 |
NAD |
18.2 [support.types] |
NULL and nullptr |
Yes |
|
|
2251 |
NAD |
18.2 [support.types] |
C++ library should define ssize_t |
Yes |
3 |
|
205 |
NAD |
18.3.2.4 [numeric.limits.members] |
numeric_limits unclear on how to determine floating point types |
Yes |
|
|
554 |
NAD |
18.3.2.7 [numeric.special] |
Problem with lwg DR 184 numeric_limits<bool> |
Yes |
|
|
627 |
NAD |
18.6.2.1 [new.delete.single] |
Low memory and exceptions |
Yes |
|
|
269 |
NAD |
18.8 [support.exception] |
cstdarg and unnamed parameters |
Yes |
|
|
313 |
NAD |
18.8.4.4 [terminate] |
set_terminate and set_unexpected question |
Yes |
|
|
314 |
NAD |
18.8.4.4 [terminate] |
Is the stack unwound when terminate() is called? |
Yes |
|
|
707 |
NAD |
18.8.6 [propagation] |
null pointer constant for exception_ptr |
Yes |
|
|
745 |
NAD |
18.8.6 [propagation] |
copy_exception API slices. |
Yes |
|
|
1369 |
NAD |
18.8.6 [propagation] |
rethrow_exception may introduce data races |
Yes |
|
|
1008 |
NAD |
18.8.7 [except.nested] |
nested_exception wording unclear |
Yes |
|
|
1132 |
NAD |
18.8.7 [except.nested] |
JP-30: nested exceptions |
Yes |
|
|
1265 |
NAD |
18.10 [support.runtime] |
longjmp and destructors |
Yes |
|
|
1371 |
NAD |
19 [diagnostics] |
Standard exceptions require stronger no-throw guarantees |
Yes |
|
|
2073 |
NAD |
19.2 [std.exceptions] |
Library exceptions that take string arguments |
Yes |
|
|
832 |
NAD |
19.5 [syserr] |
Applying constexpr to System error support |
Yes |
|
|
971 |
NAD |
19.5.3.5 [syserr.errcode.nonmembers] |
Spurious diagnostic conversion function |
Yes |
|
|
1373 |
NAD |
20.2 [utility] |
Customizable traits should have their own headers |
Yes |
|
|
2297 |
NAD |
20.2.3 [utility.exchange] |
[CD] Missing type requirements for std::exchange |
Yes |
|
|
2345 |
NAD |
20.3.2 [intseq.intseq] |
integer_sequence should have a self-typedef ::type |
Yes |
2 |
|
840 |
NAD |
20.4 [pairs] |
pair default template argument |
Yes |
|
|
916 |
NAD |
20.4 [pairs] |
Redundant move-assignment operator of pair should be removed |
Yes |
|
|
2068 |
NAD |
20.4.2 [pairs.pair] |
std::pair not C++03-compatible with defaulted copy c'tor |
Yes |
|
|
917 |
NAD |
20.5.2.1 [tuple.cnstr] |
Redundant move-assignment operator of tuple should be removed |
Yes |
|
|
1119 |
NAD |
20.5.2.6 [tuple.helper] |
tuple query APIs do not support references |
Yes |
|
|
1318 |
NAD |
20.10.8.1 [allocator.traits.types] |
N2982 removes previous allocator capabilities |
Yes |
|
1375 |
582 |
NAD |
20.10.10.4 [uninitialized.copy] |
specialized algorithms and volatile storage |
Yes |
|
|
686 |
NAD |
20.11.1.2.4 [unique.ptr.single.observers] |
unique_ptr and shared_ptr fail to specify non-convertibility to int for unspecified-bool-type |
Yes |
|
|
741 |
NAD |
20.11.2.2.10 [util.smartptr.getdeleter] |
Const-incorrect get_deleter function for shared_ptr |
Yes |
|
|
1398 |
NAD |
20.14 [function.objects] |
Users should be able to specialize functors without depending on whole <functional> header |
Yes |
|
|
644 |
NAD |
20.14.12.2 [func.wrap.func] |
Possible typos in 'function' description |
Yes |
|
|
1202 |
NAD |
20.15.3 [meta.help] |
integral_constant needs a spring clean |
Yes |
|
|
747 |
NAD |
20.15.4.3 [meta.unary.prop] |
We have 3 separate type traits to identify classes supporting no-throw operations |
Yes |
|
|
748 |
NAD |
20.15.4.3 [meta.unary.prop] |
The is_abstract type trait is defined by reference to 10.4. |
Yes |
|
|
1228 |
NAD |
20.15.4.3 [meta.unary.prop] |
User-specialized nothrow type traits |
Yes |
|
|
849 |
NAD |
20.15.7.6 [meta.trans.other] |
missing type traits to compute root class and derived class of types in a class hierachy |
Yes |
|
|
1020 |
NAD |
20.15.7.6 [meta.trans.other] |
Restore aligned_union |
Yes |
|
|
955 |
NAD |
20.17.3 [time.clock.req] |
Various threading bugs #5 |
Yes |
|
|
946 |
NAD |
20.17.5.7 [time.duration.cast] |
duration_cast improperly specified |
Yes |
|
|
1413 |
NAD |
20.17.7.3 [time.clock.hires] |
Specify whether high_resolution_clock is a distinct type or a typedef |
Yes |
|
|
85 |
NAD |
21 [strings] |
String char types |
Yes |
|
|
570 |
NAD |
21.2 [char.traits] |
Request adding additional explicit specializations of char_traits |
Yes |
|
|
1200 |
NAD |
21.2.2 [char.traits.typedefs] |
"surprising" char_traits<T>::int_type requirements |
Yes |
|
|
4 |
NAD |
21.3.1 [basic.string] |
Basic_string size_type and difference_type should be implementation defined |
Yes |
|
|
614 |
NAD |
21.3.1 [basic.string] |
std::string allocator requirements still inconsistent |
Yes |
|
|
2084 |
NAD |
21.3.1 [basic.string] |
basic_string use of charT* |
Yes |
|
|
466 |
NAD |
21.3.1.1 [string.require] |
basic_string ctor should prevent null pointer error |
Yes |
|
|
2319 |
NAD |
21.3.1.2 [string.cons] |
basic_string's move constructor should not be noexcept |
Yes |
1 |
|
104 |
NAD |
21.3.1.4 [string.capacity] |
Description of basic_string::operator[] is unclear |
Yes |
|
|
84 |
NAD |
21.3.1.5 [string.access] |
Ambiguity with string::insert() |
Yes |
|
|
88 |
NAD |
21.3.1.6.4 [string::insert] |
Inconsistency between string::insert() and string::append() |
Yes |
|
|
377 |
NAD |
21.3.1.6.4 [string::insert] |
basic_string::insert and length_error |
Yes |
|
|
2270 |
NAD |
21.3.3 [string.conversions] |
Inconsistent to_string overloads |
Yes |
|
|
2355 |
NAD |
21.3.5 [basic.string.literals] |
"s" UDL suffix should be reserved for a compile-time string library type |
Yes |
1 |
|
330 |
NAD |
22.3.1 [locale] |
Misleading "exposition only" value in class locale definition |
Yes |
|
|
121 |
NAD |
22.3.1.1.1 [locale.category] |
Detailed definition for ctype<wchar_t> specialization |
Yes |
|
|
502 |
NAD |
22.3.1.1.1 [locale.category] |
Proposition: Clarification of the interaction between a facet and an iterator |
Yes |
|
|
452 |
NAD |
22.3.1.3 [locale.members] |
locale::combine should be permitted to generate a named locale |
Yes |
|
|
721 |
NAD |
22.3.3.2.2 [conversions.string] |
wstring_convert inconsistensies |
Yes |
|
|
439 |
NAD |
22.4 [locale.categories] |
Should facets be copyable? |
Yes |
|
|
503 |
NAD |
22.4 [locale.categories] |
more on locales |
Yes |
|
|
585 |
NAD |
22.4 [locale.categories] |
facet error reporting |
Yes |
|
|
356 |
NAD |
22.4.1 [category.ctype] |
Meaning of ctype_base::mask enumerators |
Yes |
|
|
417 |
NAD |
22.4.1.1.2 [locale.ctype.virtuals] |
what does ctype::do_widen() return on failure |
Yes |
|
|
138 |
NAD |
22.4.1.4 [locale.codecvt] |
Class ctype_byname<char> redundant and misleading |
Yes |
|
|
382 |
NAD |
22.4.1.4 [locale.codecvt] |
codecvt do_in/out result |
Yes |
|
|
302 |
NAD |
22.4.1.5 [locale.codecvt.byname] |
Need error indication from codecvt<>::do_length |
Yes |
|
|
500 |
NAD |
22.4.1.5 [locale.codecvt.byname] |
do_length cannot be implemented correctly |
Yes |
|
|
344 |
NAD |
22.4.2 [category.numeric] |
grouping + showbase |
Yes |
|
|
459 |
NAD |
22.4.2.1.2 [facet.num.get.virtuals] |
Requirement for widening in stage 2 is overspecification |
Yes |
|
|
662 |
NAD |
22.4.2.1.2 [facet.num.get.virtuals] |
Inconsistent handling of incorrectly-placed thousands separators |
Yes |
|
|
826 |
NAD |
22.4.2.2 [locale.nm.put] |
Equivalent of %'d, or rather, lack thereof? |
Yes |
|
|
361 |
NAD |
22.4.2.2.2 [facet.num.put.virtuals] |
num_get<>::do_get (..., void*&) checks grouping |
Yes |
|
|
667 |
NAD |
22.4.6.1.2 [locale.money.get.virtuals] |
money_get's widened minus sign |
Yes |
|
|
668 |
NAD |
22.4.6.1.2 [locale.money.get.virtuals] |
money_get's empty minus sign |
Yes |
|
|
669 |
NAD |
22.4.6.1.2 [locale.money.get.virtuals] |
Equivalent postive and negative signs in money_get |
Yes |
|
|
374 |
NAD |
22.4.6.3.1 [locale.moneypunct.members] |
moneypunct::frac_digits returns int not unsigned |
Yes |
|
|
326 |
NAD |
22.4.6.4 [locale.moneypunct.byname] |
Missing typedef in moneypunct_byname |
Yes |
|
|
97 |
NAD |
23 [containers] |
Insert inconsistent definition |
Yes |
|
|
470 |
NAD |
23 [containers] |
accessing containers from their elements' special functions |
Yes |
|
|
279 |
NAD |
23.2 [container.requirements] |
const and non-const iterators should have equivalent typedefs |
Yes |
|
|
632 |
NAD |
23.2 [container.requirements] |
Time complexity of size() for std::set |
Yes |
|
|
1330 |
NAD |
23.2 [container.requirements] |
Move container requirements into requirements tables |
Yes |
|
|
1035 |
NAD |
23.2.1 [container.requirements.general] |
<array>::swap can invalidate references, pointers, and iterators |
Yes |
|
|
2167 |
NAD |
23.2.1 [container.requirements.general] |
Copy assignment requirements of Containers |
Yes |
|
|
526 |
NAD |
23.2.3 [sequence.reqmts] |
Is it undefined if a function in the standard changes in parameters? |
Yes |
|
|
1259 |
NAD |
23.2.3 [sequence.reqmts] |
Should initializer-list constructors move elements? |
Yes |
|
|
82 |
NAD |
23.2.4 [associative.reqmts] |
Missing constant for set elements |
Yes |
|
|
192 |
NAD |
23.2.4 [associative.reqmts] |
a.insert(p,t) is inefficient and overconstrained |
Yes |
|
233 |
215 |
NAD |
23.2.4 [associative.reqmts] |
Can a map's key_type be const? |
Yes |
|
|
494 |
NAD |
23.2.4 [associative.reqmts] |
Wrong runtime complexity for associative container's insert and delete |
Yes |
|
|
763 |
NAD |
23.2.4 [associative.reqmts] |
Renaming emplace() overloads |
Yes |
|
|
1302 |
NAD |
23.2.4 [associative.reqmts] |
different emplace semantics for sequence and associated containers |
Yes |
|
|
579 |
NAD |
23.2.5 [unord.req] |
erase(iterator) for unordered containers should not return an iterator |
Yes |
|
|
764 |
NAD |
23.2.5 [unord.req] |
equal_range on unordered containers should return a pair of local_iterators |
Yes |
|
|
1190 |
NAD |
23.2.5 [unord.req] |
Setting the maximum load factor should return the previous value |
Yes |
|
|
2006 |
NAD |
23.2.5 [unord.req] |
emplace broken for associative containers |
Yes |
|
|
1042 |
NAD |
23.3 [sequences] |
Provide ContiguousStorage concept and apply it to corresponding containers |
Yes |
|
|
588 |
NAD |
23.3.7 [array] |
requirements on zero sized tr1::arrays and other details |
Yes |
|
|
617 |
NAD |
23.3.7 [array] |
std::array is a sequence that doesn't satisfy the sequence requirements? |
Yes |
|
|
930 |
NAD |
23.3.7 [array] |
Access to std::array data as built-in array type |
Yes |
|
|
855 |
NAD |
23.3.8.3 [deque.capacity] |
capacity() and reserve() for deque? |
Yes |
|
|
919 |
NAD |
23.3.9.6 [forwardlist.ops] |
(forward_)list specialized remove algorithms are over constrained |
Yes |
|
|
131 |
NAD |
23.3.10.5 [list.ops] |
list::splice throws nothing |
Yes |
|
|
491 |
NAD |
23.3.10.5 [list.ops] |
std::list<>::unique incorrectly specified |
Yes |
|
|
2279 |
NAD |
23.3.10.5 [list.ops] |
Carefully state effects of list::splice function |
Yes |
|
|
96 |
NAD |
23.3.11 [vector] |
Vector<bool> is not a container |
Yes |
|
|
1102 |
NAD |
23.3.11.3 [vector.capacity] |
std::vector's reallocation policy still unclear |
Yes |
|
|
1246 |
NAD |
23.3.11.3 [vector.capacity] |
vector::resize() missing efficiency guarantee |
Yes |
|
|
751 |
NAD |
23.3.12 [vector.bool] |
change pass-by-reference members of vector<bool> to pass-by-value? |
Yes |
|
|
1296 |
NAD |
23.4.4 [map] |
map and multimap value_compare overspecified |
Yes |
|
|
1091 |
NAD |
23.4.5.3 [multimap.modifiers] |
Multimap description confusing |
Yes |
|
|
528 |
NAD |
23.5 [unord] |
const_iterator iterator issue when they are the same type |
Yes |
|
|
2026 |
NAD |
23.5 [unord] |
hash should be std qualified for unordered container |
Yes |
|
|
2107 |
NAD |
24.2 [iterator.requirements] |
Some iterator category should guarantee the lifetime of references |
Yes |
|
|
1009 |
NAD |
24.2.2 [iterator.iterators] |
InputIterator post-increment dangerous |
Yes |
|
|
392 |
NAD |
24.2.3 [input.iterators] |
'equivalence' for input iterators |
Yes |
|
|
493 |
NAD |
24.2.3 [input.iterators] |
Undefined Expression in Input Iterator Note Title |
Yes |
|
|
476 |
NAD |
24.2.5 [forward.iterators] |
Forward Iterator implied mutability |
Yes |
|
|
458 |
NAD |
24.2.7 [random.access.iterators] |
24.1.5 contains unintended limitation for operator- |
Yes |
|
|
204 |
NAD |
24.4.3 [iterator.operations] |
distance(first, last) when "last" is before "first" |
Yes |
|
|
2204 |
NAD |
24.5.1.3.4 [reverse.iter.op.star] |
reverse_iterator should not require a second copy of the base iterator |
Yes |
|
|
1051 |
NAD |
24.5.1.3.12 [reverse.iter.opindex] |
Specify subscript operation return types of reverse_iterator and move_iterator |
Yes |
|
|
2347 |
NAD |
24.5.1.3.12 [reverse.iter.opindex] |
reverse_iterator::operator[] calls const version of current[] |
Yes |
2 |
|
99 |
NAD |
24.5.1.3.13 [reverse.iter.op==] |
Reverse_iterator comparisons completely wrong |
Yes |
|
|
100 |
NAD |
24.5.2 [insert.iterators] |
Insert iterators/ostream_iterators overconstrained |
Yes |
|
|
977 |
NAD |
24.5.2 [insert.iterators] |
insert iterators inefficient for expensive to move types |
Yes |
|
|
1062 |
NAD |
24.5.2 [insert.iterators] |
Missing insert_iterator for stacks/queues |
Yes |
|
|
903 |
NAD |
24.5.2.1 [back.insert.iterator] |
back_insert_iterator issue |
Yes |
|
|
901 |
NAD |
24.5.2.5 [insert.iterator] |
insert iterators can move from lvalues |
Yes |
|
|
245 |
NAD |
24.6.1 [istream.iterator] |
Which operations on istream_iterator trigger input operations? |
Yes |
|
|
1125 |
NAD |
24.6.2.2 [ostream.iterator.ops] |
ostream_iterator does not work with movable types |
Yes |
|
|
111 |
NAD |
24.6.3.5 [istreambuf.iterator::equal] |
istreambuf_iterator::equal overspecified, inefficient |
Yes |
|
|
631 |
NAD |
25 [algorithms] |
conflicting requirements for BinaryPredicate |
Yes |
|
|
2082 |
NAD |
25 [algorithms] |
Misleading complexity requirements in <algorithm> |
Yes |
|
|
290 |
NAD |
25.3.4 [alg.foreach] |
Requirements to for_each and its function object |
Yes |
|
|
219 |
NAD |
25.3.5 [alg.find] |
find algorithm missing version that takes a binary predicate argument |
Yes |
|
|
244 |
NAD |
25.3.5 [alg.find] |
Must find's third argument be CopyConstructible? |
Yes |
|
|
293 |
NAD |
25.4.4 [alg.transform] |
Order of execution in transform algorithm |
Yes |
|
|
367 |
NAD |
25.4.8 [alg.remove] |
remove_copy/remove_copy_if and Input Iterators |
Yes |
|
|
489 |
NAD |
25.4.8 [alg.remove] |
std::remove / std::remove_if wrongly specified |
Yes |
|
|
481 |
NAD |
25.4.9 [alg.unique] |
unique's effects on the range [result, last) |
Yes |
|
|
490 |
NAD |
25.4.9 [alg.unique] |
std::unique wrongly specified |
Yes |
|
|
218 |
NAD |
25.5 [alg.sorting] |
Algorithms do not use binary predicate objects for default comparisons |
Yes |
|
|
191 |
NAD |
25.5.3 [alg.binary.search] |
Unclear complexity for algorithms such as binary search |
Yes |
|
|
190 |
NAD |
25.5.7 [alg.min.max] |
min() and max() functions should be std::binary_functions |
Yes |
|
|
1308 |
NAD |
25.5.7 [alg.min.max] |
Concerns about initializer_list overloads of min,
max, and minmax |
Yes |
|
|
388 |
NAD |
26.5 [complex.numbers] |
Use of complex as a key in associative containers |
Yes |
|
|
177 |
NAD |
26.5.6 [complex.ops] |
Complex operators cannot be explicitly instantiated |
Yes |
|
|
440 |
NAD |
26.5.8 [complex.transcendentals] |
Should std::complex use unqualified transcendentals? |
Yes |
|
|
506 |
NAD |
26.6 [rand] |
Requirements of Distribution parameter for variate_generator |
Yes |
|
|
547 |
NAD |
26.6 [rand] |
division should be floating-point, not integer |
Yes |
|
|
572 |
NAD |
26.6 [rand] |
Oops, we gave 507 WP status |
Yes |
|
|
1056 |
NAD |
26.6 [rand] |
Must all Engines and Distributions be Streamable? |
Yes |
|
|
517 |
NAD |
26.6.1 [rand.req] |
Should include name in external representation |
Yes |
|
|
2326 |
NAD |
26.6.1.1 [rand.req.genl] |
uniform_int_distribution<unsigned char> should be permitted |
Yes |
2 |
|
2124 |
NAD |
26.6.1.2 [rand.req.seedseq] |
Seed sequence over-specified |
Yes |
|
|
2327 |
NAD |
26.6.1.3 [rand.req.urng] |
Non-power-of-two URNGs should be forbidden |
Yes |
|
|
729 |
NAD |
26.6.1.4 [rand.req.eng] |
Problem in [rand.req.eng]/3 |
Yes |
|
|
730 |
NAD |
26.6.1.5 [rand.req.adapt] |
Comment on [rand.req.adapt]/3 e) |
Yes |
|
|
733 |
NAD |
26.6.1.6 [rand.req.dist] |
Comment on [rand.req.dist]/9 |
Yes |
|
|
515 |
NAD |
26.6.2 [rand.synopsis] |
Random number engine traits |
Yes |
|
|
2351 |
NAD |
26.6.3 [rand.eng] |
Does .seed() completely reset state of engine? |
Yes |
2 |
|
796 |
NAD |
26.6.5 [rand.predef] |
ranlux48_base returns wrong value |
Yes |
|
|
797 |
NAD |
26.6.5 [rand.predef] |
ranlux48 returns wrong value |
Yes |
|
|
802 |
NAD |
26.6.5 [rand.predef] |
knuth_b returns wrong value |
Yes |
|
|
548 |
NAD |
26.6.6 [rand.device] |
May random_device block? |
Yes |
|
|
1068 |
NAD |
26.6.6 [rand.device] |
class random_device should be movable |
Yes |
|
|
731 |
NAD |
26.6.7.1 [rand.util.seedseq] |
proposal for a customizable seed_seq |
Yes |
|
|
1069 |
NAD |
26.6.7.1 [rand.util.seedseq] |
class seed_seq should support efficient move operations |
Yes |
|
|
1313 |
NAD |
26.6.7.1 [rand.util.seedseq] |
Seed sequence's param function not useful for pure output iterator |
Yes |
|
|
739 |
NAD |
26.6.7.2 [rand.util.canonical] |
Defect in [rand.util.canonical]/3 |
Yes |
|
|
511 |
NAD |
26.6.8 [rand.dist] |
Input_type for binomial_distribution |
Yes |
|
|
509 |
NAD |
26.6.8.2 [rand.dist.uni] |
Uniform_int template parameters |
Yes |
|
|
773 |
NAD |
26.6.8.2 [rand.dist.uni] |
issues with random |
Yes |
|
|
510 |
NAD |
26.6.8.3 [rand.dist.bern] |
Input_type for bernoulli_distribution |
Yes |
|
|
735 |
NAD |
26.6.8.3.2 [rand.dist.bern.bin] |
Unfortunate naming |
Yes |
|
|
736 |
NAD |
26.6.8.6.1 [rand.dist.samp.discrete] |
Comment on [rand.dist.samp.discrete] |
Yes |
|
|
737 |
NAD |
26.6.8.6.2 [rand.dist.samp.pconst] |
Comment on [rand.dist.samp.pconst] |
Yes |
|
|
791 |
NAD |
26.6.8.6.2 [rand.dist.samp.pconst] |
piecewise_constant_distribution::densities has wrong name |
Yes |
|
|
93 |
NAD |
26.7 [numarray] |
Incomplete Valarray Subset Definitions |
Yes |
|
|
107 |
NAD |
26.7.2 [template.valarray] |
Valarray constructor is strange |
Yes |
|
|
188 |
NAD |
26.7.2.7 [valarray.cassign] |
valarray helpers missing augmented assignment operators |
Yes |
|
|
1243 |
NAD |
26.7.2.7 [valarray.cassign] |
Missing operator+= (initializer_list<T>) for valarray |
Yes |
|
|
81 |
NAD |
26.7.5 [template.slice.array] |
Wrong declaration of slice operations |
Yes |
|
|
213 |
NAD |
26.9 [c.math] |
Math function overloads ambiguous |
Yes |
|
|
289 |
NAD |
26.9 [c.math] |
<cmath> requirements missing C float and long double versions |
Yes |
|
|
323 |
NAD |
26.9 [c.math] |
abs() overloads in different headers |
Yes |
|
|
583 |
NAD |
26.9 [c.math] |
div() for unsigned integral types |
Yes |
|
|
584 |
NAD |
26.9 [c.math] |
missing int pow(int,int) functionality |
Yes |
|
|
2079 |
NAD |
26.9 [c.math] |
Required pow() overloads |
Yes |
3 |
|
366 |
NAD |
27 [input.output] |
Excessive const-qualification |
Yes |
|
|
178 |
NAD |
27.4.2 [narrow.stream.objects] |
Should clog and cerr initially be tied to cout? |
Yes |
|
|
418 |
NAD |
27.5.3.1.6 [ios::Init] |
exceptions thrown during iostream cleanup |
Yes |
|
|
287 |
NAD |
27.5.3.2 [fmtflags.state] |
conflicting ios_base fmtflags |
Yes |
|
|
6 |
NAD |
27.5.4 [fpos] |
File position not an offset unimplementable |
Yes |
|
|
332 |
NAD |
27.5.4 [fpos] |
Consider adding increment and decrement operators to std::fpos< T > |
Yes |
|
|
573 |
NAD |
27.5.4 [fpos] |
C++0x file positioning should handle modern file sizes |
Yes |
|
|
194 |
NAD |
27.5.5 [ios] |
rdbuf() functions poorly specified |
Yes |
|
|
145 |
NAD |
27.5.5.2 [basic.ios.cons] |
adjustfield lacks default value |
Yes |
|
|
421 |
NAD |
27.6.3.1 [streambuf.cons] |
is basic_streambuf copy-constructible? |
Yes |
|
|
309 |
NAD |
27.7 [iostream.format] |
Does sentry catch exceptions? |
Yes |
|
|
1148 |
NAD |
27.7 [iostream.format] |
Wrong argument type of I/O stream manipulators setprecision()
and setw() |
Yes |
|
|
1446 |
NAD |
27.7 [iostream.format] |
Move and swap for I/O streams |
Yes |
|
|
113 |
NAD |
27.7.2.1 [istream] |
Missing/extra iostream sync semantics |
Yes |
|
|
2036 |
NAD |
27.7.2.1 [istream] |
istream >> char and eofbit |
Yes |
|
|
203 |
NAD |
27.7.2.1.3 [istream::sentry] |
basic_istream::sentry::sentry() is uninstantiable with ctype<user-defined type> |
Yes |
|
|
58 |
NAD |
27.7.2.2.3 [istream::extractors] |
Extracting a char from a wide-oriented stream |
Yes |
|
|
639 |
NAD |
27.7.2.2.3 [istream::extractors] |
Still problems with exceptions during streambuf IO |
Yes |
|
|
342 |
NAD |
27.7.2.3 [istream.unformatted] |
seek and eofbit |
Yes |
|
|
399 |
NAD |
27.7.2.3 [istream.unformatted] |
volations of unformatted input function requirements |
Yes |
|
|
2131 |
NAD |
27.7.2.3 [istream.unformatted] |
Member function getline taking a string as parameter |
Yes |
|
|
135 |
NAD |
27.7.2.5.1 [iostream.cons] |
basic_iostream doubly initialized |
Yes |
|
|
398 |
NAD |
27.7.3.4 [ostream::sentry] |
effects of end-of-file on unformatted input functions |
Yes |
|
|
394 |
NAD |
27.7.3.6.1 [ostream.formatted.reqmts] |
behavior of formatted output on failure |
Yes |
|
|
437 |
NAD |
27.7.3.6.2 [ostream.inserters.arithmetic] |
Formatted output of function pointers is confusing |
Yes |
|
|
128 |
NAD |
27.8 [string.streams] |
Need open_mode() function for file stream, string streams, file buffers, and string buffers |
Yes |
|
|
1251 |
NAD |
27.8.2.1 [stringbuf.cons] |
move constructing basic_stringbuf |
Yes |
|
|
45 |
NAD |
27.8.4 [ostringstream] |
Stringstreams read/write pointers initial position unclear |
Yes |
|
|
73 |
NAD |
27.9.1 [fstreams] |
is_open should be const |
Yes |
|
|
863 |
NAD |
27.9.1 [fstreams] |
What is the state of a stream after close() succeeds |
Yes |
|
|
454 |
NAD |
27.9.2.3 [filebuf.members] |
basic_filebuf::open should accept wchar_t names |
Yes |
|
105 |
2043 |
NAD |
27.11 [c.files] |
std{in,out,err} should be usable as field names |
Yes |
|
|
1263 |
NAD |
28.4 [re.syn] |
missing swap overloads for regex |
Yes |
|
|
1452 |
NAD |
28.10.4 [re.results.acc] |
"target sequence" is not defined |
Yes |
|
|
726 |
NAD |
28.11.4 [re.alg.replace] |
Missing regex_replace() overloads |
Yes |
|
|
1456 |
NAD |
29 [atomics] |
Missing fixed-size atomic_ typedefs |
Yes |
|
|
1461 |
NAD |
29 [atomics] |
Rename all ATOMIC_* macros as STD_ATOMIC_* |
Yes |
|
|
1473 |
NAD |
29.6 [atomics.types.operations] |
Incomplete memory order specifications |
Yes |
|
|
1485 |
NAD |
30.3.1.1 [thread.thread.id] |
Unclear thread::id specification |
Yes |
|
|
1176 |
NAD |
30.3.1.2 [thread.thread.constr] |
Make thread constructor non-variadic |
Yes |
|
|
1486 |
NAD |
30.3.2 [thread.thread.this] |
Value of this_thread::get_id() underspecified for detached thread |
Yes |
|
|
980 |
NAD |
30.4.1 [thread.mutex.requirements] |
mutex lock() missing error conditions |
Yes |
|
|
2090 |
NAD |
30.4.1.2 [thread.mutex.requirements.mutex] |
Minor Overconstraint in Mutex Types |
Yes |
|
|
784 |
NAD |
30.4.2.2.3 [thread.lock.unique.mod] |
unique_lock::release |
Yes |
|
|
887 |
NAD |
30.5.1 [thread.condition.condvar] |
issue with condition::wait_... |
Yes |
|
|
959 |
NAD |
30.5.1 [thread.condition.condvar] |
Various threading bugs #9 |
Yes |
|
|
1223 |
NAD |
30.5.2 [thread.condition.condvarany] |
condition_variable_any lock matching? |
Yes |
|
|
1224 |
NAD |
30.5.2 [thread.condition.condvarany] |
condition_variable_any support for recursive mutexes? |
Yes |
|
|
1164 |
NAD |
30.6.5 [futures.promise] |
promise::swap should pass by rvalue reference |
Yes |
|
|
2046 |
NAD |
30.6.7 [futures.shared_future] |
shared_future(future<R>&&) should be allowed to throw |
Yes |
|
|
2 |
NAD |
99 [auto.ptr.conv] |
Auto_ptr conversions effects incorrect |
Yes |
|
|
249 |
NAD |
99 [auto.ptr] |
Return Type of auto_ptr::operator= |
Yes |
|
|
257 |
NAD |
99 [depr.base] |
STL functional object and iterator inheritance. |
Yes |
|
|
304 |
NAD |
99 [iterator.concepts] |
Must *a return an lvalue when a is an input iterator? |
Yes |
|
|
463 |
NAD |
99 [auto.ptr] |
auto_ptr usability issues |
Yes |
|
|
480 |
NAD |
99 [depr.base] |
unary_function and binary_function should have protected nonvirtual destructors |
Yes |
|
|
501 |
NAD |
99 [depr.base] |
Proposal: strengthen guarantees of lib.comparisons |
Yes |
|
|
790 |
NAD |
99 [rand.adapt.xor] |
xor_combine::seed not specified |
Yes |
|
|
988 |
NAD |
99 [concept.comparison] |
Reflexivity meaningless? |
Yes |
|
|
143 |
NAD |
D.4 [depr.c.headers] |
C .h header wording unclear |
Yes |
|
|
65 |
NAD |
D.5.1.3 [depr.strstreambuf.virtuals] |
Underspecification of strstreambuf::seekoff |
Yes |
|
|
267 |
NAD |
D.5.1.3 [depr.strstreambuf.virtuals] |
interaction of strstreambuf::overflow() and seekoff() |
Yes |
|
|
433 |
NAD |
D.6.4 [unexpected] |
Contradiction in specification of unexpected() |
Yes |
|
|
597 |
NAD |
99 [dec.tr::trdec.types.types] |
[dec.tr] The notion of 'promotion' cannot be emulated by user-defined types. |
Yes |
|
|
606 |
NAD |
99 [dec.tr::trdec.types.types] |
[dec.tr] allow narrowing conversions |
Yes |
|
|
2604 |
NAD |
99 [filesys.ts::fs.def.parent] |
[filesys.ts] [PDTS] Need definition of dot and dot-dot |
Yes |
|
|
2610 |
NAD |
99 [filesys.ts::fs.filesystem.synopsis] |
[filesys.ts] [PDTS] Apparently inconsistent return types from several functions |
Yes |
|
|
2613 |
NAD |
99 [filesys.ts::fs.err.report] |
[filesys.ts] [PDTS] Missing actual error conditions thrown |
Yes |
|
|
2617 |
NAD |
99 [filesys.ts::path.modifiers] |
[filesys.ts] [PDTS] path member swap() unnecessary |
Yes |
|
|
2623 |
NAD |
99 [filesys.ts::fs.op.funcs] |
[filesys.ts] [PDTS] Request for create_regular_file() and/or touch() |
Yes |
|
|
2626 |
NAD |
99 [filesys.ts::fs.op.equivalent] |
[filesys.ts] [PDTS] Equivalence is a volatile property |
Yes |
|
|
2628 |
NAD |
99 [filesys.ts::fs.op.last_write_time] |
[filesys.ts] [PDTS] Possible last_write_time() postcondition? |
Yes |
|
|
2630 |
NAD |
99 [filesys.ts::fs.op.remove] |
[filesys.ts] [PDTS] remove() must avoid race |
Yes |
|
|
2631 |
NAD |
99 [filesys.ts::fs.op.rename] |
[filesys.ts] [PDTS] POSIX guarantees atomicity for rename() |
Yes |
|
|
2638 |
NAD |
99 [filesys.ts::directory_entry.obs] |
[filesys.ts] [PDTS] Make certain functions noexcept and drop error_code version |
Yes |
|
|
2642 |
NAD |
99 [filesys.ts::class.path] |
[filesys.ts]
[PDTS] class path should have defaulted constructors/destructor/assignments.
|
Yes |
|
|
2646 |
NAD |
99 [filesys.ts::path.generic.obs] |
[filesys.ts] [PDTS] Do we really need generic*? |
Yes |
|
|
2661 |
NAD |
99 [filesys.ts::fs.filesystem.synopsis] |
[filesys.ts] Surprising equivalent() behavior if neither file exists |
Yes |
|
|
546 |
NAD |
99 [tr1::tr.rand.req] |
[tr1] _Longlong and _ULonglong are integer types |
Yes |
|
|
568 |
NAD |
99 [tr1::tr.c99.cmath.over] |
[tr1] log2 overloads missing |
Yes |
|
|
701 |
NAD |
99 [tr1::tr.num.sf.Lnm] |
[tr1] assoc laguerre poly's |
Yes |
|
|
702 |
NAD |
99 [tr1::tr.num.sf.Plm] |
[tr1] Restriction in associated Legendre functions |
Yes |
|
|
785 |
NAD |
99 [tr1::tr.rand.eng.disc] |
[tr1] Random Number Requirements in TR1 |
Yes |
|
|
799 |
NAD |
99 [tr1::rand.eng.mers] |
[tr1] [tr.rand.eng.mers] and [rand.eng.mers] |
Yes |
|
|
2580 |
NAD |
21.3.1.2 [string.cons] |
Who is definitive: operator= or assign? |
Yes |
4 |
|
2552 |
NAD |
23.6.5 [priority.queue] |
priority_queue doesn't work with move-only types |
Yes |
3 |
|
2474 |
NAD |
26.9 [c.math] |
<cmath> functions unfriendly to integral_constant arguments |
Yes |
4 |
|
2305 |
NAD |
99 [fund.ts::optional.object.ctor] |
[fund.ts] optional forwarding construction/assignment |
Yes |
4 |
|
2379 |
NAD |
30.2.3 [thread.req.native] |
Obtaining native handle of the current thread |
Yes |
|
|
2538 |
NAD |
99 [parallel.ts::parallel.alg.general.exec] |
[parallel.ts] Requirements on data race behavior of iterators and swap should be clarified |
Yes |
|
|
2373 |
NAD |
17.6.5 [conforming] |
Make new entities and names in namespace std conforming extensions |
Yes |
3 |
|
2388 |
NAD |
20.2.3 [utility.exchange] |
Handling self-assignment in the proposed library function std::exchange |
Yes |
2 |
|
2386 |
NAD |
20.14.12.2.1 [func.wrap.func.con] |
function::operator= handles allocators incorrectly |
Yes |
1 |
|
2405 |
NAD |
25.4.11 [alg.rotate] |
rotate()'s return value is incorrect when middle == first |
Yes |
|
|
2429 |
NAD |
27.8.4 [ostringstream] |
std::basic_ostringstream is missing an allocator-extended constructor |
Yes |
|
|