basic_string
size_type
and difference_type
should be implementation defined Yes 5(i) TC1 27.4.3.7.8 [string.swap] String::compare specification questionable Yes 87 6(i) NAD 31.5.3 [fpos] File position not an offset unimplementable Yes 7(i) TC1 27 [strings] String clause minor problems Yes 8(i) TC1 28.3.3.1.6 [locale.statics] Locale::global lacks guarantee Yes 9(i) TC1 17.6.3 [new.delete] Operator new(0) calls should not yield the same pointer Yes 10(i) Dup 28.3.4.2.6 [locale.codecvt.byname] Codecvt<>::do unclear Yes 19 11(i) TC1 22.9.2 [template.bitset] Bitset minor problems Yes 12(i) NAD 16.4.4.6 [allocator.requirements] Way objects hold allocators unclear Yes 13(i) TC1 31.7.5.3.3 [istream.extractors] Eos refuses to die Yes 14(i) TC1 28.3.3.1.4 [locale.members] Locale::combine should be const Yes 15(i) TC1 28.3.3.1.4 [locale.members] Locale::name requirement inconsistent Yes 16(i) TC1 28.3.4.2.5 [locale.codecvt] Bad ctype_byname<char> decl Yes 17(i) TC1 28.3.4.3.2.3 [facet.num.get.virtuals] Bad bool parsing Yes 18(i) TC1 28.3.4.3.2.2 [facet.num.get.members] Get(...bool&) omitted Yes 19(i) TC1 28.3.4.2.5 [locale.codecvt] "Noconv" definition too vague Yes 10 20(i) TC1 28.3.4.4.1.3 [facet.numpunct.virtuals] Thousands_sep returns wrong type Yes 21(i) TC1 28.3.3.1.2.1 [locale.category] Codecvt_byname<> instantiations Yes 22(i) TC1 31.10.4.4 [ifstream.members] Member open vs. flags Yes 23(i) CD1 28.3.4.3.2.3 [facet.num.get.virtuals] Num_get overflow result Yes 24(i) TC1 28.3.4.2.5 [locale.codecvt] "do_convert" doesn't exist Yes 72 25(i) TC1 27.4.4.4 [string.io] String operator<< uses width() value wrong Yes 67 26(i) TC1 31.7.5.2.4 [istream.sentry] Bad sentry example Yes 27(i) TC1 27.4.3.7.5 [string.erase] String::erase(range) yields wrong iterator Yes 28(i) TC1 28.3.4.2.4.3 [facet.ctype.char.members] Ctype<char>is ambiguous Yes 236 29(i) TC1 31.4.3 [narrow.stream.objects] Ios_base::init doesn't exist Yes 30(i) TC1 28.3.3.1.2.1 [locale.category] Wrong header for LC_* Yes 31(i) TC1 28.3.3.1 [locale] Immutable locale values Yes 378 32(i) TC1 31.6.3.5.4 [streambuf.virt.pback] Pbackfail description inconsistent Yes 33(i) TC1 28.3.4.2.5 [locale.codecvt] Codecvt<> mentions from_type Yes 43 34(i) TC1 28.3.4.3.3.3 [facet.num.put.virtuals] True/falsename() not in ctype<> Yes 35(i) TC1 31.5 [iostreams.base] No manipulator unitbuf in synopsis Yes 36(i) TC1 31.5.2.6 [ios.base.storage] Iword & pword storage lifetime omitted Yes 37(i) TC1 28.3.3.1 [locale] Leftover "global" reference Yes 38(i) TC1 28.3.3.2 [locale.global.templates] Facet definition incomplete Yes 39(i) TC1 24.6.4.4 [istreambuf.iterator.ops] istreambuf_iterator<>::operator++(int) definition garbled Yes 40(i) TC1 99 [facets.examples] Meaningless normative paragraph in examples Yes 41(i) TC1 31.5.2 [ios.base] Ios_base needs clear(), exceptions() Yes 157 42(i) TC1 27.4.3 [basic.string] String ctors specify wrong default allocator Yes 43(i) Dup 28.3.4.2.6 [locale.codecvt.byname] Locale table correction Yes 33 44(i) CD1 31 [input.output] Iostreams use operator== on int_type values Yes 45(i) NAD 31.8.4 [ostringstream] Stringstreams read/write pointers initial position unclear Yes 46(i) TC1 99 [depr.str.strstreams] Minor Annex D errors Yes 47(i) TC1 31.5.2.4 [ios.base.locales] Imbue() and getloc() Returns clauses swapped Yes 48(i) TC1 31.5.2.2.1 [ios.failure] Use of non-existent exception constructor Yes 49(i) CD1 31.5.2.5 [ios.members.static] Underspecification of ios_base::sync_with_stdio Yes 50(i) TC1 31.5.2 [ios.base] Copy constructor and assignment operator of ios_base Yes 51(i) TC1 23.2 [container.requirements] Requirement to not invalidate iterators missing Yes 52(i) TC1 31.5.3.3 [fpos.operations] Small I/O problems Yes 53(i) TC1 31.5.4.2 [basic.ios.cons] Basic_ios destructor unspecified Yes 54(i) TC1 31.6.3.2 [streambuf.cons] Basic_streambuf's destructor Yes 55(i) TC1 31 [input.output] Invalid stream position is undefined Yes 56(i) TC1 31.6.3 [streambuf] Showmanyc's return type Yes 57(i) TC1 27.2.4.6 [char.traits.specializations.wchar.t] Mistake in char_traits Yes 58(i) NAD 31.7.5.3.3 [istream.extractors] Extracting a char from a wide-oriented stream Yes 59(i) TC1 31.6.3.4.2 [streambuf.get.area] Ambiguity in specification of gbump Yes 60(i) TC1 31.7.5.3.1 [istream.formatted.reqmts] What is a formatted input function? Yes 162, 163, 166 61(i) TC1 31.7.5.4 [istream.unformatted] Ambiguity in iostreams exception policy Yes 62(i) TC1 31.7.5.4 [istream.unformatted] Sync
's return value Yes 63(i) TC1 31.7.6.4 [ostream.unformatted] Exception-handling policy for unformatted output Yes 64(i) TC1 31.7.5.3.3 [istream.extractors] Exception handling in basic_istream::operator>>(basic_streambuf*)
Yes 65(i) NAD 99 [depr.strstreambuf.virtuals] Underspecification of strstreambuf::seekoff Yes 66(i) TC1 99 [depr.strstreambuf.virtuals] Strstreambuf::setbuf Yes 67(i) Dup 27.4.4.4 [string.io] Setw useless for strings Yes 25 68(i) TC1 31.7.5.3.3 [istream.extractors] Extractors for char* should store null at end Yes 69(i) TC1 23.3.13 [vector] Must elements of a vector be contiguous? Yes 70(i) TC1 17.9 [support.exception] Uncaught_exception() missing throw() specification Yes 71(i) TC1 28.3.4.6.2 [locale.time.get] Do_get_monthname synopsis missing argument Yes 72(i) Dup 28.3.4.2.5 [locale.codecvt] Do_convert phantom member function Yes 24 73(i) NAD 31.10 [file.streams] is_open
should be const Yes 74(i) TC1 28.3.4.2.5 [locale.codecvt] Garbled text for codecvt::do_max_length
Yes 75(i) TC1 28.3.4.2.5 [locale.codecvt] Contradiction in codecvt::length
's argument types Yes 76(i) CD1 28.3.4.2.5 [locale.codecvt] Can a codecvt
facet always convert one internal character at a time? Yes 77(i) Dup 29.6.2.4 [valarray.access] Valarray operator[] const returning value Yes 389 78(i) TC1 31.5.2 [ios.base] Typo: event_call_back Yes 79(i) TC1 29.4.2 [complex.syn] Inconsistent declaration of polar() Yes 80(i) TC1 29.4.2 [complex.syn] Global Operators of complex declared twice Yes 81(i) NAD 29.6.5 [template.slice.array] Wrong declaration of slice operations Yes 82(i) NAD 23.2.7 [associative.reqmts] Missing constant for set elements Yes 83(i) TC1 27.4.3 [basic.string] String::npos vs. string::max_size() Yes 89 84(i) NAD 27.4.3.6 [string.access] Ambiguity with string::insert() Yes 85(i) NAD 27 [strings] String char types Yes 86(i) TC1 27.4.3.2 [string.require] String constructors don't describe exceptions Yes 87(i) Dup 27.4.3.7.8 [string.swap] Error in description of string::compare() Yes 5 88(i) NAD 27.4.3.7.4 [string.insert] Inconsistency between string::insert() and string::append() Yes 89(i) Dup 27.4.3.7.4 [string.insert] Missing throw specification for string::insert() and string::replace() Yes 83 90(i) TC1 27.4.4.4 [string.io] Incorrect description of operator >> for strings Yes 91(i) CD1 27.4.4.4 [string.io] Description of operator>> and getline() for string<> might cause endless loop Yes 92(i) CD1 26 [algorithms] Incomplete Algorithm Requirements Yes 93(i) NAD 29.6 [numarray] Incomplete Valarray Subset Definitions Yes 94(i) NAD 16.4.6 [conforming] May library implementors add template parameters to Standard Library classes? Yes 95(i) NAD 16.4.6.5 [member.functions] Members added by the implementation Yes 96(i) NAD 23.3.13 [vector] Vector<bool> is not a container Yes 97(i) NAD 23 [containers] Insert inconsistent definition Yes 98(i) CD1 24.3.5.3 [input.iterators] Input iterator requirements are badly written Yes 99(i) NAD 24.5.1.8 [reverse.iter.cmp] Reverse_iterator comparisons completely wrong Yes 100(i) NAD 24.5.2 [insert.iterators] Insert iterators/ostream_iterators overconstrained Yes 101(i) NAD Editorial 23.3.13 [vector] No way to free storage for vector and deque Yes 102(i) Dup 23.2.7 [associative.reqmts] Bug in insert range in associative containers Yes 264 103(i) CD1 23.2.7 [associative.reqmts] set::iterator is required to be modifiable, but this allows modification of keys Yes 104(i) NAD 27.4.3.5 [string.capacity] Description of basic_string::operator[] is unclear Yes 105(i) Dup 31.10 [file.streams] fstream ctors argument types desired Yes 454 106(i) TC1 29.6.5 [template.slice.array] Numeric library private members are implementation defined Yes 107(i) NAD 29.6.2 [template.valarray] Valarray constructor is strange Yes 108(i) TC1 17.7.3 [type.info] Lifetime of exception::what() return unspecified Yes 109(i) CD1 99 [depr.lib.binders] Missing binders for non-const sequence elements Yes 110(i) TC1 24.6.4 [istreambuf.iterator] istreambuf_iterator::equal not const Yes 111(i) NAD 24.6.4.4 [istreambuf.iterator.ops] istreambuf_iterator::equal
overspecified, inefficient Yes 112(i) TC1 24.6.5.2 [ostreambuf.iter.cons] Minor typo in ostreambuf_iterator
constructor Yes 113(i) NAD 31.7.5.2 [istream] Missing/extra iostream sync semantics Yes 114(i) TC1 17.6.3.4 [new.delete.placement] Placement forms example in error twice Yes 196 115(i) TC1 99 [depr.strstream.cons] Typo in strstream constructors Yes 116(i) Dup 22.9.2 [template.bitset] bitset cannot be constructed with a const char* Yes 778 117(i) CD1 31.7.6.3.2 [ostream.inserters.arithmetic] basic_ostream
uses nonexistent num_put
member functions Yes 118(i) CD1 31.7.5.3.2 [istream.formatted.arithmetic] basic_istream
uses nonexistent num_get
member functions Yes 119(i) TC1 16.4.6.14 [res.on.exception.handling] Should virtual functions be allowed to strengthen the exception specification? Yes 120(i) CD1 16.4.5.3 [reserved.names] Can an implementor add specializations? Yes 121(i) NAD 28.3.3.1.2.1 [locale.category] Detailed definition for ctype<wchar_t> specialization Yes 122(i) TC1 31.6.3 [streambuf] streambuf/wstreambuf description should not say they are specializations Yes 123(i) CD1 29.6.5.4 [slice.arr.fill] Should valarray helper arrays fill functions be const? Yes 124(i) TC1 28.3.4.2.3 [locale.ctype.byname] ctype_byname<charT>::do_scan_is & do_scan_not return type should be const charT* Yes 125(i) TC1 29.6.2 [template.valarray] valarray<T>::operator!() return type is inconsistent Yes 126(i) TC1 28.3.4.2.2.3 [locale.ctype.virtuals] typos in Effects clause of ctype::do_narrow() Yes 127(i) TC1 99 [auto.ptr] auto_ptr<> conversion issues Yes 128(i) NAD 31.8 [string.streams] Need open_mode() function for file stream, string streams, file buffers, and string buffers Yes 129(i) TC1 31.7.5.4 [istream.unformatted] Need error indication from seekp() and seekg() Yes 130(i) CD1 23.2.7 [associative.reqmts] Return type of container::erase(iterator) differs for associative containers Yes 451 131(i) NAD 23.3.11.5 [list.ops] list::splice throws nothing Yes 132(i) TC1 23.3.11.3 [list.capacity] list::resize description uses random access iterators Yes 133(i) TC1 23.4.3 [map] map missing get_allocator() Yes 134(i) TC1 23.3.13.2 [vector.cons] vector constructors over specified Yes 135(i) NAD 31.7.5.7.2 [iostream.cons] basic_iostream doubly initialized Yes 136(i) CD1 31.7.5.4 [istream.unformatted] seekp, seekg setting wrong streams? Yes 137(i) TC1 28.3.3.1 [locale] Do use_facet and has_facet look in the global locale? Yes 138(i) NAD 28.3.4.2.5 [locale.codecvt] Class ctype_byname<char>
redundant and misleading Yes 139(i) TC1 23.2.4 [sequence.reqmts] Optional sequence operation table description unclear Yes 140(i) NAD Editorial 23.4.3 [map] map<Key, T>::value_type does not satisfy the assignable requirement Yes 141(i) TC1 27.4.3.7.4 [string.insert] basic_string::find_last_of, find_last_not_of say pos instead of xpos Yes 142(i) TC1 26.8.11 [alg.lex.comparison] lexicographical_compare complexity wrong Yes 143(i) NAD 17.15 [support.c.headers] C .h header wording unclear Yes 144(i) TC1 23.3.5.2 [deque.cons] Deque constructor complexity wrong Yes 145(i) NAD 31.5.4.2 [basic.ios.cons] adjustfield lacks default value Yes 146(i) TC1 29.4.6 [complex.ops] complex<T> Inserter and Extractor need sentries Yes 147(i) TC1 16.4.6.4 [global.functions] Library Intro refers to global functions that aren't global Yes 148(i) TC1 99 [facets.examples] Functions in the example facet BoolNames should be const Yes 149(i) C++11 23.2.4 [sequence.reqmts] Insert should return iterator to first element inserted Yes 150(i) TC1 26.6.9 [alg.find.first.of] Find_first_of says integer instead of iterator Yes 151(i) TC1 23.2.4 [sequence.reqmts] Can't currently clear() empty container Yes 152(i) TC1 28.3.4.2.2.3 [locale.ctype.virtuals] Typo in scan_is()
semantics Yes 153(i) CD1 28.3.4.2.4.3 [facet.ctype.char.members] Typo in narrow()
semantics Yes 207 154(i) TC1 28.3.4.3.2.3 [facet.num.get.virtuals] Missing double
specifier for do_get()
Yes 155(i) TC1 31.4 [iostream.objects] Typo in naming the class defining the class Init
Yes 156(i) TC1 31.5.2.4 [ios.base.locales] Typo in imbue()
description Yes 157(i) Dup 31.5.2.6 [ios.base.storage] Meaningless error handling for pword()
and iword()
Yes 41 158(i) TC1 31.6.3.5.2 [streambuf.virt.buffer] Underspecified semantics for setbuf()
Yes 159(i) TC1 31.6.3.5.3 [streambuf.virt.get] Strange use of underflow()
Yes 160(i) TC1 31.7.5.2 [istream] Typo: Use of non-existing function exception()
Yes 161(i) TC1 31.7.5.3.2 [istream.formatted.arithmetic] Typo: istream_iterator
vs. istreambuf_iterator
Yes 162(i) Dup 31.7.5.3.3 [istream.extractors] Really "formatted input functions"? Yes 60 163(i) Dup 31.7.5.4 [istream.unformatted] Return of gcount()
after a call to gcount
Yes 60 164(i) TC1 28.3.4.6.4.3 [locale.time.put.virtuals] do_put() has apparently unused fill argument Yes 165(i) CD1 31.7.6.2 [ostream] xsputn()
, pubsync()
never called by basic_ostream
members? Yes 166(i) Dup 31.7.6.3.3 [ostream.inserters] Really "formatted output functions"? Yes 60 167(i) CD1 31.7.6.3.4 [ostream.inserters.character] Improper use of traits_type::length()
Yes 168(i) TC1 31.7.6.4 [ostream.unformatted] Typo: formatted vs. unformatted Yes 169(i) TC1 31.8.2.5 [stringbuf.virtuals] Bad efficiency of overflow()
mandated Yes 170(i) TC1 31.8.5 [stringstream] Inconsistent definition of traits_type
Yes 171(i) CD1 31.10.3.5 [filebuf.virtuals] Strange seekpos()
semantics due to joint position Yes 172(i) TC1 31.7.5.4 [istream.unformatted] Inconsistent types for basic_istream::ignore()
Yes 173(i) TC1 31.10.3.5 [filebuf.virtuals] Inconsistent types for basic_filebuf::setbuf()
Yes 174(i) TC1 99 [depr.ios.members] Typo: OFF_T
vs. POS_T
Yes 175(i) TC1 99 [depr.ios.members] Ambiguity for basic_streambuf::pubseekpos()
and a few other functions. Yes 176(i) TC1 99 [depr.ios.members] exceptions()
in ios_base
...? Yes 177(i) NAD 29.4.6 [complex.ops] Complex operators cannot be explicitly instantiated Yes 178(i) NAD 31.4.3 [narrow.stream.objects] Should clog and cerr initially be tied to cout? Yes 179(i) CD1 23.2 [container.requirements] Comparison of const_iterators to iterators doesn't work Yes 180(i) CD1 27.4.3 [basic.string] Container member iterator arguments constness has unintended consequences Yes 181(i) TC1 22.3 [pairs] make_pair() unintended behavior Yes 182(i) CD1 16 [library] Ambiguous references to size_t Yes 183(i) CD1 31.7.7 [std.manip] I/O stream manipulators don't work for wide character streams Yes 184(i) CD1 17.3.5.3 [numeric.special] numeric_limits<bool> wording problems Yes 185(i) CD1 22.10 [function.objects] Questionable use of term "inline" Yes 186(i) CD1 22.9.2.3 [bitset.members] bitset::set() second parameter should be bool Yes 187(i) CD1 26.7.3 [alg.swap] iter_swap underspecified Yes 188(i) NAD 29.6.2.7 [valarray.cassign] valarray helpers missing augmented assignment operators Yes 189(i) TC1 31.5.2.3 [fmtflags.state] setprecision() not specified correctly Yes 190(i) NAD 26.8.9 [alg.min.max] min() and max() functions should be std::binary_functions Yes 191(i) NAD 26.8.4 [alg.binary.search] Unclear complexity for algorithms such as binary search Yes 192(i) NAD 23.2.7 [associative.reqmts] a.insert(p,t) is inefficient and overconstrained Yes 233 193(i) TC1 26.8.8 [alg.heap.operations] Heap operations description incorrect Yes 216 194(i) NAD 31.5.4 [ios] rdbuf() functions poorly specified Yes 195(i) TC1 31.7.5.2.4 [istream.sentry] Should basic_istream::sentry
's constructor ever set eofbit? Yes 196(i) Dup 17.6.3.4 [new.delete.placement] Placement new example has alignment problems Yes 114 197(i) NAD 16.4.4.6 [allocator.requirements] max_size() underspecified Yes 198(i) CD1 24.3.4 [iterator.concepts] Validity of pointers and references unspecified after iterator destruction Yes 199(i) TC1 16.4.4.6 [allocator.requirements] What does allocate(0)
return? Yes 200(i) CD1 24.3.5.5 [forward.iterators] Forward iterator requirements don't allow constant iterators Yes 201(i) CD1 17.3 [support.limits] Numeric limits terminology wrong Yes 202(i) CD1 26.7.9 [alg.unique] unique() effects unclear when predicate not an equivalence relation Yes 203(i) NAD 31.7.5.2.4 [istream.sentry] basic_istream::sentry::sentry() is uninstantiable with ctype<user-defined type> Yes 204(i) NAD 24.4.3 [iterator.operations] distance(first, last) when "last" is before "first" Yes 205(i) NAD 17.3.5.2 [numeric.limits.members] numeric_limits unclear on how to determine floating point types Yes 206(i) CD1 17.6.3.2 [new.delete.single] operator new(size_t, nothrow) may become unlinked to ordinary operator new if ordinary version replaced Yes 207(i) Dup 28.3.4.2.4.3 [facet.ctype.char.members] ctype<char> members return clause incomplete Yes 153 208(i) TC1 24.3.4 [iterator.concepts] Unnecessary restriction on past-the-end iterators Yes 209(i) TC1 27.4.3 [basic.string] basic_string declarations inconsistent Yes 210(i) TC1 26 [algorithms] distance first and last confused Yes 211(i) TC1 27.4.4.4 [string.io] operator>>(istream&, string&) doesn't set failbit Yes 212(i) TC1 26.8.9 [alg.min.max] Empty range behavior unclear for several algorithms Yes 213(i) NAD 29.7 [c.math] Math function overloads ambiguous Yes 214(i) CD1 23.4.6 [set] set::find() missing const overload Yes 450 215(i) NAD 23.2.7 [associative.reqmts] Can a map's key_type be const? Yes 216(i) Dup 31.7.7 [std.manip] setbase manipulator description flawed Yes 193 217(i) TC1 99 [facets.examples] Facets example (Classifying Japanese characters) contains errors Yes 218(i) NAD 26.8 [alg.sorting] Algorithms do not use binary predicate objects for default comparisons Yes 219(i) NAD 26.6.6 [alg.find] find
algorithm missing version that takes a binary predicate argument Yes 220(i) TC1 31.5.2.8 [ios.base.cons] ~ios_base() usage valid? Yes 221(i) CD1 28.3.4.3.2.3 [facet.num.get.virtuals] num_get<>::do_get stage 2 processing broken Yes 222(i) TC1 16.3.2.4 [structure.specifications] Are throw clauses necessary if a throw is already implied by the effects clause? Yes 223(i) TC1 26.7.10 [alg.reverse] reverse algorithm should use iter_swap rather than swap Yes 224(i) TC1 23.2.7 [associative.reqmts] clear() complexity for associative containers refers to undefined N Yes 225(i) CD1 16.4.6.4 [global.functions] std:: algorithms use of other unqualified algorithms Yes 226(i) CD1 16.4.5.3 [reserved.names] User supplied specializations or overloads of namespace std function templates Yes 227(i) TC1 26.7.3 [alg.swap] std::swap() should require CopyConstructible or DefaultConstructible arguments Yes 228(i) CD1 28.3.4 [locale.categories] Incorrect specification of "..._byname" facets Yes 229(i) CD1 16.4.2.2 [contents] Unqualified references of other library entities Yes 230(i) CD1 16 [library] Assignable specified without also specifying CopyConstructible Yes 231(i) CD1 28.3.4.3.3.3 [facet.num.put.virtuals] Precision in iostream? Yes 232(i) CD1 16.4.5.3 [reserved.names] "depends" poorly defined in 17.4.3.1 Yes 233(i) CD1 23.2.7 [associative.reqmts] Insertion hints in associative containers Yes 192, 246 234(i) CD1 20.2.10.2 [allocator.members] Typos in allocator definition Yes 235(i) CD1 24.5.1.2 [reverse.iterator] No specification of default ctor for reverse_iterator Yes 236(i) Dup 28.3.4.2.4.3 [facet.ctype.char.members] ctype<char>::is() member modifies facet Yes 28 237(i) CD1 23.3.5.2 [deque.cons] Undefined expression in complexity specification Yes 238(i) CD1 31.8.2.2 [stringbuf.cons] Contradictory results of stringbuf initialization. Yes 239(i) CD1 26.7.9 [alg.unique] Complexity of unique() and/or unique_copy incorrect Yes 240(i) CD1 26.6.10 [alg.adjacent.find] Complexity of adjacent_find() is meaningless Yes 241(i) CD1 26.7.9 [alg.unique] Does unique_copy() require CopyConstructible and Assignable? Yes 242(i) CD1 26.7.4 [alg.transform] Side effects of function objects Yes 243(i) CD1 31.7.5.4 [istream.unformatted] get
and getline
when sentry reports failure Yes 244(i) NAD 26.6.6 [alg.find] Must find
's third argument be CopyConstructible? Yes 245(i) NAD 24.6.2 [istream.iterator] Which operations on istream_iterator
trigger input operations? Yes 246(i) Dup 23.2.7 [associative.reqmts] a.insert(p,t)
is incorrectly specified Yes 233 247(i) CD1 23.3.13.5 [vector.modifiers] vector
, deque::insert
complexity Yes 248(i) CD1 28.3.4.6 [category.time] time_get fails to set eofbit Yes 249(i) NAD 99 [auto.ptr] Return Type of auto_ptr::operator=
Yes 250(i) CD1 23.3.11.5 [list.ops] splicing invalidates iterators Yes 251(i) CD1 31.8.2 [stringbuf] basic_stringbuf missing allocator_type Yes 252(i) CD1 31.8 [string.streams] missing casts/C-style casts used in iostreams Yes 253(i) CD1 29.6.2.2 [valarray.cons] valarray helper functions are almost entirely useless Yes 254(i) CD1 19.2 [std.exceptions] Exception types in clause 19 are constructed from std::string
Yes 255(i) NAD 31.6.3 [streambuf] Why do basic_streambuf<>::pbump()
and gbump()
take an int? Yes 256(i) CD1 31.5.4.3 [basic.ios.members] typo in 27.4.4.2, p17: copy_event does not exist Yes 257(i) NAD 99 [depr.base] STL functional object and iterator inheritance. Yes 258(i) CD1 16.4.4.6 [allocator.requirements] Missing allocator requirement Yes 259(i) CD1 27.4.3.5 [string.capacity] basic_string::operator[]
and const correctness Yes 260(i) CD1 24.6.2.3 [istream.iterator.ops] Inconsistent return type of istream_iterator::operator++(int)
Yes 261(i) CD1 24.6.2.3 [istream.iterator.ops] Missing description of istream_iterator::operator!=
Yes 262(i) CD1 16.3.3.3.3 [bitmask.types] Bitmask operator ~ specified incorrectly Yes 263(i) CD1 27.4.3 [basic.string] Severe restriction on basic_string
reference counting Yes 264(i) CD1 23.2.7 [associative.reqmts] Associative container insert(i, j)
complexity requirements are not feasible. Yes 102 265(i) CD1 22.3 [pairs] std::pair::pair() effects overly restrictive Yes 266(i) CD1 17.9.4 [bad.exception] bad_exception::~bad_exception() missing Effects clause Yes 267(i) NAD 99 [depr.strstreambuf.virtuals] interaction of strstreambuf::overflow() and seekoff() Yes 268(i) CD1 28.3.3.1 [locale] Typo in locale synopsis Yes 269(i) NAD 17.9 [support.exception] cstdarg and unnamed parameters Yes 270(i) CD1 26.8.4 [alg.binary.search] Binary search requirements overly strict Yes 472 271(i) CD1 31.7.5.7 [iostreamclass] basic_iostream missing typedefs Yes 272(i) CD1 31.5.4.4 [iostate.flags] Missing parentheses around subexpression Yes 569 273(i) CD1 31 [input.output] Missing ios_base qualification on members of a dependent class Yes 274(i) CD1 16.4.4.6 [allocator.requirements] a missing/impossible allocator requirement Yes 275(i) CD1 28.3.4.3.2.2 [facet.num.get.members] Wrong type in num_get::get() overloads Yes 276(i) CD1 23.2 [container.requirements] Assignable requirement for container value type overly strict Yes 277(i) NAD 16.4.4.6 [allocator.requirements] Normative encouragement in allocator requirements unclear Yes 278(i) CD1 23.3.11.5 [list.ops] What does iterator validity mean? Yes 279(i) NAD 23.2 [container.requirements] const and non-const iterators should have equivalent typedefs Yes 280(i) CD1 24.5.1 [reverse.iterators] Comparison of reverse_iterator to const reverse_iterator Yes 281(i) CD1 26.8.9 [alg.min.max] std::min() and max() requirements overly restrictive Yes 486 282(i) CD1 28.3.4.3.3.3 [facet.num.put.virtuals] What types does numpunct grouping refer to? Yes 283(i) CD1 26.7.5 [alg.replace] std::replace() requirement incorrect/insufficient Yes 483 284(i) CD1 22.10.8 [comparisons] unportable example in 20.3.7, p6 Yes 285(i) CD1 31.10.4.2 [ifstream.cons] minor editorial errors in fstream ctors Yes 286(i) CD1 26.13 [alg.c.library] <cstdlib> requirements missing size_t typedef Yes 287(i) NAD 31.5.2.3 [fmtflags.state] conflicting ios_base fmtflags Yes 288(i) CD1 19.4 [errno] <cerrno> requirements missing macro EILSEQ Yes 289(i) NAD 29.7 [c.math] <cmath> requirements missing C float and long double versions Yes 290(i) NAD 26.6.5 [alg.foreach] Requirements to for_each and its function object Yes 291(i) CD1 26.8.7 [alg.set.operations] Underspecification of set algorithms Yes 292(i) CD1 31.5.4.3 [basic.ios.members] effects of a.copyfmt (a) Yes 293(i) NAD 26.7.4 [alg.transform] Order of execution in transform algorithm Yes 294(i) CD1 16.4.5.3.3 [macro.names] User defined macros and standard headers Yes 295(i) CD1 29.7 [c.math] Is abs defined in <cmath>? Yes 296(i) C++11 22.3 [pairs] Missing descriptions and requirements of pair operators Yes 297(i) CD1 22.10.10 [logical.operations] const_mem_fun_t<>::argument_type should be const T* Yes 298(i) CD1 17.6.3.3 [new.delete.array] ::operator delete[] requirement incorrect/insufficient Yes 299(i) NAD Editorial 24.3.5.6 [bidirectional.iterators] Incorrect return types for iterator dereference Yes 300(i) CD1 23.3.11.5 [list.ops] list::merge() specification incomplete Yes 301(i) CD1 27.4.3.2 [string.require] basic_string template ctor effects clause omits allocator argument Yes 302(i) NAD 28.3.4.2.6 [locale.codecvt.byname] Need error indication from codecvt<>::do_length Yes 303(i) CD1 22.9.4 [bitset.operators] Bitset input operator underspecified Yes 304(i) NAD 24.3.4 [iterator.concepts] Must *a
return an lvalue when a
is an input iterator? Yes 305(i) CD1 28.3.4.2.6 [locale.codecvt.byname] Default behavior of codecvt<wchar_t, char, mbstate_t>::length() Yes 306(i) CD1 17.2 [support.types] offsetof macro and non-POD types Yes 307(i) CD1 23.3.11 [list] Lack of reference typedefs in container adaptors Yes 308(i) CD1 31 [input.output] Table 82 mentions unrelated headers Yes 309(i) NAD 31.7 [iostream.format] Does sentry catch exceptions? Yes 310(i) CD1 16.4.2.3 [headers] Is errno a macro? Yes 311(i) CD1 31.7.6.2 [ostream] Incorrect wording in basic_ostream class synopsis Yes 312(i) CD1 22 [utilities] Table 27 is missing headers Yes 313(i) NAD 17.9.5.4 [terminate] set_terminate and set_unexpected question Yes 314(i) NAD 17.9.5.4 [terminate] Is the stack unwound when terminate() is called? Yes 315(i) CD1 23.3.11.5 [list.ops] Bad "range" in list::unique complexity Yes 316(i) CD1 23.2.7 [associative.reqmts] Vague text in Table 69 Yes 317(i) CD1 28.3 [localization] Instantiation vs. specialization of facets Yes 318(i) CD1 28.3.4.4.2 [locale.numpunct.byname] Misleading comment in definition of numpunct_byname Yes 319(i) CD1 17.6.3.2 [new.delete.single] Storage allocation wording confuses "Required behavior", "Requires" Yes 320(i) CD1 23.3.11.2 [list.cons] list::assign overspecified Yes 321(i) CD1 28.3.4.3.2.3 [facet.num.get.virtuals] Typo in num_get Yes 322(i) CD1 23.2 [container.requirements] iterator and const_iterator should have the same value type Yes 323(i) NAD 29.7 [c.math] abs()
overloads in different headers Yes 324(i) CD1 24.3.5.4 [output.iterators] Do output iterators have value types? Yes 325(i) CD1 28.3.4.7.4.3 [locale.moneypunct.virtuals] Misleading text in moneypunct<>::do_grouping Yes 326(i) NAD 28.3.4.7.5 [locale.moneypunct.byname] Missing typedef in moneypunct_byname Yes 327(i) CD1 28.3.3.1.2.1 [locale.category] Typo in time_get facet in table 52 Yes 447 328(i) CD1 28.3.4.7.3.3 [locale.money.put.virtuals] Bad sprintf format modifier in money_put<>::do_put() Yes 329(i) CD1 23.3.13.3 [vector.capacity] vector capacity, reserve and reallocation Yes 330(i) NAD 28.3.3.1 [locale] Misleading "exposition only" value in class locale definition Yes 331(i) CD1 31.5.2.2.1 [ios.failure] bad declaration of destructor for ios_base::failure Yes 332(i) NAD 31.5.3 [fpos] Consider adding increment and decrement operators to std::fpos< T > Yes 333(i) CD1 31.7.6.5 [ostream.manip] does endl imply synchronization with the device? Yes 334(i) CD1 23.4.3.3 [map.access] map::operator[] specification forces inefficient implementation Yes 335(i) CD1 27.2.2 [char.traits.require] minor issue with char_traits, table 37 Yes 336(i) CD1 16 [library] Clause 17 lack of references to deprecated headers Yes 337(i) CD1 26.7.5 [alg.replace] replace_copy_if's template parameter should be InputIterator Yes 338(i) CD1 28.3.4 [locale.categories] is whitespace allowed between `-' and a digit? Yes 339(i) CD1 28.3.4.2 [category.ctype] definition of bitmask type restricted to clause 27 Yes 340(i) CD1 28.3.3.1.2.1 [locale.category] interpretation of has_facet<Facet>(loc)
Yes 341(i) CD1 23.3.13.3 [vector.capacity] Vector reallocation and swap Yes 342(i) NAD 31.7.5.4 [istream.unformatted] seek and eofbit Yes 343(i) Resolved 16 [library] Unspecified library header dependencies Yes 344(i) NAD 28.3.4.3 [category.numeric] grouping + showbase Yes 345(i) CD1 27.5 [c.strings] type tm in <cwchar> Yes 346(i) CD1 24.3.4 [iterator.concepts] Some iterator member functions should be const Yes 347(i) CD1 28.3.3.1.2.1 [locale.category] locale::category and bitmask requirements Yes 348(i) Dup 22.3 [pairs] Minor issue with std::pair operator< Yes 532 349(i) CD1 24.6.3 [ostream.iterator] Minor typographical error in ostream_iterator Yes 350(i) Dup 20.2.10.2 [allocator.members] allocator<>::address Yes 634 351(i) NAD Editorial 22.10 [function.objects] unary_negate and binary_negate: struct or class? Yes 352(i) CD1 27.2.3 [char.traits.typedefs] missing fpos requirements Yes 353(i) Resolved 22.3 [pairs] std::pair
missing template assignment Yes 354(i) CD1 23.2.7 [associative.reqmts] Associative container lower/upper bound requirements Yes 355(i) CD1 23.2.4 [sequence.reqmts] Operational semantics for a.back() Yes 356(i) NAD 28.3.4.2 [category.ctype] Meaning of ctype_base::mask enumerators Yes 357(i) NAD Editorial 29.7 [c.math] <cmath> float functions cannot return HUGE_VAL Yes 358(i) CD1 28.3.4.3.2.3 [facet.num.get.virtuals] interpreting thousands_sep
after a decimal_point
Yes 359(i) CD1 28.3.4.3.3.2 [facet.num.put.members] num_put<>::do_put (..., bool) undocumented Yes 360(i) CD1 28.3.3.1 [locale] locale mandates inefficient implementation Yes 361(i) NAD 28.3.4.3.3.3 [facet.num.put.virtuals] num_get<>::do_get (..., void*&) checks grouping Yes 362(i) CD1 99 [depr.lib.binders] bind1st/bind2nd type safety Yes 363(i) CD1 31.5.2.2.1 [ios.failure] Missing exception specification in 27.4.2.1.1 Yes 364(i) CD1 31.6.3.5.2 [streambuf.virt.buffer] Inconsistent wording in 27.5.2.4.2 Yes 365(i) CD1 31 [input.output] Lack of const-qualification in clause 27 Yes 366(i) NAD 31 [input.output] Excessive const-qualification Yes 367(i) NAD 26.7.8 [alg.remove] remove_copy/remove_copy_if and Input Iterators Yes 368(i) NAD Editorial 27.4.3.7.6 [string.replace] basic_string::replace has two "Throws" paragraphs Yes 369(i) CD1 31.4 [iostream.objects] io stream objects and static ctors Yes 370(i) CD1 31.7.5.4 [istream.unformatted] Minor error in basic_istream::get Yes 371(i) CD1 23.2 [container.requirements] Stability of multiset and multimap member functions Yes 372(i) NAD 16.4.6.14 [res.on.exception.handling] Inconsistent description of stdlib exceptions Yes 373(i) CD1 31.7.5.3.1 [istream.formatted.reqmts] Are basic_istream and basic_ostream to use (exceptions()&badbit) != 0 ? Yes 374(i) NAD 28.3.4.7.4.2 [locale.moneypunct.members] moneypunct::frac_digits returns int not unsigned Yes 375(i) CD1 31.8.2.5 [stringbuf.virtuals] basic_ios should be ios_base in 27.7.1.3 Yes 376(i) CD1 31.8.2.5 [stringbuf.virtuals] basic_streambuf semantics Yes 377(i) NAD 27.4.3.7.4 [string.insert] basic_string::insert and length_error Yes 378(i) Dup 28.3.3.1 [locale] locale immutability and locale::operator=() Yes 31 379(i) CD1 28.3.4.2.2.3 [locale.ctype.virtuals] nonsensical ctype::do_widen() requirement Yes 380(i) CD1 28.3.4.2.6 [locale.codecvt.byname] typos in codecvt tables 53 and 54 Yes 381(i) CD1 28.3.4.2.6 [locale.codecvt.byname] detection of invalid mbstate_t in codecvt Yes 382(i) NAD 28.3.4.2.5 [locale.codecvt] codecvt do_in/out result Yes 383(i) CD1 24.3.5.6 [bidirectional.iterators] Bidirectional iterator assertion typo Yes 384(i) CD1 26.8.4.4 [equal.range] equal_range has unimplementable runtime complexity Yes 385(i) NAD 16 [library] Does call by value imply the CopyConstructible requirement? Yes 386(i) CD1 24.5.1.6 [reverse.iter.elem] Reverse iterator's operator[] has impossible return type Yes 387(i) CD1 29.4 [complex.numbers] std::complex
over-encapsulated Yes 388(i) NAD 29.4 [complex.numbers] Use of complex
as a key in associative containers Yes 389(i) CD1 29.6.2.4 [valarray.access] Const overload of valarray::operator[] returns by value Yes 77 390(i) NAD Editorial 16.4.4.2 [utility.arg.requirements] CopyConstructible requirements too strict Yes 391(i) CD1 28.3.3.3.2 [conversions.character] non-member functions specified as const Yes 392(i) NAD 24.3.5.3 [input.iterators] 'equivalence' for input iterators Yes 393(i) NAD Editorial 28.3.4.2.5.3 [locale.codecvt.virtuals] do_in/do_out operation on state unclear Yes 394(i) NAD 31.7.6.3.1 [ostream.formatted.reqmts] behavior of formatted output on failure Yes 395(i) CD1 29.7 [c.math] inconsistencies in the definitions of rand() and random_shuffle() Yes 396(i) CD1 22.9.2.2 [bitset.cons] what are characters zero and one Yes 397(i) NAD Editorial 31.7.6.2.4 [ostream.sentry] ostream::sentry
dtor throws exceptions Yes 398(i) NAD 31.7.6.2.4 [ostream.sentry] effects of end-of-file on unformatted input functions Yes 399(i) NAD 31.7.5.4 [istream.unformatted] volations of unformatted input function requirements Yes 400(i) CD1 20.2.10.2 [allocator.members] redundant type cast in lib.allocator.members Yes 401(i) CD1 16.4.4.6 [allocator.requirements] incorrect type casts in table 32 in lib.allocator.requirements Yes 402(i) CD1 16.4.4.6 [allocator.requirements] wrong new expression in [some_]allocator::construct Yes 403(i) CD1 27.4.3.7.8 [string.swap] basic_string::swap should not throw exceptions Yes 404(i) CD1 16.4.5.6 [replacement.functions] May a replacement allocation function be declared inline? Yes 405(i) CD1 26.13 [alg.c.library] qsort and POD Yes 406(i) CD1 23.3.13.5 [vector.modifiers] vector::insert(s) exception safety Yes 407(i) CD1 24.3.4 [iterator.concepts] Can singular iterators be destroyed? Yes 408(i) NAD Editorial 24.3 [iterator.requirements] Is vector<reverse_iterator<char*> >
forbidden? Yes 409(i) CD1 31.10.4.4 [ifstream.members] Closing an fstream should clear error state Yes 410(i) CD1 23.3.11.2 [list.cons] Missing semantics for stack and queue comparison operators Yes 411(i) CD1 26.8.7 [alg.set.operations] Wrong names of set member functions Yes 412(i) CD1 31.5.4.4 [iostate.flags] Typo in 27.4.4.3 Yes 429 413(i) CD1 31.7.5.3.3 [istream.extractors] Proposed resolution to LDR#64 still wrong Yes 414(i) CD1 23.3.13.5 [vector.modifiers] Which iterators are invalidated by v.erase()? Yes 415(i) CD1 31.7.5.5 [istream.manip] behavior of std::ws Yes 416(i) CD1 17.3.6 [climits.syn] definitions of XXX_MIN and XXX_MAX macros in climits Yes 417(i) NAD 28.3.4.2.2.3 [locale.ctype.virtuals] what does ctype::do_widen()
return on failure Yes 418(i) NAD 31.5.2.2.6 [ios.init] exceptions thrown during iostream cleanup Yes 419(i) C++11 31.7.5.2.4 [istream.sentry] istream extractors not setting failbit
if eofbit
is already set Yes 420(i) CD1 31.10 [file.streams] is std::FILE a complete type? Yes 421(i) NAD 31.6.3.2 [streambuf.cons] is basic_streambuf
copy-constructible? Yes 422(i) CD1 16.4.5.3 [reserved.names] explicit specializations of member functions of class templates Yes 423(i) Open 31 [input.output] Effects of negative streamsize
in iostreams Yes 3 424(i) NAD Editorial 16.3.2.2 [structure.summary] normative notes Yes 425(i) CD1 99 [depr.temporary.buffer] return value of std::get_temporary_buffer Yes 426(i) CD1 26.6.15 [alg.search] search_n(), fill_n(), and generate_n() with negative n Yes 427(i) C++11 28.3.4.3.2.3 [facet.num.get.virtuals] Stage 2 and rationale of DR 221 Yes 428(i) CD1 27.4.3.7.5 [string.erase] string::erase(iterator) validity Yes 429(i) Dup 31.5.4.4 [iostate.flags] typo in basic_ios::clear(iostate) Yes 412 430(i) C++11 29.6.2.5 [valarray.sub] valarray
subset operations Yes 431(i) Resolved 16.4.4.6 [allocator.requirements] Swapping containers with unequal allocators Yes 432(i) CD1 31.8.2.5 [stringbuf.virtuals] stringbuf::overflow() makes only one write position available Yes 433(i) NAD 99 [unexpected] Contradiction in specification of unexpected() Yes 434(i) CD1 22.9.2.3 [bitset.members] bitset::to_string() hard to use Yes 435(i) CD1 27.4.4.4 [string.io] bug in DR 25 Yes 436(i) CD1 28.3.3.1.2.2 [locale.facet] are cv-qualified facet types valid facets? Yes 437(i) NAD 31.7.6.3.2 [ostream.inserters.arithmetic] Formatted output of function pointers is confusing Yes 438(i) CD1 23.2.4 [sequence.reqmts] Ambiguity in the "do the right thing" clause Yes 439(i) NAD 28.3.4 [locale.categories] Should facets be copyable? Yes 440(i) NAD 29.4.8 [complex.transcendentals] Should std::complex use unqualified transcendentals? Yes 441(i) CD1 31.5.3 [fpos] Is fpos::state const? Yes 442(i) CD1 31.7.6.2.4 [ostream.sentry] sentry::operator bool() inconsistent signature Yes 443(i) CD1 31.10.3.4 [filebuf.members] filebuf::close() inconsistent use of EOF Yes 444(i) CD1 31.10 [file.streams] Bad use of casts in fstream Yes 445(i) CD1 24.3.2.3 [iterator.traits] iterator_traits::reference unspecified for some iterator categories Yes 446(i) NAD Editorial 24.3 [iterator.requirements] Iterator equality between different containers Yes 447(i) Dup 28.3.3.1.2.1 [locale.category] Wrong template argument for time facets Yes 327 448(i) CD1 24.3.5.7 [random.access.iterators] Random Access Iterators over abstract classes Yes 449(i) CD1 17.2 [support.types] Library Issue 306 Goes Too Far Yes 450(i) Dup 23.4.6 [set] set::find is inconsistent with associative container requirements Yes 214 451(i) Dup 23.2.7 [associative.reqmts] Associative erase should return an iterator Yes 130 452(i) NAD 28.3.3.1.4 [locale.members] locale::combine should be permitted to generate a named locale Yes 453(i) CD1 31.8.2.5 [stringbuf.virtuals] basic_stringbuf::seekoff need not always fail for an empty stream Yes 454(i) NAD 31.10.3.4 [filebuf.members] basic_filebuf::open
should accept wchar_t
names Yes 105 455(i) CD1 31.4 [iostream.objects] cerr::tie() and wcerr::tie() are overspecified Yes 456(i) CD1 16.4.2.3 [headers] Traditional C header files are overspecified Yes 457(i) CD1 22.9.2.2 [bitset.cons] bitset constructor: incorrect number of initialized bits Yes 458(i) NAD 24.3.5.7 [random.access.iterators] 24.1.5 contains unintended limitation for operator-
Yes 459(i) NAD 28.3.4.3.2.3 [facet.num.get.virtuals] Requirement for widening in stage 2 is overspecification Yes 460(i) CD1 31.10 [file.streams] Default modes missing from basic_fstream member specifications Yes 461(i) CD1 28.3.4.6.2.3 [locale.time.get.virtuals] time_get hard or impossible to implement Yes 462(i) NAD 6.10.3.4 [basic.start.term] Destroying objects with static storage duration Yes 463(i) NAD 99 [auto.ptr] auto_ptr
usability issues Yes 464(i) CD1 23.3.13 [vector] Suggestion for new member functions in standard containers Yes 465(i) CD1 16.4.2.3 [headers] Contents of <ciso646> Yes 466(i) NAD 27.4.3.2 [string.require] basic_string
ctor should prevent null pointer error Yes 467(i) CD1 27.2.4.2 [char.traits.specializations.char] char_traits::lt(), compare(), and memcmp() Yes 468(i) CD1 31.5.4.4 [iostate.flags] unexpected consequences of ios_base::operator void*() Yes 469(i) CD1 23.3.13 [vector] vector<bool> ill-formed relational operators Yes 470(i) NAD 23 [containers] accessing containers from their elements' special functions Yes 471(i) C++11 17.9.3 [exception] result of what()
implementation-defined Yes 472(i) Dup 26.8.4.4 [equal.range] Missing "Returns" clause in std::equal_range Yes 270 473(i) C++11 28.3.4.2.2 [locale.ctype] underspecified ctype
calls Yes 474(i) CD1 31.7.6.3.4 [ostream.inserters.character] confusing Footnote 297 Yes 475(i) CD1 26.6.5 [alg.foreach] May the function object passed to for_each modify the elements of the iterated sequence? Yes 476(i) NAD 24.3.5.5 [forward.iterators] Forward Iterator implied mutability Yes 477(i) Dup 24.3.5.5 [forward.iterators] Operator-> for const forward iterators Yes 478 478(i) CD1 24.3.5.5 [forward.iterators] Should forward iterator requirements table have a line for r->m? Yes 477 479(i) Dup 23.2 [container.requirements] Container requirements and placement new Yes 580 480(i) NAD 99 [depr.base] unary_function and binary_function should have protected nonvirtual destructors Yes 481(i) NAD 26.7.9 [alg.unique] unique's effects on the range [result, last) Yes 482(i) Resolved 22.3 [pairs] Swapping pairs Yes 483(i) Dup 26.6 [alg.nonmodifying] Heterogeneous equality and EqualityComparable Yes 283 484(i) Open 24.3.5.3 [input.iterators] Convertible to T
No 3 485(i) Resolved 24.3.5.4 [output.iterators] output iterator insufficiently constrained Yes 486(i) Dup 26.8.9 [alg.min.max] min/max CopyConstructible requirement is too strict Yes 281 487(i) NAD 16.4.4.6 [allocator.requirements] Allocator::construct is too limiting Yes 488(i) CD1 26.7.11 [alg.rotate] rotate throws away useful information Yes 489(i) NAD 26.7.8 [alg.remove] std::remove / std::remove_if wrongly specified Yes 490(i) NAD 26.7.9 [alg.unique] std::unique wrongly specified Yes 491(i) NAD 23.3.11.5 [list.ops] std::list<>::unique incorrectly specified Yes 492(i) NAD 16.3.2.4 [structure.specifications] Invalid iterator arithmetic expressions Yes 493(i) NAD 24.3.5.3 [input.iterators] Undefined Expression in Input Iterator Note Title Yes 494(i) NAD 23.2.7 [associative.reqmts] Wrong runtime complexity for associative container's insert and delete Yes 495(i) CD1 28.3 [localization] Clause 22 template parameter requirements Yes 496(i) CD1 23.3.13 [vector] Illegal use of "T" in vector<bool> Yes 497(i) CD1 17.3.5.2 [numeric.limits.members] meaning of numeric_limits::traps for floating point types Yes 498(i) C++11 26.8.5 [alg.partitions] Requirements for partition() and stable_partition() too strong Yes 499(i) NAD Editorial 26.8.2.2 [stable.sort] Std. doesn't seem to require stable_sort() to be stable! Yes 500(i) NAD 28.3.4.2.6 [locale.codecvt.byname] do_length cannot be implemented correctly Yes 501(i) NAD 99 [depr.base] Proposal: strengthen guarantees of lib.comparisons Yes 502(i) NAD 28.3.3.1.2.1 [locale.category] Proposition: Clarification of the interaction between a facet and an iterator Yes 503(i) NAD 28.3.4 [locale.categories] more on locales Yes 504(i) NAD Editorial 29.5.3 [rand.req] Integer types in pseudo-random number engine requirements Yes 505(i) CD1 29.5.3 [rand.req] Result_type in random distribution requirements Yes 506(i) NAD 29.5 [rand] Requirements of Distribution parameter for variate_generator Yes 507(i) CD1 29.5 [rand] Missing requirement for variate_generator::operator() Yes 508(i) CD1 29.5.6 [rand.predef] Bad parameters for ranlux64_base_01 Yes 509(i) NAD 29.5.9.2 [rand.dist.uni] Uniform_int template parameters Yes 510(i) NAD 29.5.9.3 [rand.dist.bern] Input_type for bernoulli_distribution Yes 511(i) NAD 29.5.9 [rand.dist] Input_type for binomial_distribution Yes 512(i) NAD Editorial 29.5.4 [rand.eng] Seeding subtract_with_carry_01
from a single unsigned long Yes 513(i) NAD Editorial 29.5.4 [rand.eng] Size of state for subtract_with_carry_01 Yes 514(i) NAD Editorial 29.5.4.4 [rand.eng.sub] Size of state for subtract_with_carry Yes 515(i) NAD 29.5.2 [rand.synopsis] Random number engine traits Yes 516(i) NAD Editorial 29.5.4 [rand.eng] Seeding subtract_with_carry_01 using a generator Yes 517(i) NAD 29.5.3 [rand.req] Should include name in external representation Yes 518(i) CD1 23.2.8 [unord.req] Are insert and erase stable for unordered_multiset and unordered_multimap? Yes 519(i) CD1 23.3.3 [array] Data() undocumented Yes 520(i) CD1 22.10.15 [func.bind] Result_of and pointers to data members Yes 521(i) CD1 22.10.6 [refwrap] Garbled requirements for argument_type in reference_wrapper Yes 522(i) CD1 22.4 [tuple] Tuple doesn't define swap Yes 523(i) Open 28.6 [re] regex case-insensitive character ranges are unimplementable as specified No 4 524(i) CD1 28.6 [re] regex named character classes and case-insensitivity don't mix Yes 525(i) Resolved 21.3.6 [meta.unary] type traits definitions not clear Yes 526(i) NAD 23.2.4 [sequence.reqmts] Is it undefined if a function in the standard changes in parameters? Yes 527(i) CD1 22.10.15.4 [func.bind.bind] tr1::bind
has lost its Throws clause Yes 528(i) NAD 23.5 [unord] const_iterator
iterator
issue when they are the same type Yes 529(i) NAD Editorial 99 [res.on.required] The standard encourages redundant and confusing preconditions Yes 530(i) CD1 27.4.3 [basic.string] Must elements of a string be contiguous? Yes 531(i) CD1 31.7.5.4 [istream.unformatted] array forms of unformatted input functions Yes 532(i) LEWG 22.4.9 [tuple.rel] Tuple comparison Yes 348 533(i) CD1 20.3.2.2.11 [util.smartptr.getdeleter] typo in 2.2.3.10/1 Yes 534(i) CD1 27.4.3 [basic.string] Missing basic_string members Yes 535(i) CD1 27.4.3.7.8 [string.swap] std::string::swap specification poorly worded Yes 536(i) Dup 23.2 [container.requirements] Container iterator constructor and explicit convertibility Yes 589 537(i) CD1 31.7.5.4 [istream.unformatted] Typos in the signatures in 27.6.1.3/42-43 and 27.6.2.4 Yes 538(i) CD1 26.7.9 [alg.unique] 241 again: Does unique_copy() require CopyConstructible and Assignable? Yes 539(i) C++11 26.10.7 [partial.sum] partial_sum
and adjacent_difference
should mention requirements Yes 540(i) CD1 20.3.2.2.6 [util.smartptr.shared.obs] shared_ptr<void>::operator*() Yes 541(i) CD1 20.3.2.2 [util.smartptr.shared] shared_ptr template assignment and void Yes 542(i) CD1 20.3.2.2.6 [util.smartptr.shared.obs] shared_ptr observers Yes 543(i) CD1 29.6.4 [class.slice] valarray slice default constructor Yes 544(i) NAD Editorial C.8 [diff.library] minor NULL problems in C.2 Yes 545(i) CD1 20.3.2.2.11 [util.smartptr.getdeleter] When is a deleter deleted? Yes 546(i) NAD 5.1.1 [tr1::tr.rand.req] [tr1] _Longlong and _ULonglong are integer types Yes 547(i) NAD 29.5 [rand] division should be floating-point, not integer Yes 548(i) NAD 29.5.7 [rand.device] May random_device block? Yes 549(i) NAD Editorial 29.5.9 [rand.dist] Undefined variable in binomial_distribution Yes 550(i) CD1 29.7 [c.math] What should the return type of pow(float,int)
be? Yes 551(i) CD1 17.15 [support.c.headers] <ccomplex> Yes 552(i) CD1 26.7.13 [alg.random.shuffle] random_shuffle and its generator Yes 553(i) NAD Editorial 17.4.1 [cstdint.syn] very minor editorial change intptr_t
/ uintptr_t
Yes 554(i) NAD 17.3.5.3 [numeric.special] Problem with lwg DR 184 numeric_limits<bool> Yes 555(i) NAD Editorial 8.21 [tr1::tr.c99.boolh] [tr1] 8.21/1: typo Yes 556(i) C++11 26.8 [alg.sorting] Is Compare
a BinaryPredicate
? Yes 557(i) NAD Editorial 17.4.1 [cstdint.syn] TR1: div(_Longlong, _Longlong) vs div(intmax_t, intmax_t) Yes 558(i) NAD Editorial 24.3.5.3 [input.iterators] lib.input.iterators Defect Yes 559(i) CD1 17.3.5 [numeric.limits] numeric_limits<const T> Yes 560(i) NAD 16.4.4.6 [allocator.requirements] User-defined allocators without default constructor Yes 561(i) CD1 24.5.2.4.3 [inserter] inserter overly generic Yes 562(i) CD1 31.8 [string.streams] stringbuf ctor inefficient Yes 563(i) CD1 31.8.2.5 [stringbuf.virtuals] stringbuf seeking from end Yes 564(i) C++11 31.8.2.5 [stringbuf.virtuals] stringbuf
seekpos underspecified Yes 565(i) C++11 31.6.3.5.5 [streambuf.virt.put] xsputn
inefficient Yes 566(i) CD1 31.7.5.4 [istream.unformatted] array forms of unformatted input function undefined for zero-element arrays Yes 567(i) CD1 31.7 [iostream.format] streambuf inserter and extractor should be unformatted Yes 568(i) NAD 8.16.4 [tr1::tr.c99.cmath.over] [tr1] log2
overloads missing Yes 569(i) Dup 31.5.4.4 [iostate.flags] Postcondition for basic_ios::clear(iostate) incorrectly stated Yes 272 570(i) NAD 27.2 [char.traits] Request adding additional explicit specializations of char_traits
Yes 571(i) NAD Editorial 2 [intro.refs] Update C90 references to C99? Yes 572(i) NAD 29.5 [rand] Oops, we gave 507 WP status Yes 573(i) NAD 31.5.3 [fpos] C++0x file positioning should handle modern file sizes Yes 574(i) CD1 31.4 [iostream.objects] DR 369 Contradicts Text Yes 575(i) CD1 20.3.2.2.3 [util.smartptr.shared.dest] the specification of ~shared_ptr is MT-unfriendly, makes implementation assumptions Yes 576(i) CD1 26.6.9 [alg.find.first.of] find_first_of is overconstrained Yes 577(i) CD1 26.8.4.3 [upper.bound] upper_bound(first, last, ...) cannot return last Yes 578(i) CD1 20.2.10.2 [allocator.members] purpose of hint to allocator::allocate() Yes 579(i) NAD 23.2.8 [unord.req] erase(iterator)
for unordered containers should not return an iterator Yes 580(i) NAD Editorial 23.2.2 [container.requirements.general] unused allocator members Yes 479 581(i) CD1 31.7.6.4 [ostream.unformatted] flush()
not unformatted function Yes 582(i) NAD 26.11.5 [uninitialized.copy] specialized algorithms and volatile storage Yes 583(i) NAD 29.7 [c.math] div()
for unsigned integral types Yes 584(i) NAD 29.7 [c.math] missing int pow(int,int)
functionality Yes 585(i) NAD 28.3.4 [locale.categories] facet error reporting Yes 586(i) CD1 27.4.4.4 [string.io] string inserter not a formatted function Yes 587(i) NAD Editorial 99 [depr.istrstream.cons] iststream ctor missing description Yes 588(i) NAD 23.3.3 [array] requirements on zero sized tr1::arrays
and other details Yes 589(i) CD1 23.2 [container.requirements] Requirements on iterators of member template functions of containers Yes 536 590(i) NAD Editorial 21 [meta] Type traits implementation latitude should be removed for C++0x Yes 591(i) NAD Editorial 17.3.5.2 [numeric.limits.members] Misleading "built-in Yes 592(i) NAD Editorial 31.10.4.4 [ifstream.members] Incorrect treatment of rdbuf()->close() return type Yes 593(i) CD1 17.4.1 [cstdint.syn] __STDC_CONSTANT_MACROS Yes 594(i) Resolved 16.4.4.2 [utility.arg.requirements] Disadvantages of defining Swappable
in terms of CopyConstructible
and Assignable
Yes 595(i) CD1 29.4.7 [complex.value.ops] TR1/C++0x: fabs(complex<T>)
redundant / wrongly specified Yes 596(i) CD1 31.10.3.4 [filebuf.members] 27.8.1.3 Table 112 omits "a+" and "a+b" modes Yes 597(i) NAD 3.2 [dec.tr::trdec.types.types] [dec.tr] The notion of 'promotion' cannot be emulated by user-defined types. Yes 598(i) TRDec 3.2 [dec.tr::trdec.types.types] [dec.tr] Conversion to integral should truncate, not round. Yes 599(i) TRDec 3.1 [dec.tr::trdec.types.encodings] [dec.tr] Say "octets" instead of "bytes." Yes 600(i) TRDec 3.9 [dec.tr::trdec.types.cwchar] [dec.tr] Wrong parameters for wcstod* functions Yes 601(i) TRDec 3.3 [dec.tr::trdec.types.limits] [dec.tr] numeric_limits typos Yes 602(i) TRDec 3 [dec.tr::trdec.types] [dec.tr] "generic floating type" not defined. Yes 603(i) TRDec 3 [dec.tr::trdec.types] [dec.tr] Trivially simplifying decimal classes. Yes 604(i) TRDec 3 [dec.tr::trdec.types] [dec.tr] Storing a reference to a facet unsafe. Yes 605(i) TRDec 3.4 [dec.tr::trdec.types.cdecfloat] [dec.tr] <decfloat.h> doesn't live here anymore. Yes 606(i) NAD 3.2 [dec.tr::trdec.types.types] [dec.tr] allow narrowing conversions Yes 607(i) CD1 29.5.8.1 [rand.util.seedseq] Concern about short seed vectors Yes 608(i) CD1 29.5.8.1 [rand.util.seedseq] Unclear seed_seq construction details Yes 609(i) CD1 29.5.5.3 [rand.adapt.ibits] missing static const Yes 610(i) CD1 22.10.17.3.2 [func.wrap.func.con] Suggested non-normative note for C++0x Yes 611(i) CD1 16.4.5.8 [res.on.functions] Standard library templates and incomplete types Yes 612(i) CD1 17.3.5.2 [numeric.limits.members] numeric_limits::is_modulo insufficiently defined Yes 613(i) CD1 17.3.5.3 [numeric.special] max_digits10 missing from numeric_limits Yes 614(i) NAD 27.4.3 [basic.string] std::string
allocator requirements still inconsistent Yes 615(i) NAD Editorial 27.5 [c.strings] Inconsistencies in Section 21.4 Yes 616(i) CD1 28.3.4.2.3 [locale.ctype.byname] missing 'typename' in ctype_byname Yes 617(i) Open 23.3.3 [array] std::array
is a sequence that doesn't satisfy the sequence requirements? No 3 618(i) CD1 29.6.2.8 [valarray.members] valarray::cshift() effects on empty array Yes 619(i) CD1 17.14 [support.runtime] Longjmp wording problem Yes 620(i) CD1 29.6.2.2 [valarray.cons] valid uses of empty valarrays Yes 621(i) CD1 29.6 [numarray] non-const copy assignment operators of helper arrays Yes 622(i) CD1 31.10.6.4 [fstream.members] behavior of filebuf
dtor and close
on error Yes 623(i) CD1 31.2.1 [iostream.limits.imbue] pubimbue
forbidden to call imbue
Yes 624(i) CD1 29.6.2.3 [valarray.assign] valarray
assignment and arrays of unequal length Yes 625(i) Resolved 16 [library] Mixed up Effects and Returns clauses Yes 895 626(i) NAD Editorial 16.3.2.4 [structure.specifications] new Remark clauses not documented Yes 627(i) NAD 17.6.3.2 [new.delete.single] Low memory and exceptions Yes 628(i) CD1 28.6.7 [re.regex] Inconsistent definition of basic_regex constructor Yes 629(i) CD1 29.4.6 [complex.ops] complex<T>
insertion and locale dependence Yes 630(i) C++11 29.6.2.2 [valarray.cons] arrays of valarray
Yes 631(i) NAD 26 [algorithms] conflicting requirements for BinaryPredicate
Yes 632(i) NAD 23.2 [container.requirements] Time complexity of size()
for std::set
Yes 633(i) NAD Editorial 22.10.17.3.6 [func.wrap.func.targ] Return clause mentions undefined "type()" Yes 634(i) CD1 20.2.10.2 [allocator.members] allocator.address()
doesn't work for types overloading operator&
Yes 350 635(i) Resolved 16.4.4.6 [allocator.requirements] domain of allocator::address
Yes 636(i) NAD Editorial 29.6.2.4 [valarray.access] 26.5.2.3 valarray::operator[] Yes 637(i) NAD Editorial 29.7 [c.math] §[c.math]/10 inconsistent return values Yes 638(i) CD1 23.3.5.4 [deque.modifiers] deque
end invalidation during erase Yes 639(i) NAD 31.7.5.3.3 [istream.extractors] Still problems with exceptions during streambuf IO Yes 640(i) CD1 31.7.6.3.2 [ostream.inserters.arithmetic] 27.6.2.5.2 does not handle (unsigned) long long
Yes 641(i) NAD Editorial 31.7.8 [ext.manip] Editorial fix for 27.6.4 (N2134) Yes 642(i) NAD Editorial 31.10.4.4 [ifstream.members] Invalidated fstream footnotes in N2134 Yes 643(i) CD1 31.10.3 [filebuf] Impossible "as if" clauses Yes 644(i) NAD 22.10.17.3 [func.wrap.func] Possible typos in 'function' description Yes 645(i) NAD Editorial 28.6.9 [re.results] Missing members in match_results Yes 646(i) CD1 28.6.9.6 [re.results.form] const incorrect match_result members Yes 647(i) NAD Editorial 28.6.10.3 [re.alg.search] Inconsistent regex_search
params Yes 648(i) NAD Editorial 28.6.11.1.2 [re.regiter.cnstr] regex_iterator c'tor needs clarification/editorial fix Yes 649(i) NAD Editorial 28.6.11.2.2 [re.tokiter.cnstr] Several typos in regex_token_iterator constructors Yes 650(i) CD1 28.6.11.2 [re.tokiter] regex_token_iterator and const correctness Yes 651(i) CD1 28.6.11.2.2 [re.tokiter.cnstr] Missing preconditions for regex_token_iterator c'tors Yes 652(i) CD1 28.6.11.1 [re.regiter] regex_iterator and const correctness Yes 653(i) NAD 2 [intro.refs] Library reserved names Yes 654(i) CD1 29.5.3.4 [rand.req.eng] Missing IO roundtrip for random number engines Yes 655(i) CD1 29.5.8.2 [rand.util.canonical] Signature of generate_canonical not useful Yes 656(i) NAD Editorial 29.5.2 [rand.synopsis] Typo in subtract_with_carry_engine declaration Yes 657(i) NAD 16.4.3.2 [using.headers] unclear requirement about header inclusion Yes 658(i) Resolved 22.10 [function.objects] Two unspecified function comparators in [function.objects] Yes 659(i) C++11 24.6.4 [istreambuf.iterator] istreambuf_iterator
should have an operator->()
Yes 660(i) CD1 22.10 [function.objects] Missing Bitwise Operations Yes 661(i) CD1 31.7.5.3.2 [istream.formatted.arithmetic] New 27.6.1.2.2 changes make special extractions useless Yes 662(i) NAD 28.3.4.3.2.3 [facet.num.get.virtuals] Inconsistent handling of incorrectly-placed thousands separators Yes 663(i) NAD 16.3.2.4 [structure.specifications] Complexity Requirements Yes 664(i) CD1 28.3.4.2.5.3 [locale.codecvt.virtuals] do_unshift
for codecvt<char, char, mbstate_t>
Yes 665(i) CD1 28.3.4.2.5.3 [locale.codecvt.virtuals] do_unshift
return value Yes 666(i) CD1 28.3.4.7.4.3 [locale.moneypunct.virtuals] moneypunct::do_curr_symbol()
Yes 667(i) NAD 28.3.4.7.2.3 [locale.money.get.virtuals] money_get
's widened minus sign Yes 668(i) NAD 28.3.4.7.2.3 [locale.money.get.virtuals] money_get
's empty minus sign Yes 669(i) NAD 28.3.4.7.2.3 [locale.money.get.virtuals] Equivalent postive and negative signs in money_get
Yes 670(i) Dup 28.3.4.7.4 [locale.moneypunct] money_base::pattern
and space
Yes 836 671(i) C++11 28.3.4.3.3.3 [facet.num.put.virtuals] precision of hexfloat
Yes 672(i) CD1 16.4.4.2 [utility.arg.requirements] Swappable requirements need updating Yes 673(i) CD1 20.3.1 [unique.ptr] unique_ptr
update Yes 674(i) CD1 20.3.2.2 [util.smartptr.shared] shared_ptr
interface changes for consistency with N1856 Yes 675(i) CD1 23.2 [container.requirements] Move assignment of containers Yes 676(i) C++11 23.5 [unord] Moving the unordered containers Yes 677(i) CD1 29.5.8.1 [rand.util.seedseq] Weaknesses in seed_seq::randomize [rand.util.seedseq] Yes 678(i) CD1 29.5.3.4 [rand.req.eng] Changes for [rand.req.eng] Yes 679(i) CD1 23.3 [sequences] resize parameter by value Yes 680(i) CD1 24.5.4.2 [move.iterator] move_iterator operator->
return Yes 681(i) CD1 28.6.8.3 [re.submatch.op] Operator functions impossible to compare are defined in [re.submatch.op] Yes 682(i) CD1 28.6.7.2 [re.regex.construct] basic_regex ctor takes InputIterator or ForwardIterator? Yes 683(i) NAD Editorial 28.6.11.2 [re.tokiter] regex_token_iterator summary error Yes 684(i) NAD Editorial 28.6.9 [re.results] Unclear which members of match_results should be used in comparison Yes 685(i) CD1 24.5.1.9 [reverse.iter.nonmember] reverse_iterator/move_iterator difference has invalid signatures Yes 686(i) NAD 20.3.1.3.5 [unique.ptr.single.observers] unique_ptr
and shared_ptr
fail to specify non-convertibility to int for unspecified-bool-type Yes 687(i) CD1 20.3.2.2.2 [util.smartptr.shared.const] shared_ptr conversion constructor not constrained Yes 688(i) C++11 22.10.6.2 [refwrap.const] reference_wrapper, cref unsafe, allow binding to rvalues Yes 689(i) CD1 22.10.6.2 [refwrap.const] reference_wrapper constructor overly constrained Yes 690(i) NAD Editorial 29.7 [c.math] abs(long long) should return long long Yes 691(i) CD1 23.5 [unord] const_local_iterator cbegin, cend missing from TR1 Yes 692(i) CD1 31.7.8 [ext.manip] get_money
and put_money
should be formatted I/O functions Yes 693(i) CD1 22.9.2 [template.bitset] std::bitset::all()
missing Yes 694(i) CD1 22.9.2 [template.bitset] std::bitset
and long long
Yes 695(i) CD1 28.3.4.2.4 [facet.ctype.special] ctype<char>::classic_table() not accessible Yes 696(i) C++11 31.7.5.3.2 [istream.formatted.arithmetic] istream::operator>>(int&)
broken Yes 697(i) Resolved 19.5 [syserr] New <system_error>
header leads to name clashes Yes 698(i) CD1 19.5.8.1 [syserr.syserr.overview] system_error
needs const char*
constructors Yes 699(i) CD1 29.5 [rand] N2111 changes min/max Yes 700(i) CD1 22.2.4 [forward] N1856 defines struct identity
Yes 701(i) NAD 5.2.1.1 [tr1::tr.num.sf.Lnm] [tr1] assoc laguerre poly's Yes 702(i) NAD 5.2.1.2 [tr1::tr.num.sf.Plm] [tr1] Restriction in associated Legendre functions Yes 703(i) CD1 23.4.3.3 [map.access] map::at()
need a complexity specification Yes 704(i) C++11 23.2 [container.requirements] MoveAssignable
requirement for container value type overly strict Yes 705(i) CD1 21.3.9.7 [meta.trans.other] type-trait decay
incompletely specified Yes 706(i) CD1 22.3 [pairs] make_pair()
should behave as make_tuple()
wrt. reference_wrapper()
Yes 707(i) NAD 17.9.7 [propagation] null pointer constant for exception_ptr
Yes 708(i) NAD 28.3 [localization] Locales need to be per thread and updated for POSIX changes Yes 709(i) CD1 27.2.4 [char.traits.specializations] char_traits::not_eof
has wrong signature Yes 710(i) CD1 20.3.2.2 [util.smartptr.shared] Missing postconditions Yes 711(i) C++11 20.3.2.2.6 [util.smartptr.shared.obs] Contradiction in empty shared_ptr
Yes 712(i) CD1 29.5.8.1 [rand.util.seedseq] seed_seq::size
no longer useful Yes 713(i) CD1 26.8.2.1 [sort] sort()
complexity is too lax Yes 714(i) CD1 26.6.15 [alg.search] search_n
complexity is too lax Yes 715(i) CD1 26.8.9 [alg.min.max] minmax_element
complexity is too lax Yes 716(i) C++11 28.6.12 [re.grammar] Production in [re.grammar] not actually modified Yes 717(i) NAD Editorial 29.6.2.4 [valarray.access] Incomplete valarray::operator[]
specification in [valarray.access] Yes 718(i) NAD Editorial 27.4.3 [basic.string] basic_string
is not a sequence Yes 719(i) Resolved 21 [meta] std::is_literal
type traits should be provided Yes 750 720(i) CD1 23.3.3 [array] Omissions in constexpr usages Yes 721(i) NAD 99 [depr.conversions.string] wstring_convert
inconsistensies Yes 722(i) CD1 29.7 [c.math] Missing [c.math] functions nanf
and nanl
Yes 723(i) C++11 28.6.7 [re.regex] basic_regex
should be moveable Yes 724(i) C++11 16.4.4.2 [utility.arg.requirements] DefaultConstructible
is not defined Yes 725(i) NAD Editorial 23.2.4 [sequence.reqmts] Optional sequence container requirements column label Yes 726(i) NAD 28.6.10.4 [re.alg.replace] Missing regex_replace()
overloads Yes 727(i) C++11 28.6.10.4 [re.alg.replace] regex_replace()
doesn't accept basic_string
s with custom traits and allocators Yes 728(i) CD1 29.5.4.3 [rand.eng.mers] Problem in [rand.eng.mers]/6 Yes 729(i) NAD 29.5.3.4 [rand.req.eng] Problem in [rand.req.eng]/3 Yes 730(i) NAD 29.5.3.5 [rand.req.adapt] Comment on [rand.req.adapt]/3 e) Yes 731(i) NAD 29.5.8.1 [rand.util.seedseq] proposal for a customizable seed_seq
Yes 732(i) Resolved 99 [rand.dist.samp.genpdf] Defect in [rand.dist.samp.genpdf] Yes 795 733(i) NAD 29.5.3.6 [rand.req.dist] Comment on [rand.req.dist]/9 Yes 734(i) CD1 29.5.9.5.3 [rand.dist.norm.chisq] Unnecessary restriction in [rand.dist.norm.chisq] Yes 735(i) NAD 29.5.9.3.2 [rand.dist.bern.bin] Unfortunate naming Yes 736(i) NAD 29.5.9.6.1 [rand.dist.samp.discrete] Comment on [rand.dist.samp.discrete] Yes 737(i) NAD 29.5.9.6.2 [rand.dist.samp.pconst] Comment on [rand.dist.samp.pconst] Yes 738(i) NAD Editorial 29.5.5.2 [rand.adapt.disc] Editorial issue in [rand.adapt.disc]/3 Yes 739(i) NAD 29.5.8.2 [rand.util.canonical] Defect in [rand.util.canonical]/3 Yes 740(i) CD1 20.3.1 [unique.ptr] Please remove *_ptr<T[N]>
Yes 741(i) NAD 20.3.2.2.11 [util.smartptr.getdeleter] Const-incorrect get_deleter
function for shared_ptr
Yes 742(i) Resolved 16.4.4.2 [utility.arg.requirements] Enabling swap
for proxy iterators Yes 743(i) CD1 20.3.2.2.9 [util.smartptr.shared.spec] rvalue swap
for shared_ptr
Yes 744(i) CD1 17.9.7 [propagation] What is the lifetime of an exception pointed to by an exception_ptr
? Yes 745(i) NAD 17.9.7 [propagation] copy_exception API slices. Yes 746(i) CD1 17.9.7 [propagation] current_exception
may fail with bad_alloc
Yes 747(i) NAD 21.3.6.4 [meta.unary.prop] We have 3 separate type traits to identify classes supporting no-throw operations Yes 748(i) NAD 21.3.6.4 [meta.unary.prop] The is_abstract type trait is defined by reference to 10.4. Yes 749(i) CD1 21.3.6.4 [meta.unary.prop] Currently has_nothrow_copy_constructor<T>::value
is true if T
has 'a' nothrow copy constructor. Yes 750(i) Dup 21.3.8 [meta.rel] The current definition for is_convertible
requires that the type be implicitly convertible, so explicit constructors are ignored. Yes 719 751(i) NAD 23.3.14 [vector.bool] change pass-by-reference members of vector<bool>
to pass-by-value? Yes 752(i) C++11 16.4.4.6 [allocator.requirements] Allocator complexity requirement Yes 753(i) C++11 16.4.4.2 [utility.arg.requirements] Move constructor in draft Yes 754(i) NAD Editorial 26.11.5 [uninitialized.copy] Ambiguous return clause for std::uninitialized_copy
Yes 755(i) CD1 23.3.13.3 [vector.capacity] std::vector
and std:string
lack explicit shrink-to-fit operations Yes 756(i) Resolved 23.6 [container.adaptors] Container adaptors push Yes 757(i) NAD Editorial 23.3.13 [vector] Typo in the synopsis of vector Yes 758(i) C++11 20.3.2.2 [util.smartptr.shared] shared_ptr
and nullptr
Yes 759(i) CD1 23.2 [container.requirements] A reference is not an object Yes 760(i) NAD 23.2 [container.requirements] The emplace issue Yes 2 761(i) CD1 23.5.3.3 [unord.map.elem] unordered_map
needs an at()
member function Yes 762(i) CD1 20.3.1 [unique.ptr] std::unique_ptr
requires complete type? Yes 763(i) NAD 23.2.7 [associative.reqmts] Renaming emplace()
overloads Yes 764(i) NAD 23.2.8 [unord.req] equal_range
on unordered containers should return a pair
of local_iterators
Yes 765(i) C++11 24.3.4 [iterator.concepts] More on iterator validity Yes 766(i) CD1 23.2 [container.requirements] Inconsistent exception guarantees between ordered and unordered associative containers Yes 767(i) Resolved 23 [containers] Forwarding and backward compatibility Yes 768(i) CD1 32.5.8 [atomics.types.generic] Typos in [atomics]? Yes 769(i) CD1 22.10.17.3 [func.wrap.func] std::function should use nullptr_t instead of "unspecified-null-pointer-type" Yes 770(i) CD1 22.10.17 [func.wrap] std::function should use rvalue swap Yes 771(i) CD1 27.4.5 [string.conversions] Impossible throws clause in [string.conversions] Yes 772(i) CD1 27.4.5 [string.conversions] Impossible return clause in [string.conversions] Yes 773(i) NAD 29.5.9.2 [rand.dist.uni] issues with random Yes 774(i) C++11 23 [containers] Member swap
undefined for most containers Yes 775(i) CD1 22.4.7 [tuple.helper] Tuple indexing should be unsigned? Yes 776(i) CD1 23.3.3 [array] Undescribed assign
function of std::array
Yes 777(i) CD1 32.5.8.2 [atomics.types.operations] Atomics Library Issue Yes 778(i) CD1 22.9.2.2 [bitset.cons] std::bitset does not have any constructor taking a string literal Yes 116 779(i) CD1 26.7.8 [alg.remove] Resolution of #283 incomplete Yes 780(i) C++11 26.8.6 [alg.merge] std::merge()
specification incorrect/insufficient Yes 781(i) CD1 29.4.7 [complex.value.ops] std::complex
should add missing C99 functions Yes 782(i) CD1 29.5.8.1 [rand.util.seedseq] Extended seed_seq
constructor is useless Yes 783(i) CD1 32.4.3.2 [thread.thread.id] thread::id
reuse Yes 784(i) NAD 32.6.5.4.4 [thread.lock.unique.mod] unique_lock::release Yes 785(i) NAD 5.1.4.5 [tr1::tr.rand.eng.disc] [tr1] Random Number Requirements in TR1 Yes 786(i) Resolved 30 [time] Thread library timed waits, UTC and monotonic clocks Yes 787(i) CD1 26.8.4.5 [binary.search] complexity of binary_search
Yes 788(i) C++11 24.6.2 [istream.iterator] Ambiguity in [istream.iterator] Yes 789(i) CD1 99 [rand.adapt.xor] xor_combine_engine(result_type)
should be explicit Yes 790(i) NAD 99 [rand.adapt.xor] xor_combine::seed
not specified Yes 791(i) NAD 29.5.9.6.2 [rand.dist.samp.pconst] piecewise_constant_distribution::densities
has wrong name Yes 792(i) CD1 29.5.9.6.2 [rand.dist.samp.pconst] piecewise_constant_distribution
is undefined for a range with just one endpoint Yes 793(i) Resolved 29.5.9.6.1 [rand.dist.samp.discrete] discrete_distribution
missing constructor Yes 794(i) Resolved 29.5.9.6.2 [rand.dist.samp.pconst] piecewise_constant_distribution
missing constructor Yes 795(i) Dup 99 [rand.dist.samp.genpdf] general_pdf_distribution
should be dropped Yes 732 796(i) NAD 29.5.6 [rand.predef] ranlux48_base
returns wrong value Yes 797(i) NAD 29.5.6 [rand.predef] ranlux48
returns wrong value Yes 798(i) CD1 99 [depr.lib.binders] Refactoring of binders lead to interface breakage Yes 799(i) NAD 29.5.4.3 [rand.eng.mers] Mersenne twister equality overspecified Yes 800(i) Resolved 29.5.8.1 [rand.util.seedseq] Issues in 26.4.7.1 [rand.util.seedseq](6) Yes 801(i) Resolved 22.4 [tuple] tuple
and pair
trivial members Yes 802(i) NAD 29.5.6 [rand.predef] knuth_b
returns wrong value Yes 803(i) Resolved 29.5.8.1 [rand.util.seedseq] Simplification of seed_seq::seq_seq
Yes 804(i) CD1 19.5 [syserr] Some problems with classes error_code
/error_condition
Yes 805(i) CD1 19.5 [syserr] posix_error::posix_errno
concerns Yes 806(i) CD1 20.3.1.3.6 [unique.ptr.single.modifiers] unique_ptr::reset
effects incorrect, too permissive Yes 807(i) CD1 22.4.4.2 [tuple.cnstr] tuple
construction should not fail unless its element's construction fails Yes 808(i) CD1 22.2.4 [forward] §[forward] incorrect redundant specification Yes 809(i) CD1 26.7.3 [alg.swap] std::swap
should be overloaded for array types Yes 810(i) C++11 31.7.8 [ext.manip] Missing traits dependencies in operational semantics of extended manipulators Yes 811(i) C++11 22.3 [pairs] pair
of pointers no longer works with literal 0 Yes 812(i) NAD Editorial 26.8.2 [alg.sort] unsolicited multithreading considered harmful? Yes 813(i) CD1 20.3.2.2 [util.smartptr.shared] "empty" undefined for shared_ptr
Yes 814(i) C++11 23.3.14 [vector.bool] vector<bool>::swap(reference, reference)
not defined Yes 815(i) Resolved 22.10.17.3.5 [func.wrap.func.inv] std::function
and reference_closure
do not use perfect forwarding Yes 816(i) Resolved 22.10.15.4 [func.bind.bind] Should bind()
's returned functor have a nofail copy ctor when bind()
is nofail? Yes 817(i) C++11 22.10.15.4 [func.bind.bind] bind
needs to be moved Yes 818(i) CD1 32.5.4 [atomics.order] wording for memory ordering Yes 819(i) C++11 17.9.8 [except.nested] rethrow_if_nested Yes 820(i) CD1 17.9.7 [propagation] current_exception()
's interaction with throwing copy ctors Yes 821(i) C++11 20.3.1.4.5 [unique.ptr.runtime.modifiers] Minor cleanup : unique_ptr
Yes 822(i) NAD 16.4.4.2 [utility.arg.requirements] Object with explicit copy constructor no longer CopyConstructible
Yes 823(i) Resolved 22.2.4 [forward] identity<void>
seems broken Yes 824(i) CD1 27.4.4.4 [string.io] rvalue ref issue with basic_string
inserter Yes 825(i) Resolved 19.5.4.1 [syserr.errcode.overview] Missing rvalues reference stream insert/extract operators? Yes 826(i) NAD 28.3.4.3.3 [locale.nm.put] Equivalent of %'d
, or rather, lack thereof? Yes 827(i) Resolved 20.3.2.2.2 [util.smartptr.shared.const] constexpr shared_ptr::shared_ptr()?
Yes 828(i) Resolved 32.6.4.2.2 [thread.mutex.class] Static initialization for std::mutex
? Yes 829(i) CD1 17.9.7 [propagation] current_exception wording unclear about exception type Yes 830(i) NAD Editorial 27.2 [char.traits] Incomplete list of char_traits specializations Yes 831(i) NAD Editorial 27.2.4 [char.traits.specializations] wrong type for not_eof() Yes 832(i) NAD 19.5 [syserr] Applying constexpr to System error support Yes 833(i) NAD 16.4.2.5 [compliance] Freestanding implementations header list needs review for C++0x Yes 834(i) Resolved 20.3.1.3 [unique.ptr.single] unique_ptr::pointer
requirements underspecified Yes 835(i) C++11 31.5.4.3 [basic.ios.members] Tying two streams together (correction to DR 581) Yes 836(i) C++11 28.3.4.7.2.3 [locale.money.get.virtuals] Effects of money_base::space
and money_base::none
on money_get
Yes 670 837(i) NAD Editorial 31.5.4.3 [basic.ios.members] basic_ios::copyfmt()
overly loosely specified Yes 838(i) C++11 24.6.2 [istream.iterator] Can an end-of-stream iterator become a non-end-of-stream one? Yes 839(i) Resolved 23.4 [associative] Maps and sets missing splice operation Yes 840(i) NAD 22.3 [pairs] pair
default template argument Yes 841(i) NAD Editorial 17.4.1 [cstdint.syn] cstdint.syn inconsistent with C99 Yes 842(i) CD1 23.2 [container.requirements] ConstructibleAsElement
and bit containers Yes 843(i) CD1 99 [func.referenceclosure.cons] Reference Closure Yes 844(i) CD1 29.4.10 [cmplx.over] complex pow
return type is ambiguous Yes 845(i) CD1 32.5.8 [atomics.types.generic] atomics cannot support aggregate initialization Yes 846(i) CD1 32.5.8.2 [atomics.types.operations] No definition for constructor Yes 847(i) C++11 27.4.3.2 [string.require] string exception safety guarantees Yes 848(i) CD1 22.10.19 [unord.hash] Missing std::hash
specializations for std::bitset/std::vector<bool>
Yes 849(i) NAD 21.3.9.7 [meta.trans.other] missing type traits to compute root class and derived class of types in a class hierachy Yes 850(i) CD1 23.3.5.3 [deque.capacity] Should shrink_to_fit
apply to std::deque
? Yes 851(i) NAD 23.3.3 [array] simplified array construction Yes 852(i) CD1 23.5 [unord] unordered containers begin(n)
mistakenly const
Yes 853(i) C++11 22.9.2 [template.bitset] to_string
needs updating with zero
and one
Yes 854(i) C++11 20.3.1.2.2 [unique.ptr.dltr.dflt] default_delete
converting constructor underspecified Yes 855(i) NAD 23.3.5.3 [deque.capacity] capacity() and reserve() for deque? Yes 856(i) CD1 21.3.9.7 [meta.trans.other] Removal of aligned_union
Yes 857(i) C++11 32.7.4 [thread.condition.condvar] condition_variable::time_wait
return bool
error prone Yes 858(i) CD1 99 [util.dynamic.safety] Wording for Minimal Support for Garbage Collection Yes 859(i) C++11 32.7 [thread.condition] Monotonic Clock is Conditionally Supported? Yes 860(i) C++11 29 [numerics] Floating-Point State Yes 861(i) C++11 23.2 [container.requirements] Incomplete specification of EqualityComparable
for std::forward_list
Yes 862(i) NAD Editorial 26.8.7.2 [includes] Impossible complexity for 'includes' Yes 863(i) NAD 31.10 [file.streams] What is the state of a stream after close() succeeds Yes 864(i) NAD Editorial 32.5.8.2 [atomics.types.operations] Defect in atomic wording Yes 865(i) C++11 26.7.6 [alg.fill] More algorithms that throw away information Yes 866(i) C++11 26.11 [specialized.algorithms] Qualification of placement new-expressions Yes 867(i) NAD Editorial 29.6.2.2 [valarray.cons] Valarray and value-initialization Yes 868(i) C++11 23 [containers] Default construction and value-initialization Yes 869(i) C++11 23.2.8 [unord.req] Bucket (local) iterators and iterating past end Yes 870(i) C++11 23.2.8 [unord.req] Do unordered containers not support function pointers for predicate/hasher? Yes 871(i) C++11 26.10.13 [numeric.iota] Iota's requirements on T
are too strong Yes 872(i) C++11 24.5.4.6 [move.iter.elem] move_iterator::operator[]
has wrong return type Yes 873(i) NAD Editorial 6.9.2 [basic.fundamental] signed integral type and unsigned integral type are not clearly defined Yes 874(i) Resolved 29.5.9.6.1 [rand.dist.samp.discrete] Missing initializer_list
constructor for discrete_distribution
Yes 875(i) Resolved 29.5.9.6.2 [rand.dist.samp.pconst] Missing initializer_list
constructor for piecewise_constant_distribution
Yes 876(i) C++11 27.4.3 [basic.string] basic_string
access operations should give stronger guarantees Yes 877(i) NAD 16 [library] to throw()
or to Throw: Nothing. Yes 878(i) C++11 23.3.7 [forward.list] forward_list
preconditions Yes 879(i) NAD Editorial 32.5 [atomics] Atomic load const qualification Yes 880(i) Resolved 32.5 [atomics] Missing atomic exchange parameter Yes 942 881(i) C++11 20.3.2.2.2 [util.smartptr.shared.const] shared_ptr
conversion issue Yes 882(i) CD1 30.5.6 [time.duration.nonmember] duration
non-member arithmetic requirements Yes 883(i) C++11 23 [containers] swap circular definition Yes 884(i) Resolved 20.3.2.2.5 [util.smartptr.shared.mod] shared_ptr
swap Yes 885(i) C++11 22.3 [pairs] pair
assignment Yes 886(i) C++11 22.4.4.2 [tuple.cnstr] tuple
construction Yes 887(i) NAD 32.7.4 [thread.condition.condvar] issue with condition::wait_... Yes 888(i) C++11 32.4.5 [thread.thread.this] this_thread::yield
too strong Yes 889(i) Resolved 32.4.3.2 [thread.thread.id] thread::id
comparisons Yes 890(i) C++11 19.5.3 [syserr.errcat] Improving <system_error>
initialization Yes 891(i) C++11 32.4.3.3 [thread.thread.constr] std::thread
, std::call_once
issue Yes 892(i) NAD Editorial 23.3.7.6 [forward.list.ops] Forward_list issues... Yes 893(i) C++11 32.6.4.2.2 [thread.mutex.class] std::mutex
issue Yes 905 894(i) C++11 17.14 [support.runtime] longjmp and destructors Yes 895(i) Dup 16.3.2.4 [structure.specifications] "Requires:" on std::string::at et al Yes 625 896(i) C++11 20.3.2.2 [util.smartptr.shared] Library thread safety issue Yes 897(i) Resolved 23.3.7.5 [forward.list.modifiers] Forward_list issues... Part 2 Yes 898(i) C++11 23.3.7.6 [forward.list.ops] Small contradiction in n2723 to forward to committee Yes 899(i) C++11 20.3.2.2.3 [util.smartptr.shared.dest] Adjusting shared_ptr
for nullptr_t
Yes 900(i) C++11 31.10.4 [ifstream] Stream move-assignment Yes 901(i) NAD 24.5.2.4 [insert.iterator] insert iterators can move from lvalues Yes 902(i) NAD Concepts 17.3.5 [numeric.limits] Regular is the wrong concept to constrain numeric_limits Yes 903(i) NAD 24.5.2.2 [back.insert.iterator] back_insert_iterator
issue Yes 904(i) C++11 99 [func.ret] result_of
argument types Yes 905(i) Dup 32.6.4.2.2 [thread.mutex.class] Mutex specification questions Yes 893 906(i) NAD Concepts 17.11 [support.initlist] ObjectType
is the wrong concept to constrain initializer_list
Yes 907(i) C++11 22.9.2.3 [bitset.members] Bitset's immutable element retrieval is inconsistently defined Yes 908(i) Resolved 32.5.8 [atomics.types.generic] Deleted assignment operators for atomic types must be volatile Yes 909(i) C++11 28.6.11.2 [re.tokiter] regex_token_iterator
should use initializer_list
Yes 910(i) NAD Concepts 16.4.4.2 [utility.arg.requirements] Effects of MoveAssignable Yes 911(i) C++11 31.7.5 [input.streams] I/O streams and move/swap
semantic Yes 912(i) NAD Concepts 26.7.3 [alg.swap] Array swap needs to be conceptualized Yes 913(i) NAD Concepts 26.7.5 [alg.replace] Superfluous requirements for replace algorithms Yes 914(i) NAD Concepts 26.7.9 [alg.unique] Superfluous requirement for unique Yes 915(i) NAD Editorial 26.8.9 [alg.min.max] minmax
with initializer_list
should return pair
of T
, not pair
of const T&
Yes 916(i) NAD 22.3 [pairs] Redundant move-assignment operator of pair
should be removed Yes 917(i) NAD 22.4.4.2 [tuple.cnstr] Redundant move-assignment operator of tuple
should be removed Yes 918(i) NAD Concepts 22.4.4.4 [tuple.swap] Swap for tuple needs to be conceptualized Yes 919(i) NAD 23.3.7.6 [forward.list.ops] (forward_
)list
specialized remove algorithms are over constrained Yes 920(i) C++11 22.10.16 [func.memfn] Ref-qualification support in the library Yes 1230 921(i) C++11 21.5.3 [ratio.ratio] Rational Arithmetic should use template aliases Yes 922(i) C++11 B [implimits] §[func.bind.place] Number of placeholders Yes 923(i) Resolved 32.5 [atomics] atomics with floating-point Yes 924(i) Resolved 32.5 [atomics] structs with internal padding Yes 925(i) C++11 20.3.2.2.2 [util.smartptr.shared.const] shared_ptr
's explicit conversion from unique_ptr
Yes 926(i) NAD Editorial 32.5.4 [atomics.order] Sequentially consistent fences, relaxed operations and modification order Yes 927(i) NAD Concepts 99 [allocator.concepts] Dereferenceable
should be HasDereference
Yes 928(i) NAD Concepts 22.4.9 [tuple.rel] Wrong concepts used for tuple
's comparison operators Yes 929(i) C++11 32.4.3.3 [thread.thread.constr] Thread constructor Yes 930(i) NAD 23.3.3 [array] Access to std::array data as built-in array type Yes 931(i) C++11 21.3.6.4 [meta.unary.prop] type trait extent<T, I>
Yes 932(i) Resolved 20.3.1.3.2 [unique.ptr.single.ctor] unique_ptr(pointer p)
for pointer deleter types Yes 933(i) NAD 20.3.1.3.6 [unique.ptr.single.modifiers] Unique_ptr defect Yes 934(i) C++11 30.5 [time.duration] duration
is missing operator%
Yes 935(i) NAD 30.7 [time.clock] clock error handling needs to be specified Yes 936(i) LEWG 32.6.4 [thread.mutex.requirements] Mutex type overspecified No 961 937(i) NAD Editorial 32.5 [atomics] Atomics for standard typedef types Yes 938(i) C++11 20.3.1.2.3 [unique.ptr.dltr.dflt1] default_delete<T[]>::operator()
should only accept T*
Yes 939(i) C++11 22.2.4 [forward] Problem with std::identity
and reference-to-temporaries Yes 940(i) Resolved 24.4.3 [iterator.operations] std::distance
Yes 941(i) NAD 16 [library] Ref-qualifiers for assignment operators Yes 942(i) Dup 32.5 [atomics] Atomics synopsis typo Yes 880 943(i) C++11 99 [atomics.types.address] ssize_t
undefined Yes 944(i) Resolved 32.5.8 [atomics.types.generic] atomic<bool>
derive from atomic_bool
? Yes 945(i) NAD Editorial 30.7.2 [time.clock.system] system_clock::rep
not specified Yes 946(i) NAD 30.5.8 [time.duration.cast] duration_cast
improperly specified Yes 947(i) Resolved 30.5.6 [time.duration.nonmember] duration
arithmetic: contradictory requirements Yes 948(i) C++11 21.5.4 [ratio.arithmetic] ratio
arithmetic tweak Yes 949(i) C++11 20.3.2.4 [util.smartptr.ownerless] owner_less
Yes 950(i) Resolved 20.3.1.3.2 [unique.ptr.single.ctor] unique_ptr
converting ctor shouldn't accept array form Yes 951(i) C++11 30.4.1 [time.traits.is.fp] Various threading bugs #1 Yes 952(i) NAD Editorial 30.5.8 [time.duration.cast] Various threading bugs #2 Yes 953(i) Resolved 30.3 [time.clock.req] Various threading bugs #3 Yes 954(i) C++11 30.3 [time.clock.req] Various threading bugs #4 Yes 955(i) NAD 30.3 [time.clock.req] Various threading bugs #5 Yes 956(i) C++11 30.3 [time.clock.req] Various threading bugs #6 Yes 957(i) C++11 30.7.2 [time.clock.system] Various threading bugs #7 Yes 958(i) Resolved 32.7.4 [thread.condition.condvar] Various threading bugs #8 Yes 959(i) NAD 32.7.4 [thread.condition.condvar] Various threading bugs #9 Yes 960(i) C++11 32.6.4 [thread.mutex.requirements] Various threading bugs #10 Yes 961(i) LEWG 32.6.4 [thread.mutex.requirements] Various threading bugs #11 No 936 962(i) C++11 32.6.5.4.3 [thread.lock.unique.locking] Various threading bugs #12 Yes 963(i) C++11 32.4.3.6 [thread.thread.member] Various threading bugs #13 Yes 964(i) Resolved 32.7.5 [thread.condition.condvarany] Various threading bugs #14 Yes 965(i) C++11 32.7.4 [thread.condition.condvar] Various threading bugs #15 Yes 966(i) Resolved 32.7.4 [thread.condition.condvar] Various threading bugs #16 Yes 967(i) C++11 32.4.3.3 [thread.thread.constr] Various threading bugs #17 Yes 968(i) C++11 32.6.4 [thread.mutex.requirements] Various threading bugs #18 Yes 969(i) NAD Editorial 26.6.5 [alg.foreach] What happened to Library Issue 475? Yes 970(i) C++11 20.2.11 [specialized.addressof] addressof
overload unneeded Yes 971(i) NAD 19.5.4.5 [syserr.errcode.nonmembers] Spurious diagnostic conversion function Yes 972(i) NAD Editorial 16 [library] The term "Assignable" undefined but still in use Yes 973(i) NAD Editorial 99 [auto.ptr] auto_ptr characteristics Yes 974(i) C++11 30.5.2 [time.duration.cons] duration<double>
should not implicitly convert to duration<int>
Yes 975(i) C++11 21.3.8 [meta.rel] is_convertible
cannot be instantiated for non-convertible types Yes 976(i) Resolved 23.6.6.2 [stack.defn] Class template std::stack
should be movable Yes 977(i) NAD 24.5.2 [insert.iterators] insert iterators inefficient for expensive to move types Yes 978(i) C++11 22.10.19 [unord.hash] Hashing smart pointers Yes 979(i) NAD Editorial 24.5.4 [move.iterators] Bad example Yes 980(i) NAD 32.6.4 [thread.mutex.requirements] mutex lock()
missing error conditions Yes 981(i) C++11 23.2.8 [unord.req] Unordered container requirements should add initializer_list
support Yes 982(i) C++11 23.2.7 [associative.reqmts] Wrong complexity for initializer_list assignment in Table 85 Yes 983(i) Resolved 20.3.1.3 [unique.ptr.single] unique_ptr
reference deleters should not be moved from Yes 984(i) C++11 31.13 [c.files] Does <cinttypes>
have macro guards? Yes 985(i) Resolved 23.2.2 [container.requirements.general] Allowing throwing move Yes 986(i) C++11 32.6.6 [thread.lock.algorithm] Generic try_lock
contradiction Yes 987(i) C++11 22.10.6 [refwrap] reference_wrapper
and function types Yes 988(i) NAD 99 [concept.comparison] Reflexivity
meaningless? Yes 989(i) NAD Concepts 16 [library] late_check and library Yes 990(i) C++11 99 [time.clock.monotonic] monotonic_clock::is_monotonic
must be true
Yes 991(i) C++11 99 [depr.conversions.string] Provide allocator for wstring_convert
Yes 992(i) NAD 16.4.2.2 [contents] Allow implementations to implement C library in the global namespace Yes 993(i) C++11 17.5 [support.start.term] _Exit
needs better specification Yes 994(i) C++11 17.6.4.3 [new.handler] quick_exit
should terminate well-defined Yes 995(i) NAD 16.3.2.3 [structure.requirements] Operational Semantics Unclear Yes 996(i) NAD 16 [library] Move operation not well specified Yes 997(i) C++11 16.3.2.4 [structure.specifications] "Effects: Equivalent to" is underspecified Yes 998(i) C++11 20.3.1.3.6 [unique.ptr.single.modifiers] Smart pointer referencing its owner Yes 999(i) C++11 26.11 [specialized.algorithms] Taking the address of a function Yes 1000(i) NAD Concepts 26.6.10 [alg.adjacent.find] adjacent_find is over-constrained Yes 1001(i) NAD Concepts 16 [library] Pointers, concepts and headers Yes 1002(i) NAD 16.4.2.3 [headers] Provide bulk include headers Yes 1003(i) NAD 16.4.2.5 [compliance] Require more useful headers for freestanding implementations Yes 1004(i) C++11 16.4.5.8 [res.on.functions] Clarify "throws an exception" Yes 1005(i) NAD Concepts 17.3.5 [numeric.limits] numeric_limits
partial specializations not concept enabled Yes 1006(i) C++11 17.6.3 [new.delete] operator delete
in garbage collected implementation Yes 1007(i) NAD Concepts 17.9.8 [except.nested] throw_with_nested
not concept enabled Yes 1008(i) NAD 17.9.8 [except.nested] nested_exception
wording unclear Yes 1009(i) NAD 24.3.5.2 [iterator.iterators] InputIterator
post-increment dangerous Yes 1010(i) NAD Concepts 24.3.5.7 [random.access.iterators] operator-=
should use default in concept Yes 1011(i) C++11 24.4.3 [iterator.operations] next/prev
wrong iterator type Yes 1012(i) C++11 24.5.1.4 [reverse.iter.cons] reverse_iterator
default ctor should value initialize Yes 1013(i) NAD Editorial 26.8.9 [alg.min.max] Remove IsSameType
hold-over constraints Yes 1014(i) C++11 28.6.7.2 [re.regex.construct] basic_regex
should be created/assigned from initializer lists Yes 1015(i) NAD Concepts 99 [concept.transform] C++ programs - but not users - need to provide support concept_map
s Yes 1016(i) NAD Concepts 99 [concept.comparison] Provide LessThanComparable
and EqualityComparable
for FloatingPointType
Yes 1017(i) NAD Concepts 99 [concept.regular] Floating-point types should not satisfy Regular
Yes 1018(i) NAD Concepts 21 [meta] Trait specifications should be expressed in terms of concepts Yes 1019(i) C++11 21.3.4 [meta.help] Make integral_constant
objects useable in integral-constant-expressions Yes 1020(i) NAD 21.3.9.7 [meta.trans.other] Restore aligned_union
Yes 1021(i) C++11 20.3.1.3.4 [unique.ptr.single.asgn] Allow nullptr_t
assignments to unique_ptr
Yes 1022(i) NAD Editorial 99 [util.dynamic.safety] Pointer-safety API has nothing to do with smart pointers Yes 1023(i) NAD Editorial 22.10.17.3 [func.wrap.func] Unclear inheritance relation for std::function
Yes 1024(i) NAD Concepts 22.10.17.3 [func.wrap.func] std::function
constructors overly generous Yes 1025(i) NAD Future 22.10.19 [unord.hash] The library should provide more specializations for std::hash
Yes 1026(i) NAD Concepts 20.2 [memory] Smart pointers need to be concept-constrained templates Yes 1027(i) NAD Concepts 20.2.10 [default.allocator] std::allocator
needs to be a concept-constrained template Yes 1028(i) NAD Concepts 99 [depr.storage.iterator] raw_storage_iterator
needs to be a concept-constrained template Yes 1029(i) NAD Concepts 26.11 [specialized.algorithms] Specialized algorithms for memory management need to be concept-constrained templates Yes 1030(i) C++11 99 [depr.util.smartptr.shared.atomic] Missing requirements for smart-pointer safety API Yes 1031(i) NAD 20.3.2.2 [util.smartptr.shared] Need shared_ptr
conversion to a unique_ptr
Yes 1032(i) NAD Concepts 30 [time] Tome utility templates need to be concept-constrained Yes 1033(i) C++11 32.4.3.6 [thread.thread.member] thread::join()
effects? Yes 1034(i) C++11 23.2.2 [container.requirements.general] Clarify generality of Container Requirement tables Yes 1035(i) NAD 23.2.2 [container.requirements.general] <array>::swap
can invalidate references, pointers, and iterators Yes 1036(i) NAD Concepts 23.2.4 [sequence.reqmts] Remove iterator specification that is redundant due to concept constraints Yes 1037(i) C++11 23.2.4 [sequence.reqmts] Unclear status of match_results
as library container Yes 1038(i) C++11 23.2.4 [sequence.reqmts] Sequence requirement table needs to reference several new containers Yes 1039(i) C++11 23.2.4 [sequence.reqmts] Sequence container back
function should also support const_iterator
Yes 1040(i) C++11 23.2.7 [associative.reqmts] Clarify possible sameness of associative container's iterator
and const_iterator
Yes 1041(i) Resolved 23.2.7 [associative.reqmts] Add associative/unordered container functions that allow to extract elements Yes 1042(i) NAD 23.3 [sequences] Provide ContiguousStorage
concept and apply it to corresponding containers Yes 1043(i) Resolved 32.5.8.2 [atomics.types.operations] Clarify that compare_exchange
is not a read-modify-write operation Yes 1044(i) C++11 32.6 [thread.mutex] Empty tag types should be constexpr
literals Yes 1045(i) C++11 32.6.5.4.2 [thread.lock.unique.cons] Remove unnecessary preconditions from unique_lock
constructor Yes 1046(i) Resolved 32.10 [futures] Provide simple facility to start asynchronous operations Yes 1047(i) Resolved 32.10.7 [futures.unique.future] Ensure that future's get()
blocks when not ready Yes 1048(i) Resolved 32.10.7 [futures.unique.future] Provide empty-state inspection for std::unique_future
Yes 1049(i) Resolved 32.10.6 [futures.promise] Move assignment of promise
inverted Yes 1050(i) Resolved 32.10.6 [futures.promise] Clarify postconditions for get_future()
Yes 1051(i) NAD 24.5.1.6 [reverse.iter.elem] Specify subscript operation return types of reverse_iterator
and move_iterator
Yes 1052(i) Resolved 24.5.1.6 [reverse.iter.elem] reverse_iterator::operator->
should also support smart pointers Yes 2775 1053(i) NAD 26 [algorithms] Unify algorithms with operator and function object variants Yes 1054(i) Resolved 22.2.4 [forward] forward
broken Yes 1055(i) Resolved 21.3.9.7 [meta.trans.other] Provide a trait that returns the underlying type of an enumeration type Yes 1056(i) NAD 29.5 [rand] Must all Engines and Distributions be Streamable? Yes 1057(i) NAD Concepts 29.5 [rand] RandomNumberEngineAdaptor
Yes 1058(i) NAD Editorial 23.2.4 [sequence.reqmts] New container issue Yes 1059(i) NAD Concepts 22.10.17.3 [func.wrap.func] Usage of no longer existing FunctionType concept Yes 1060(i) NAD Editorial 16.3.3.3.4.2 [byte.strings] Embedded nulls in NTBS Yes 1061(i) NAD Editorial 22.3.4 [pair.astuple] Bad indexing for tuple access to pair (Editorial?) Yes 1062(i) NAD 24.5.2 [insert.iterators] Missing insert_iterator for stacks/queues Yes 1063(i) NAD Concepts 99 [iterator.backward] 03 iterator compatibilty Yes 1064(i) NAD 99 [defns.obj.state] Term "object state" should not refer to classes Yes 1065(i) C++11 16.4.2.2 [contents] Allow inline namespaces within namespace std
for implementations Yes 1066(i) C++11 17 [support] Use [[noreturn]]
attribute in the library Yes 1067(i) NAD Concepts 26.10 [numeric.ops] simplified wording for inner_product Yes 1068(i) NAD 29.5.7 [rand.device] class random_device
should be movable Yes 1069(i) NAD 29.5.8.1 [rand.util.seedseq] class seed_seq
should support efficient move operations Yes 1070(i) C++11 22.10.17.3 [func.wrap.func] Ambiguous move overloads in function Yes 1071(i) C++11 22.10.15.2 [func.bind.isbind] is_bind_expression
should derive from integral_constant<bool>
Yes 1072(i) NAD Concepts 22.10.19 [unord.hash] Is std::hash
a constrained template or not? Yes 1073(i) C++11 20.2 [memory] Declaration of allocator_arg
should be constexpr
Yes 1074(i) NAD Concepts 99 [allocator.element.concepts] concept map broken by N2840 Yes 1075(i) Resolved 22 [utilities] Scoped allocators are too complex Yes 1076(i) NAD Concepts 99 [depr.negators] unary/binary_negate need constraining and move support Yes 1077(i) NAD Editorial 22.4.4 [tuple.tuple] Nonesense tuple
declarations Yes 1078(i) NAD Concepts 17.7.7 [type.index] DE-17: Remove class type_index Yes 1079(i) C++11 24.3.5.7 [random.access.iterators] UK-265: RandomAccessIterator
's operator-
has nonsensical effects clause Yes 1080(i) NAD Concepts 99 [concept.arithmetic] Concept ArithmeticLike should provide explicit boolean conversion Yes 1081(i) NAD Concepts 27 [strings] basic_string
needs to be a concept-constrained template Yes 1082(i) NAD Concepts 28.3 [localization] codecvt
needs to be a concept-constrained template Yes 1083(i) NAD Concepts 28.3 [localization] InputIterator
and OutputIterator
template parameters need to be concept constraints Yes 1084(i) NAD Concepts 24.3.5.5 [forward.iterators] Concept ForwardIterator
should provide default implementation for post-increment Yes 1085(i) NAD Concepts 24.3.5.6 [bidirectional.iterators] BidirectionalIterator
concept should provide default implementation for post-decrement Yes 1086(i) NAD Concepts 24.6 [stream.iterators] Stream iterators need to be concept-constrained templates Yes 1087(i) NAD Concepts 26.7.5 [alg.replace] Incorrect OutputIterator
concept requirements for replace
algorithms Yes 1088(i) Resolved 32.10.6 [futures.promise] std::promise
should provide non-member swap
overload Yes 1089(i) C++11 32 [thread] Unify "Throws: Nothing." specifications Yes 1090(i) Resolved 32.10.10 [futures.task] Missing description of packaged_task
member swap
, missing non-member swap
Yes 1091(i) NAD 23.4.4.3 [multimap.modifiers] Multimap description confusing Yes 1092(i) NAD Concepts 21.3.4 [meta.help] Class template integral_constant
should be a constrained template Yes 1093(i) Resolved 26.7.13 [alg.random.shuffle] Multiple definitions for random_shuffle
algorithm Yes 1094(i) C++11 31.5.4.4 [iostate.flags] Replace "unspecified-bool-type" by "explicit operator bool() const
" in I/O library Yes 1095(i) C++11 16.4.5.10 [res.on.objects] Shared objects and the library wording unclear Yes 1096(i) NAD Concepts 16 [library] unconstrained rvalue ref parameters Yes 1097(i) C++11 17.2 [support.types] #define __STDCPP_THREADS Yes 1098(i) C++11 99 [util.dynamic.safety] definition of get_pointer_safety()
Yes 1099(i) NAD 16 [library] Various issues Yes 1100(i) Resolved 20.3.1.3.2 [unique.ptr.single.ctor] auto_ptr
to unique_ptr
conversion Yes 1101(i) NAD Editorial 26.7.9 [alg.unique] unique
requirements Yes 1102(i) Open 23.3.13.3 [vector.capacity] std::vector
's reallocation policy still unclear Yes 3 1103(i) C++11 19.5.8.2 [syserr.syserr.members] system_error
constructor postcondition overly strict Yes 1104(i) C++11 31.5.4.3 [basic.ios.members] basic_ios::move
should accept lvalues Yes 1105(i) NAD Concepts 99 [iterator.concepts.range] Shouldn't Range
be an auto concept
Yes 1106(i) Resolved 32.10.8 [futures.shared.future] Multiple exceptions from connected shared_future::get()
? Yes 1107(i) NAD Editorial 32.10.8 [futures.shared.future] constructor shared_future(unique_future)
by value? Yes 1108(i) C++11 32.2.2 [thread.req.exception] thread.req.exception overly constrains implementations Yes 1109(i) NAD Concepts 26.8.7.2 [includes] std::includes
should require CopyConstructible
predicate Yes 1110(i) C++11 26.6.5 [alg.foreach] Is for_each
overconstrained? Yes 1111(i) NAD Concepts 23.4 [associative] associative containers underconstrained Yes 1112(i) NAD 22.9.2 [template.bitset] bitsets and new style for loop Yes 1113(i) C++11 22.9.2 [template.bitset] bitset::to_string
could be simplified Yes 1114(i) C++11 21 [meta] Type traits underspecified Yes 1115(i) NAD Editorial C.8 [diff.library] va_copy
missing from Standard macros table Yes 1116(i) Resolved 22.4.4 [tuple.tuple] Literal constructors for tuple Yes 1117(i) Resolved 22.4.4.2 [tuple.cnstr] tuple
copy constructor Yes 1118(i) C++11 22.4.7 [tuple.helper] tuple
query APIs do not support cv-qualification Yes 1119(i) NAD 22.4.7 [tuple.helper] tuple query APIs do not support references Yes 1120(i) NAD 21 [meta] New type trait - remove_all
Yes 1121(i) NAD 21.5.4 [ratio.arithmetic] Support for multiple arguments Yes 1122(i) Resolved 21.5.3 [ratio.ratio] Ratio values should be constexpr
Yes 1123(i) C++11 31.5.2.2.6 [ios.init] No requirement that standard streams be flushed Yes 1124(i) NAD Concepts 99 [concept.transform] Invalid definition of concept RvalueOf Yes 1125(i) NAD 24.6.3.3 [ostream.iterator.ops] ostream_iterator does not work with movable types Yes 1126(i) C++11 24.6.4.4 [istreambuf.iterator.ops] istreambuff_iterator::equal
needs a const & parameter Yes 1127(i) NAD Concepts 24.3.2.3 [iterator.traits] rvalue references and iterator traits Yes 1128(i) NAD Concepts 24.2 [iterator.synopsis] Missing definition of iterator_traits<T*>
Yes 1129(i) Resolved 24.6.2.2 [istream.iterator.cons] istream(buf)_iterator
should support literal sentinel value Yes 1130(i) C++11 17.9.7 [propagation] copy_exception
name misleading Yes 1131(i) C++11 21.3.6.4 [meta.unary.prop] C++0x does not need alignment_of
Yes 1132(i) NAD 17.9.8 [except.nested] JP-30: nested exceptions Yes 1133(i) C++11 23.3.7.6 [forward.list.ops] Does N2844 break current specification of list::splice? Yes 1134(i) C++11 29.7 [c.math] Redundant specification of <stdint.h>
, <fenv.h>
, <tgmath.h>
, and maybe <complex.h>
Yes 1135(i) Resolved 17.9.7 [propagation] exception_ptr
should support contextual conversion to bool
Yes 1136(i) C++11 17.9.8 [except.nested] Incomplete specification of nested_exception::rethrow_nested()
Yes 1137(i) C++11 29.4.10 [cmplx.over] Return type of conj
and proj
Yes 1138(i) C++11 27.4.4.1 [string.op.plus] Unusual return value for operator+
Yes 1139(i) NAD Concepts 32 [thread] Thread support library not concept enabled Yes 1140(i) NAD Concepts 29 [numerics] Numerics library not concept enabled Yes 1141(i) NAD Concepts 31 [input.output] Input/Output library not concept enabled Yes 1142(i) NAD Concepts 28.6 [re] Regular expressions library not concept enabled Yes 1143(i) Resolved 32.5 [atomics] Atomic operations library not concept enabled Yes 1144(i) C++11 17.5 [support.start.term] "thread safe" is undefined Yes 1145(i) Resolved 32.5 [atomics] Inappropriate headers for atomics Yes 1146(i) Resolved 32.5.5 [atomics.lockfree] "lockfree" does not say enough Yes 1147(i) Resolved 32.5.8.2 [atomics.types.operations] Non-volatile atomic functions Yes 1148(i) NAD 31.7 [iostream.format] Wrong argument type of I/O stream manipulators setprecision()
and setw()
Yes 1149(i) NAD Concepts 99 [rand.concept.urng] Reformulating NonemptyRange axiom Yes 1150(i) Resolved 31.10.6 [fstream] wchar_t, char16_t and char32_t filenames Yes 1151(i) Resolved 16 [library] Behavior of the library in the presence of threads is incompletely specified Yes 1152(i) C++11 28.3.4.3.3.3 [facet.num.put.virtuals] Expressions parsed differently than intended Yes 1153(i) NAD 16 [library] Standard library needs review for constructors to be explicit to avoid treatment as initializer-list constructor Yes 1154(i) NAD 29.4 [complex.numbers] complex
should accept integral types Yes 1155(i) NAD Editorial C.8 [diff.library] Reference should be to C99 Yes 1156(i) NAD 16.3.3.3.2 [enumerated.types] Constraints on bitmask and enumeration types to be tightened Yes 1157(i) C++11 16.4.5.2.1 [namespace.std] Local types can now instantiate templates Yes 1158(i) C++11 32.2.4 [thread.req.timing] Encouragement to use monotonic clock Yes 1159(i) C++11 32.6.5.4.3 [thread.lock.unique.locking] Unclear spec for resource_deadlock_would_occur
Yes 1219 1160(i) Resolved 32.10.4 [futures.future.error] future_error
public constructor is 'exposition only' Yes 1161(i) Resolved 32.10.7 [futures.unique.future] Unnecessary unique_future
limitations Yes 1162(i) Resolved 32.10.8 [futures.shared.future] shared_future
should support an efficient move constructor Yes 1163(i) Resolved 32.10.8 [futures.shared.future] shared_future
is inconsistent with shared_ptr
Yes 1164(i) NAD 32.10.6 [futures.promise] promise::swap
should pass by rvalue reference Yes 1165(i) Resolved 32.10.6 [futures.promise] Unneeded promise
move constructor Yes 1166(i) Resolved 99 [allocator.propagation] Allocator-specific move/copy break model of move-constructor and move-assignment Yes 1167(i) NAD Concepts 22.3 [pairs] pair<T,U>
doesn't model LessThanComparable
in unconstrained code even if T
and U
do. Yes 1168(i) NAD Editorial 22.9.2.3 [bitset.members] Odd wording for bitset equality operators Yes 1169(i) C++17 28.3.4.3.2.3 [facet.num.get.virtuals] num_get
not fully compatible with strto*
Yes 3 1170(i) C++11 27.1 [strings.general] String char-like types no longer PODs Yes 1171(i) C++11 30.5 [time.duration] duration types should be literal Yes 1172(i) Resolved 99 [allocator.concepts.members] select_on_container_(copy|move)_construction
over-constrained Yes 1173(i) NAD 16 [library] "Equivalence" wishy-washiness Yes 3 1174(i) Resolved 21.3.6.4 [meta.unary.prop] Type property predicates Yes 1175(i) Open 23.2.8 [unord.req] unordered
complexity Yes 3 1176(i) NAD 32.4.3.3 [thread.thread.constr] Make thread
constructor non-variadic Yes 1177(i) C++11 30.5 [time.duration] Improve "diagnostic required" wording Yes 1178(i) C++11 16.4.6.2 [res.on.headers] Header dependencies Yes 1179(i) NAD Editorial 16.3.2.4 [structure.specifications] Probably editorial in [structure.specifications] Yes 1180(i) C++11 28.6.8.2 [re.submatch.members] Missing string_type
member typedef in class sub_match
Yes 1181(i) C++11 28.6.8.3 [re.submatch.op] Invalid sub_match
comparison operators Yes 1182(i) C++11 22.10.19 [unord.hash] Unfortunate hash dependencies Yes 1183(i) C++11 31.5.4.3 [basic.ios.members] basic_ios::set_rdbuf
may break class invariants Yes 1184(i) NAD 23.3.13 [vector] Feature request: dynamic bitset Yes 1185(i) Resolved 24.3 [iterator.requirements] Iterator categories and output iterators Yes 1186(i) NAD Concepts 23.6.6 [stack] Forward list could model a stack Yes 1187(i) C++11 21.3.9.7 [meta.trans.other] std::decay
Yes 1188(i) NAD 23.2.8 [unord.req] Unordered containers should have a minimum load factor as well as a maximum Yes 1189(i) C++11 23.2.8 [unord.req] Awkward interface for changing the number of buckets in an unordered associative container Yes 1190(i) NAD 23.2.8 [unord.req] Setting the maximum load factor should return the previous value Yes 1191(i) C++11 22.4.8 [tuple.elem] tuple get
API should respect rvalues Yes 1192(i) C++11 27.4.3.4 [string.iterators] basic_string
missing definitions for cbegin
/ cend
/ crbegin
/ crend
Yes 1193(i) C++11 20.3.1.2 [unique.ptr.dltr] default_delete
cannot be instantiated with incomplete types Yes 1194(i) C++11 23.6 [container.adaptors] Unintended queue
constructor Yes 1195(i) C++11 16 [library] "Diagnostic required" wording is insufficient to prevent UB Yes 1196(i) Resolved 23.6.4.2 [priqueue.cons] move semantics undefined for priority_queue Yes 1197(i) C++11 23.2.8 [unord.req] Can unordered containers have bucket_count() == 0
? Yes 1198(i) C++11 23.6 [container.adaptors] Container adaptor swap: member or non-member? Yes 1199(i) C++11 23.6 [container.adaptors] Missing extended copy constructor in container adaptors Yes 1200(i) NAD 27.2.3 [char.traits.typedefs] "surprising" char_traits<T>::int_type
requirements Yes 1201(i) Resolved 22.4.5 [tuple.creation] Do we always want to unwrap ref
-wrappers in make_tuple
Yes 1202(i) NAD 21.3.4 [meta.help] integral_constant
needs a spring clean Yes 1203(i) C++20 31.7.6.6 [ostream.rvalue] More useful rvalue stream insertion Yes 2 1204(i) C++11 16.4.5.9 [res.on.arguments] Global permission to move Yes 1205(i) C++11 26 [algorithms] Some algorithms could more clearly document their handling of empty ranges Yes 1206(i) C++11 26.7.2 [alg.move] Incorrect requires for move_backward
and copy_backward
Yes 1207(i) C++11 23.3.11.5 [list.ops] Underspecified std::list
operations? Yes 1208(i) C++11 29.6.2.2 [valarray.cons] valarray initializer_list
constructor has incorrect effects Yes 1209(i) C++11 28.6.9.2 [re.results.const] match_results
should be moveable Yes 1210(i) Resolved 24.3 [iterator.requirements] Iterator reachability should not require a container Yes 1211(i) Resolved 24.5.4.2 [move.iterator] Move iterators should be restricted as input iterators Yes 1212(i) Resolved 24.3 [iterator.requirements] result of post-increment/decrement operator Yes 1213(i) Open 24.3 [iterator.requirements] Meaning of valid and singular iterator underspecified No 4 1214(i) C++14 23.2.7 [associative.reqmts] Insufficient/inconsistent key immutability requirements for associative containers Yes 1215(i) C++11 23.3.11.5 [list.ops] list::merge
with unequal allocators Yes 1216(i) C++11 17.9.8 [except.nested] LWG 1066 Incomplete? Yes 1217(i) NAD 29.4 [complex.numbers] Quaternion support Yes 1218(i) C++11 32.6.4 [thread.mutex.requirements] mutex destructor synchronization Yes 1219(i) Dup 32.6.5.4.3 [thread.lock.unique.locking] unique_lock::lock and resource_deadlock_would_occur Yes 1159 1220(i) C++11 32.7 [thread.condition] What does condition_variable
wait on? Yes 1221(i) C++11 32.7.4 [thread.condition.condvar] condition_variable
wording Yes 1222(i) C++11 32.7 [thread.condition] condition_variable incorrect effects for exception safety Yes 1223(i) NAD 32.7.5 [thread.condition.condvarany] condition_variable_any lock matching? Yes 1224(i) NAD 32.7.5 [thread.condition.condvarany] condition_variable_any support for recursive mutexes? Yes 1225(i) Resolved 99 [func.ret] C++0x result_of
issue Yes 1226(i) Resolved 32.10.3 [futures.errors] Incomplete changes of #890 Yes 1227(i) C++11 22.9.2 [template.bitset] <bitset>
synopsis overspecified Yes 1228(i) NAD 21.3.6.4 [meta.unary.prop] User-specialized nothrow type traits Yes 1229(i) Resolved 19.5.4.3 [syserr.errcode.modifiers] error_code operator=
typo Yes 1230(i) Dup 22.10.16 [func.memfn] mem_fn
and variadic templates Yes 920 1231(i) C++11 20.3.2.3.6 [util.smartptr.weak.obs] weak_ptr
comparisons incompletely resolved Yes 1232(i) NAD Editorial 16 [library] Still swap
's with rvalue-references Yes 1233(i) NAD Editorial 20.2 [memory] Missing unique_ptr
signatures in synopsis Yes 1234(i) C++11 23.2.4 [sequence.reqmts] "Do the right thing" and NULL
Yes 1235(i) NAD 29.5.3.6 [rand.req.dist] Issue with C++0x random number proposal Yes 1236(i) NAD 16 [library] reserved identifiers in programs not using the library Yes 1237(i) C++11 19.5 [syserr] Constrained error_code
/error_condition members
Yes 1238(i) Open 26 [algorithms] Defining algorithms taking iterator for range No 3 1239(i) NAD Editorial 21.3.6.4 [meta.unary.prop] Defect report Yes 1240(i) C++11 22.10.17.3 [func.wrap.func] Deleted comparison functions of std::function
not needed Yes 1241(i) C++11 26.7.9 [alg.unique] unique_copy
needs to require EquivalenceRelation
Yes 1242(i) NAD 23 [containers] Enable SCARY iterators Yes 1243(i) NAD 29.6.2.7 [valarray.cassign] Missing operator+= (initializer_list<T>)
for valarray
Yes 1244(i) Resolved 32.10 [futures] wait_*()
in *future
for synchronous functions Yes 1245(i) C++11 22.10.19 [unord.hash] std::hash<string>
& co Yes 1246(i) NAD 23.3.13.3 [vector.capacity] vector::resize()
missing efficiency guarantee Yes 1247(i) C++11 99 [auto.ptr] auto_ptr
is overspecified Yes 1248(i) Resolved 23.5 [unord] Equality comparison for unordered containers Yes 1249(i) C++11 31.5.4.2 [basic.ios.cons] basic_ios
default ctor Yes 1250(i) C++11 22.9.2 [template.bitset] <bitset>
still overspecified Yes 1251(i) NAD 31.8.2.2 [stringbuf.cons] move constructing basic_stringbuf
Yes 1252(i) C++11 99 [depr.conversions.buffer] wbuffer_convert::state_type
inconsistency Yes 1253(i) C++11 23.2.7 [associative.reqmts] invalidation of iterators and emplace
vs. insert
inconsistence in assoc. containers Yes 1254(i) C++11 23.3.14 [vector.bool] Misleading sentence in vector<bool>::flip
Yes 1255(i) C++11 22.2 [utility] declval
should be added to the library Yes 1256(i) C++11 20.3.2.3 [util.smartptr.weak] weak_ptr
comparison functions should be removed Yes 1257(i) C++11 31.5 [iostreams.base] Header <ios> still contains a concept_map
Yes 1258(i) Resolved 22.10.17.3.3 [func.wrap.func.mod] std::function Effects clause impossible to satisfy Yes 1259(i) NAD 23.2.4 [sequence.reqmts] Should initializer-list constructors move elements? Yes 1260(i) Resolved 21.3.6.4 [meta.unary.prop] is_constructible<int*,void*>
reports true Yes 1261(i) C++11 27.4.5 [string.conversions] Insufficent overloads for to_string
/ to_wstring
Yes 1262(i) C++11 20.3.2.2.8 [util.smartptr.shared.cmp] std::less<std::shared_ptr<T>>
is underspecified Yes 1263(i) NAD 28.6.3 [re.syn] missing swap
overloads for regex
Yes 1264(i) C++11 16.4.2.5 [compliance] quick_exit
support for freestanding implementations Yes 1265(i) NAD 17.14 [support.runtime] longjmp
and destructors Yes 1266(i) Resolved 32.10.8 [futures.shared.future] shared_future::get
and deferred async
functions Yes 1267(i) C++11 32.7.5 [thread.condition.condvarany] Incorrect wording for condition_variable_any::wait_for
Yes 1268(i) Resolved 32.6 [thread.mutex] The Mutex requirements in 30.4.1 and 30.4.2 are wrong Yes 1269(i) Resolved 32.10.5 [futures.state] Associated state doesn't account for async
Yes 1270(i) C++11 99 [func.ret] result_of
should be moved to <type_traits>
Yes 1271(i) C++11 30.5.6 [time.duration.nonmember] CR
undefined in duration operators Yes 1272(i) Resolved 32.10.6 [futures.promise] confusing declarations of promise::set_value
Yes 1273(i) Resolved 32.10.7 [futures.unique.future] future::valid
should be callable on an invalid future Yes 1274(i) Resolved 99 [futures.atomic_future] atomic_future
constructor Yes 1275(i) Resolved 32.10 [futures] Creating and setting futures Yes 1276(i) C++11 23.3.7 [forward.list] forwardlist
missing allocator constructors Yes 1277(i) C++11 32.4.3.2 [thread.thread.id] std::thread::id
should be trivially copyable Yes 1278(i) C++11 23.3.7.5 [forward.list.modifiers] Inconsistent return values for forward_list::insert_after
Yes 1279(i) C++11 99 [depr.base] forbid [u|bi]nary_function
specialization Yes 1280(i) C++11 24.6.2.2 [istream.iterator.cons] Initialization of stream iterators Yes 1281(i) Resolved 21.5.3 [ratio.ratio] CopyConstruction and Assignment between ratios having the same normalized form Yes 1282(i) NAD 26 [algorithms] A proposal to add std::split
algorithm Yes 1283(i) Resolved 16.4.4.2 [utility.arg.requirements] MoveConstructible
and MoveAssignable
need clarification of moved-from state Yes 1284(i) C++11 23.3.14 [vector.bool] vector<bool> initializer_list
constructor missing an allocator argument Yes 1285(i) C++11 20.2.9.3 [allocator.traits.members] allocator_traits
call to new
Yes 1286(i) C++11 20.2.9.3 [allocator.traits.members] allocator_traits::select_on_container_copy_construction
type-o Yes 1287(i) C++11 22.10.17.3.2 [func.wrap.func.con] std::function
requires CopyConstructible
target object Yes 1288(i) C++11 22.10.17.3.2 [func.wrap.func.con] std::function
assignment from rvalues Yes 1289(i) NAD 22.2 [utility] Generic casting requirements for smart pointers Yes 1290(i) Resolved 22.10 [function.objects] Don't require [u|bi]nary_function
inheritance Yes 1291(i) Resolved 32.10.6 [futures.promise] Exceptions thrown during promise::set_value
Yes 1292(i) C++11 22.10.17.3.2 [func.wrap.func.con] std::function
should support all callable types Yes 1293(i) Resolved 20.3.1.4 [unique.ptr.runtime] unique_ptr<T[], D>
needs to get rid of unspecified-pointer-type Yes 1294(i) C++11 22.10.4 [func.require] Difference between callable wrapper and forwarding call wrapper unclear Yes 1295(i) C++11 22.10.4 [func.require] Contradictory call wrapper requirements Yes 1296(i) NAD 23.4.3 [map] map
and multimap value_compare
overspecified Yes 1297(i) Resolved 20.3.1.6 [unique.ptr.special] unique_ptr
's relational operator functions should induce a total order Yes 1298(i) C++11 28.3.2 [locale.syn] Missing specialization of ctype_byname<char>
Yes 1299(i) C++11 31.7.8 [ext.manip] Confusing typo in specification for get_time
Yes 1300(i) Resolved 32.10.6 [futures.promise] Circular definition of promise::swap
Yes 1301(i) NAD Editorial 23.2.4 [sequence.reqmts] clear()
and assignment Yes 1302(i) NAD 23.2.7 [associative.reqmts] different emplace
semantics for sequence and associated containers Yes 1303(i) C++11 20.3.1.3 [unique.ptr.single] shared_ptr
, unique_ptr
, and rvalue references v2 Yes 1304(i) Resolved 32.10.8 [futures.shared.future] Missing preconditions for shared_future
Yes 1305(i) Resolved 99 [futures.atomic_future] preconditions for atomic_future
Yes 1306(i) C++11 23.3.3 [array] pointer
and const_pointer
for <array>
Yes 1307(i) Resolved 17.9.7 [propagation] exception_ptr
and allocator
pointers don't understand != Yes 1308(i) NAD 26.8.9 [alg.min.max] Concerns about initializer_list
overloads of min
, max
, and minmax
Yes 1309(i) C++11 16.4.4.2 [utility.arg.requirements] Missing expressions for Move/CopyConstructible
Yes 1310(i) C++11 23.3.7.6 [forward.list.ops] forward_list splice_after
from lvalues Yes 1311(i) Resolved 24.3.5.5 [forward.iterators] multi-pass property of Forward Iterator underspecified Yes 1312(i) C++11 23.3.13.4 [vector.data] vector::data
no longer returns a raw pointer Yes 1313(i) NAD 29.5.8.1 [rand.util.seedseq] Seed sequence's param function not useful for pure output iterator Yes 1314(i) NAD 17.2 [support.types] NULL
and nullptr
Yes 1315(i) NAD Editorial 32.10.9 [futures.async] return type of async
Yes 1316(i) C++11 20.6 [allocator.adaptor] scoped_allocator_adaptor operator==
has no definition Yes 1317(i) NAD 22.10.19 [unord.hash] make_hash Yes 1318(i) NAD 20.2.9.2 [allocator.traits.types] N2982 removes previous allocator capabilities Yes 1375 1319(i) C++11 23.2.2 [container.requirements.general] Containers should require an iterator that is at least a Forward Iterator Yes 1320(i) NAD 24.2 [iterator.synopsis] Header for iter_swap
Yes 1321(i) Resolved 20.6.4 [allocator.adaptor.members] scoped_allocator_adaptor construct
and destroy
don't use allocator_traits
Yes 1322(i) Resolved 16.4.4.2 [utility.arg.requirements] Explicit CopyConstructible
requirements are insufficient Yes 1323(i) C++11 27.4.3.7.6 [string.replace] basic_string::replace
should use const_iterator
Yes 1324(i) Resolved 22.3.2 [pairs.pair] Still too many implicit conversions for pair
and tuple
Yes 1325(i) C++11 22.9.2.2 [bitset.cons] bitset
Yes 1326(i) Resolved 22.3.2 [pairs.pair] Missing/wrong preconditions for pair
and tuple
functions Yes 1327(i) Resolved 29.7 [c.math] templates defined in <cmath>
replacing C macros with the same name Yes 1328(i) Resolved 31.7.5.2.4 [istream.sentry] istream extractors not setting failbit
if eofbit
is already set Yes 1329(i) Resolved 23.2.3 [container.requirements.dataraces] Data races on vector<bool>
Yes 1330(i) NAD 23.2 [container.requirements] Move container requirements into requirements tables Yes 1331(i) NAD 16 [library] incorporate move special member functions into library Yes 1332(i) C++11 16.4.4.5 [hash.requirements] Let Hash objects throw! Yes 1333(i) C++11 22.10.17.3.5 [func.wrap.func.inv] Missing forwarding during std::function
invocation Yes 1334(i) C++11 24.5.2.2.2 [back.insert.iter.ops] Insert iterators are broken for some proxy containers compared to C++03 Yes 1335(i) C++11 22.4.9 [tuple.rel] Insufficient requirements for tuple::operator<()
Yes 1337(i) C++11 28.6.6 [re.traits] Swapped arguments in regex_traits::isctype
Yes 1338(i) C++11 26.6.15 [alg.search] LWG 1205 incorrectly applied Yes 1339(i) C++11 26.11.7 [uninitialized.fill] uninitialized_fill_n
should return the end of its range Yes 1340(i) C++11 23.3.7.5 [forward.list.modifiers] Why does forward_list::resize
take the object to be copied by value? Yes 1344(i) Resolved 16 [library] Replace throw()
with noexcept
Yes 1351 1345(i) Resolved 16 [library] Library classes should have noexcept
move operations Yes 1346(i) Resolved 16 [library] Apply noexcept
where library specification does not permit exceptions Yes 1352 1347(i) Resolved 16 [library] Apply noexcept
judiciously throughout the library Yes 1348(i) NAD 16 [library] Exception safety of unspecified types Yes 1349(i) C++11 16 [library] swap
should not throw Yes 1350(i) Dup 16 [library] Implicit contructors accidentally made some library types move-only Yes 1421 1351(i) Dup 16 [library] Replace dynamic exception specifications with noexcept
Yes 1344 1352(i) Dup 16 [library] Apply noexcept
where library specification says "Throws: Nothing" Yes 1346 1353(i) Resolved 16 [library] Clarify the state of a moved-from object Yes 1354(i) C++11 3.16 [defns.deadlock] The definition of deadlock excludes cases involving a single thread Yes 1355(i) Resolved 99 [defns.move.assign.op] The definition of move-assignment operator is redundant Yes 1356(i) Resolved 99 [defns.move.ctor] The definition of move-constructor is redundant Yes 1357(i) Resolved 16.3.3.3.3 [bitmask.types] Library bitmask types to not satisfy the bimask type requirements Yes 1358(i) NAD 16.4.2.5 [compliance] Add <chrono>
and <ratio>
to freestanding implementations Yes 1359(i) NAD 16.4.2.5 [compliance] Add <tuple>
and <utility>
to freestanding implementations Yes 1360(i) C++11 16.4.2.5 [compliance] Add <atomic>
to free-standing implementations Yes 1361(i) NAD 16.4.3 [using] Does use of std::size_t
in a header imply that typedef name is available to users? Yes 1362(i) C++11 16.4.5.9 [res.on.arguments] Description of binding to rvalue-references should use the new 'xvalue' vocabulary Yes 1363(i) C++11 17.2 [support.types] offsetof
should be marked noexcept
Yes 1364(i) Resolved 17.9.7 [propagation] It is not clear how exception_ptr
is synchronized Yes 1365(i) Resolved 17.6.4 [alloc.errors] Thread-safety of handler functions Yes 1366(i) Resolved 17.6.3.5 [new.delete.dataraces] New-handler and data races Yes 1367(i) C++11 99 [exception.unexpected] Deprecate library support for checking dynamic exception specifications Yes 1368(i) C++11 99 [depr.uncaught] Thread safety of std::uncaught_exception()
Yes 1369(i) NAD 17.9.7 [propagation] rethrow_exception
may introduce data races Yes 1370(i) C++11 17.9.8 [except.nested] throw_with_nested
should not use perfect forwarding Yes 1371(i) NAD 19 [diagnostics] Standard exceptions require stronger no-throw guarantees Yes 1372(i) C++11 19.5.3.5 [syserr.errcat.objects] Adopt recommended practice for standard error categories Yes 1373(i) NAD 22.2 [utility] Customizable traits should have their own headers Yes 1374(i) NAD 16.4.4.2 [utility.arg.requirements] Clarify moved-from objects are "toxic" Yes 1375(i) Dup 16.4.4.6 [allocator.requirements] reference_type
should not have been removed from the allocator requirements Yes 1318 1376(i) NAD 16.4.4.6 [allocator.requirements] Allocator interface is not backward compatible Yes 1377(i) Resolved 22.2 [utility] The revised forward
is not compatible with access-control Yes 1378(i) Resolved 22.3 [pairs] pair
and tuple
have too many conversions Yes 1379(i) Resolved 22.3.2 [pairs.pair] pair
copy-assignment not consistent for references Yes 1380(i) Resolved 22.3 [pairs] pair
and tuple
of references need to better specify move-semantics Yes 1381(i) C++11 99 [pair.range] Replace pair
's range support by proper range facility Yes 1382(i) Resolved 22.3 [pairs] pair
and tuple
constructors should forward
arguments Yes 1383(i) Resolved 22.3 [pairs] Inconsistent defaulted move/copy members in pair
and tuple
Yes 1384(i) C++11 22.4.5 [tuple.creation] Function pack_arguments
is poorly named Yes 1385(i) C++11 22.4.5 [tuple.creation] tuple_cat
should be a single variadic signature Yes 1386(i) C++11 22.4.5 [tuple.creation] pack_arguments
overly complex Yes 1387(i) C++11 99 [tuple.range] Range support by tuple
should be removed Yes 1388(i) C++11 21.5.3 [ratio.ratio] LWG 1281 incorrectly accepted Yes 1389(i) Resolved 21.5.4 [ratio.arithmetic] Compile-time rational arithmetic and overflow Yes 1390(i) Resolved 21 [meta] Limit speculative compilation for constructible/convertible traits Yes 1391(i) Resolved 21 [meta] constructible/convertible traits and access control Yes 1392(i) Resolved 21.3.6 [meta.unary] result_of
should support pointer-to-data-member Yes 1393(i) Resolved 21.3.6.4 [meta.unary.prop] Trivial traits imply noexcept
Yes 1394(i) Resolved 21.3.6.4 [meta.unary.prop] is_constructible
reports false positives Yes 1395(i) NAD Editorial 21.3.8 [meta.rel] Inconsistent reference links should be unified Yes 1396(i) NAD 28.6.7 [re.regex] regex
should support allocators Yes 1451 1397(i) Resolved 22.10 [function.objects] Deprecate '98 binders Yes 1398(i) NAD 22.10 [function.objects] Users should be able to specialize functors without depending on whole <functional>
header Yes 1399(i) C++11 22.10.17.3 [func.wrap.func] function
does not need an explicit
default constructor Yes 1400(i) C++11 22.10.17.3.2 [func.wrap.func.con] FCD function
does not need an explicit
default constructor Yes 1401(i) C++11 20.2 [memory] Provide support for unique_ptr<T> == nullptr
Yes 1402(i) C++11 20.2 [memory] nullptr
constructors for smart pointers should be constexpr
Yes 1403(i) C++11 20.2.7 [allocator.tag] Inconsistent definitions for allocator_arg
Yes 1404(i) C++11 20.2.3 [pointer.traits] pointer_traits
should have a size_type
member Yes 1405(i) Resolved 20.6 [allocator.adaptor] Move scoped_allocator_adaptor
into separate header Yes 1406(i) NAD 20.3.2.2 [util.smartptr.shared] Support hashing smart-pointers based on owner Yes 1407(i) Resolved 20.3.2.2.2 [util.smartptr.shared.const] Synch shared_ptr
constructors taking movable types Yes 1408(i) C++11 99 [util.dynamic.safety] Allow recycling of pointers after undeclare_no_pointers
Yes 1409(i) Resolved 99 [time.clock.monotonic] Specify whether monotonic_clock
is a distinct type or a typedef Yes 1410(i) Resolved 99 [time.clock.monotonic] Add a feature-detect macro for monotonic_clock
Yes 1411 1411(i) Dup 99 [time.clock.monotonic] Add a compile-time flag to detect monotonic_clock
Yes 1410 1412(i) Resolved 99 [time.clock.monotonic] Make monotonic clocks mandatory Yes 1413(i) NAD 30.7.8 [time.clock.hires] Specify whether high_resolution_clock
is a distinct type or a typedef Yes 1414(i) C++11 27.2.4.4 [char.traits.specializations.char16.t] Fixing remaining dead links to POS_T
and OFF_T
Yes 1444 1415(i) NAD Editorial 23.2.2 [container.requirements.general] Iterator stability bans the short-string optimization Yes 1416(i) C++11 23.2 [container.requirements] forward_list::erase_after
should not be allowed to throw Yes 1417(i) C++11 23.3.3.5 [array.zero] front/back
on a zero-sized array
should be undefined Yes 1418(i) C++11 23.3.5.3 [deque.capacity] Effects of resize(size())
on a deque
Yes 1419(i) NAD Editorial 23.3.7 [forward.list] forward_list::erase_after
should return an iterator Yes 1420(i) C++11 23.3.11.3 [list.capacity] Effects of resize(size())
on a list
Yes 1421(i) Resolved 23.6 [container.adaptors] Accidental move-only library types due to new core language rules Yes 1350 1422(i) Open 23.3.14 [vector.bool] vector<bool>
iterators are not random access No 3 1423(i) C++11 23.4.3 [map] map
constructor accepting an allocator as single parameter should be explicit Yes 1424(i) C++11 23.4.4 [multimap] multimap
constructor accepting an allocator as a single parameter should be explicit Yes 1425(i) C++11 23.4.6 [set] set
constructor accepting an allocator as a single parameter should be explicit Yes 1426(i) C++11 23.4.7 [multiset] multiset
constructor accepting an allocator as a single parameter should be explicit Yes 1427(i) C++11 23.5.3 [unord.map] unordered_map
constructor accepting an allocator as a single parameter should be explicit Yes 1428(i) C++11 23.5.4 [unord.multimap] unordered_multimap
constructor accepting an allocator as a single parameter should be explicit Yes 1429(i) C++11 23.5.6 [unord.set] unordered_set
constructor accepting an allocator as a single parameter should be explicit Yes 1430(i) C++11 23.5.7 [unord.multiset] unordered_multiset
constructor accepting an allocator as a single parameter should be explicit Yes 1431(i) C++11 26.6.14 [alg.is.permutation] is_permutation
must be more restrictive Yes 1432(i) C++11 26.7.13 [alg.random.shuffle] random_shuffle
signatures are inconsistent Yes 1433 1433(i) Dup 26.7.13 [alg.random.shuffle] random_shuffle
and shuffle
should have consistent signatures Yes 1432 1434(i) NAD Editorial 26.8.9 [alg.min.max] For min/max
functions replace variadic arguments by initializer_list
argument Yes 1435(i) C++11 29.4.7 [complex.value.ops] Unclear returns specifications for C99 complex number functions Yes 1436(i) C++11 29.5.4 [rand.eng] Random number engine constructor concerns Yes 1437(i) C++11 29.5.4.3 [rand.eng.mers] Mersenne twister meaningless for word sizes less than two Yes 1438(i) C++11 29.5.5.2 [rand.adapt.disc] No definition for base()
Yes 1439(i) C++11 29.5.9.6.2 [rand.dist.samp.pconst] Return from densities()
functions? Yes 1440(i) C++11 29.5.9.6.3 [rand.dist.samp.plinear] Incorrect specification for piecewise_linear_distribution
Yes 1441(i) C++11 29.7 [c.math] Floating-point test functions are incorrectly specified Yes 1442(i) NAD Editorial 32 [thread] "happens-before" should be "synchronizes-with" Yes 1443 1443(i) Dup 32 [thread] Imposed happens-before edges are not made transitive Yes 1442 1444(i) Dup 31.5.3.3 [fpos.operations] OFF_T
is not defined Yes 1414 1445(i) Resolved 31.7 [iostream.format] Several iostreams member functions incorrectly specified Yes 1446(i) NAD 31.7 [iostream.format] Move and swap for I/O streams Yes 1447(i) Resolved 31.7 [iostream.format] Request to resolve issue LWG 1328 Yes 1448(i) C++11 31.8.2.4 [stringbuf.members] Concerns about basic_stringbuf::str(basic_string)
postconditions Yes 1449(i) C++11 31.8.3 [istringstream] Incomplete specification of header <cinttypes>
Yes 1450(i) C++14 28.6.4.3 [re.matchflag] Contradiction in regex_constants
Yes 3 1451(i) Dup 28.6.7 [re.regex] regex
should support allocators Yes 1396 1452(i) NAD 28.6.9.5 [re.results.acc] "target sequence" is not defined Yes 1453(i) Resolved 28.6.9.5 [re.results.acc] Default constructed match_results
behavior for certain operations Yes 1454(i) Dup 32.5 [atomics] Ensure C compatibility for atomics Yes 1455 1455(i) Resolved 32.5 [atomics] C language compatibility for atomics Yes 1454 1456(i) NAD 32.5 [atomics] Missing fixed-size atomic_
typedefs Yes 1457(i) Resolved 32.5.2 [atomics.syn] Splitting lock-free properties Yes 1458(i) Dup 32.5.4 [atomics.order] Overlapping evaluations are allowed Yes 1459 1459(i) LEWG 32.5.4 [atomics.order] Overlapping evaluations are allowed No 1458 1460(i) Resolved 32.5.5 [atomics.lockfree] Missing lock-free property for type bool
should be added Yes 1461(i) NAD 32.5 [atomics] Rename all ATOMIC_*
macros as STD_ATOMIC_*
Yes 1462(i) Resolved 99 [atomics.types.integral] Ambiguous value assignment to atomic_bool
Yes 1463 1463(i) Dup 99 [atomics.types.integral] Inconsistent value assignment for atomic_bool
Yes 1462 1464(i) Resolved 99 [atomics.types.integral] Underspecified typedefs for atomic integral types Yes 1465(i) Resolved 99 [atomics.types.address] Missing arithmetic operators for atomic_address
Yes 1466(i) Resolved 99 [atomics.types.address] Silent const
breakage by compare_exchange_*
member functions Yes 1467(i) Resolved 99 [atomics.types.address] Deriving atomic<T*>
from atomic_address
breaks type safety Yes 1468(i) Resolved 99 [atomics.types.address] atomic_address::compare_exchange_*
member functions should match atomic_compare_exchange_*
free functions Yes 1469(i) Resolved 32.5.8 [atomics.types.generic] atomic<T*>
inheritance from atomic_address
breaks type safety Yes 1470(i) Dup 32.5.8.2 [atomics.types.operations] "Same-ness" curiosities Yes 1474 1471(i) NAD Editorial 32.5.8.2 [atomics.types.operations] Default constructor of atomics needs specification Yes 1472(i) NAD Editorial 32.5.8.2 [atomics.types.operations] Incorrect semantics of atomic_init
Yes 1473(i) NAD 32.5.8.2 [atomics.types.operations] Incomplete memory order specifications Yes 1474(i) C++11 32.5.8.2 [atomics.types.operations] weak compare-and-exchange confusion Yes 1470, 1475, 1476, 1477 1475(i) Dup 32.5.8.2 [atomics.types.operations] weak compare-and-exchange confusion II Yes 1474 1476(i) Dup 32.5.8.2 [atomics.types.operations] Meaningless specification of spurious failure Yes 1474 1477(i) Dup 32.5.8.2 [atomics.types.operations] weak compare-and-exchange confusion III Yes 1474 1478(i) C++11 32.5.8.2 [atomics.types.operations] Clarify race conditions in atomics initialization Yes 1479(i) C++11 32.5.11 [atomics.fences] Fence functions should be extern "C"
Yes 1480(i) C++11 32.5.11 [atomics.fences] Atomic fences don't have synchronizes with relation Yes 1481(i) Resolved 32.2 [thread.req] Missing Lockable requirements Yes 1482(i) Resolved 32.2.4 [thread.req.timing] Timeout operations are under-specified Yes 1483(i) NAD Editorial 32.4 [thread.threads] __STDCPP_THREADS spelling
Yes 1484(i) LEWG 32.4.3 [thread.thread.class] Need a way to join a thread with a timeout No 1485(i) NAD 32.4.3.2 [thread.thread.id] Unclear thread::id
specification Yes 1486(i) NAD 32.4.5 [thread.thread.this] Value of this_thread::get_id()
underspecified for detached thread Yes 1487(i) C++11 32.4.5 [thread.thread.this] Clock related operations exception specifications conflict Yes 1488(i) LEWG 32.6 [thread.mutex] Improve interoperability between the C++0x and C1x threads APIs No 1489(i) NAD Editorial 32.6 [thread.mutex] unlock
functions and unlock mutex requirements are inconsistent Yes 1490(i) Resolved 32.6.4 [thread.mutex.requirements] Mutex requirements too stringent Yes 1491(i) Resolved 32.6.4 [thread.mutex.requirements] try_lock
does not guarantee forward progress Yes 1492(i) Resolved 32.6.4 [thread.mutex.requirements] Mutex requirements should not be bound to threads Yes 1493(i) LEWG 32.6.4 [thread.mutex.requirements] Add mutex
, recursive_mutex
, is_locked
function No 1494(i) C++11 32.6.7.2 [thread.once.callonce] Term "are serialized" not defined Yes 1495(i) NAD Editorial 32.7 [thread.condition] Condition variable wait_for
return value insufficient Yes 1496(i) NAD Editorial 32.7.4 [thread.condition.condvar] condition_variable
not implementable Yes 1497(i) C++11 32.7 [thread.condition] lock()
postcondition can not be generally achieved Yes 1498(i) Resolved 32.7 [thread.condition] Unclear specification for [thread.condition] Yes 1499(i) NAD 32.7 [thread.condition] Condition variables preclude wakeup optimization Yes 1500(i) NAD Editorial 32.7.5 [thread.condition.condvarany] Consider removal of native_handle()
Yes 1501(i) Resolved 32.10 [futures] Specification for managing associated asynchronous state has problems Yes 1502(i) Resolved 32.10.5 [futures.state] Specification of [futures.state] unclear Yes 1503(i) NAD Editorial 32.10.5 [futures.state] "associated asynchronous state" must go Yes 1504(i) Resolved 32.10.6 [futures.promise] Term "are serialized" is not defined Yes 1505(i) Resolved 32.10.6 [futures.promise] Synchronization between promise::set_value
and future::get
Yes 1506(i) NAD Editorial 32.10.6 [futures.promise] set_exception
with a null pointer Yes 1507(i) Resolved 32.10.6 [futures.promise] promise::XXX_at_thread_exit
functions have no synchronization requirements Yes 1508(i) Resolved 32.10.10 [futures.task] Rename packaged_task::operator bool()
Yes 1509(i) NAD Editorial 99 [futures.atomic_future] No restriction on calling future::get
more than once Yes 1510(i) NAD Editorial 99 [futures.atomic_future] Should be undefined behaviour to call atomic_future
operations unless valid()
Yes 1511(i) NAD Editorial 99 [futures.atomic_future] Synchronize the move-constructor for atomic_future
Yes 1512(i) NAD Editorial 32.10.9 [futures.async] Conflict in specification: block or join? Yes 1513(i) Resolved 32.10 [futures] 'launch' enum too restrictive Yes 1514(i) C++11 32.10.10.2 [futures.task.members] packaged_task
constructors need review Yes 1515(i) Resolved 32.10.10.2 [futures.task.members] packaged_task::make_ready_at_thread_exit
has no synchronization requirements Yes 1516(i) C++11 99 [depr.auto.ptr] No specification for which header contains auto_ptr
Yes 1517(i) C++11 20.3.1.2.2 [unique.ptr.dltr.dflt] default_delete's default constructor should be trivial Yes 1518(i) C++11 32.10 [futures] Waiting for deferred functions Yes 1519(i) C++11 23.5.3 [unord.map] bucketsize() const only for unordered set Yes 1520(i) C++11 22.10.4 [func.require] INVOKE
on member data pointer with too many arguments Yes 1521(i) Open 23.2.2 [container.requirements.general] Requirements on internal pointer representations in containers Yes 3 1522(i) C++11 29.4.10 [cmplx.over] conj
specification is now nonsense Yes 1523(i) Resolved 32.5 [atomics] noexcept
for Clause 29 Yes 1524(i) C++11 17.6.3.5 [new.delete.dataraces] Allocation functions are missing happens-before requirements and guarantees Yes 1525(i) C++11 23.3.13.3 [vector.capacity] Effects of resize(size())
on a vector
Yes 1526(i) Resolved 16.4.6.10 [res.on.data.races] C++ should not impose thread safety requirements on C99 library implementations Yes 3 2000(i) C++11 32.10.10.3 [futures.task.nonmembers] Missing definition of packaged_task
specialization of uses_allocator
Yes 2001(i) C++11 28.6.7.3 [re.regex.assign] Class template basic_regex
uses non existent string_type
Yes 2002(i) Resolved 28.6.9.9 [re.results.nonmember] Class template match_results
does not specify the semantics of operator==
Yes 2003(i) C++14 27.4.3.2 [string.require] String exception inconsistency in erase. Yes 0 2004(i) C++11 30.5.6 [time.duration.nonmember] duration::operator*
has template parameters in funny order Yes 2005(i) C++14 23.4.3.4 [map.modifiers] unordered_map::insert(T&&)
protection should apply to map
too Yes 2006(i) NAD 23.2.8 [unord.req] emplace
broken for associative containers Yes 2007(i) C++11 23.4.3.3 [map.access] Incorrect specification of return value for map<>::at()
Yes 2008(i) C++11 32.10.10.2 [futures.task.members] Conflicting Error Conditions for packaged_task::operator()
Yes 2009(i) C++14 27.4.5 [string.conversions] Reporting out-of-bound values on numeric string conversions Yes 2010(i) C++14 22.10.15.2 [func.bind.isbind] is_* traits
for binding operations can't be meaningfully specialized Yes 2011(i) C++14 27.4.4.4 [string.io] Unexpected output required of strings Yes 2012(i) Resolved 23.4 [associative] Associative maps should insert pair
, not tuple
Yes 2013(i) C++14 16.4.6.7 [constexpr.functions] Do library implementers have the freedom to add constexpr
? Yes 2014(i) C++11 16.4.5.3.3 [macro.names] More restrictions on macro names Yes 2015(i) C++14 21.3.6 [meta.unary] Incorrect pre-conditions for some type traits Yes 2016(i) C++17 16.4.4.6 [allocator.requirements] Allocators
must be no-throw swappable Yes 2 2017(i) C++11 22.10.6 [refwrap] std::reference_wrapper
makes incorrect usage of std::result_of
Yes 2018(i) C++14 28.6.6 [re.traits] [CD] regex_traits::isctype
Returns clause is wrong Yes 2019(i) C++11 28.3.3.3.1 [classification] isblank
not supported by std::locale
Yes 2020(i) C++11 30.5.6 [time.duration.nonmember] Time utility arithmetic constexpr
functions have invalid effects Yes 2021(i) C++14 22.10.15.4 [func.bind.bind] Further incorrect usages of result_of
Yes 2022(i) C++11 22.10.6 [refwrap] reference_wrapper<T>::result_type
is underspecified Yes 2023(i) Resolved 32.6.5.2 [thread.lock.guard] Incorrect requirements for lock_guard
and unique_lock
Yes 2024(i) Resolved 32.5.8 [atomics.types.generic] Inconsistent implementation requirements for atomic<integral>
and atomic<T*>
Yes 2025(i) Resolved 32.10.10.2 [futures.task.members] Incorrect semantics of move assignment operator of packaged_task
Yes 2026(i) NAD 23.5 [unord] hash
should be std
qualified for unordered container Yes 2027(i) C++11 32.10.10.2 [futures.task.members] Initialization of the stored task of a packaged_task
Yes 2028(i) C++14 28.3.4.8.2 [locale.messages] messages_base::catalog
overspecified Yes 2029(i) C++11 28.6.7 [re.regex] Missing 'noexcept
' on basic_regex
move-assignment operator Yes 2030(i) C++11 32.10.10 [futures.task] packaged_task::result_type
should be removed Yes 2031(i) C++11 32.10.7 [futures.unique.future] std::future<>::share()
only applies to rvalues Yes 2032(i) C++11 32.10.9 [futures.async] Incorrect synchronization clause of async
function Yes 2033(i) C++14 23.3.13.3 [vector.capacity] Preconditions of reserve
, shrink_to_fit
, and resize
functions Yes 2034(i) Resolved 32.5.4 [atomics.order] Initialization of atomics is misspecified so that it doesn't preserve sequential consistency Yes 2035(i) Open 24.3.5.4 [output.iterators] Output iterator requirements are broken Yes 3 2036(i) NAD 31.7.5.2 [istream] istream >> char
and eofbit
Yes 2037(i) Resolved 32.5.2 [atomics.syn] atomic
free functions incorrectly specified Yes 2038(i) Open 24.3.5.4 [output.iterators] Missing definition for incrementable
iterator No 3 2039(i) C++14 26.7.1 [alg.copy] Issues with std::reverse
and std::copy_if
Yes 2040(i) Resolved 21 [meta] Missing type traits related to is_convertible
Yes 2041(i) C++11 28.3.4.3.2.3 [facet.num.get.virtuals] Stage 2 accumulate incompatibilty Yes 2042(i) C++11 23.3.7.3 [forward.list.iter] Comparing forward_list::before_begin()
to forward_list::end()
Yes 2043(i) NAD 31.13 [c.files] std{in,out,err}
should be usable as field names Yes 2044(i) C++14 16.4.6.8 [algorithm.stable] No definition of "Stable" for copy algorithms Yes 2045(i) C++14 23.3.7.6 [forward.list.ops] forward_list::merge
and forward_list::splice_after
with unequal allocators Yes 2046(i) NAD 32.10.8 [futures.shared.future] shared_future(future<R>&&)
should be allowed to throw Yes 2047(i) C++14 20.3.1.3.4 [unique.ptr.single.asgn] Incorrect "mixed" move-assignment semantics of unique_ptr
Yes 2048(i) C++14 22.10 [function.objects] Unnecessary mem_fn
overloads Yes 2049(i) C++14 21.3.6.4 [meta.unary.prop] is_destructible
is underspecified Yes 2050(i) C++14 23.5 [unord] Unordered associative containers do not use allocator_traits
to define member types Yes 2051(i) Resolved 22.4.4 [tuple.tuple] Explicit tuple
constructors for more than one parameter Yes 2 2052(i) Resolved 23.2.7 [associative.reqmts] Mixup between mapped_type
and value_type
for associative containers Yes 2 2053(i) C++14 28.6.4 [re.const] Errors in regex
bitmask types Yes 2054(i) Resolved 30.6 [time.point] time_point
constructors need to be constexpr
Yes 2055(i) Resolved 26.10 [numeric.ops] std::move
in std::accumulate
and other algorithms Yes 3 2056(i) C++14 32.10.1 [futures.overview] future_errc
enums start with value 0 (invalid value for broken_promise
) Yes 2057(i) Resolved 30.6.6 [time.point.nonmember] time_point + duration
semantics should be made constexpr
conforming Yes 2058(i) C++14 29.6 [numarray] valarray
and begin/end
Yes 2059(i) C++17 23.4.3 [map] C++0x ambiguity problem with map::erase
Yes 3 2060(i) NAD Editorial 20.3.1.4 [unique.ptr.runtime] unique_ptr<T[]>(nullptr_t)
missing noexcept
Yes 2061(i) C++14 24.2 [iterator.synopsis] make_move_iterator
and arrays Yes 2062(i) C++17 22.10.17.3 [func.wrap.func] Effect contradictions w/o no-throw guarantee of std::function
swaps Yes 2 2063(i) C++17 27.4.3 [basic.string] Contradictory requirements for string move assignment Yes 3 2064(i) C++14 27.4.3 [basic.string] More noexcept
issues in basic_string
Yes 2065(i) C++14 16.4.4.6 [allocator.requirements] Minimal allocator interface Yes 2066(i) Resolved 23.3.13.3 [vector.capacity] Missing specification of vector::resize(size_type)
Yes 2067(i) C++14 32.10.10 [futures.task] packaged_task
should have deleted copy c'tor with const parameter Yes 2068(i) NAD 22.3.2 [pairs.pair] std::pair
not C++03-compatible with defaulted copy c'tor Yes 2069(i) C++14 27.4.3.3 [string.cons] Inconsistent exception spec for basic_string
move constructor Yes 2070(i) Resolved 20.3.2.2.7 [util.smartptr.shared.create] allocate_shared
should use allocator_traits<A>::construct
Yes 2 2071(i) C++14 29.6.2.3 [valarray.assign] std::valarray
move-assignment Yes 2072(i) C++17 99 [depr.temporary.buffer] Unclear wording about capacity of temporary buffers Yes 3 2073(i) NAD 19.2 [std.exceptions] Library exceptions that take string arguments Yes 2074(i) C++14 26.7.10 [alg.reverse] Off by one error in std::reverse_copy
Yes 2075(i) Resolved 6.10.2 [intro.multithread] Progress guarantees, lock-free property, and scheduling assumptions Yes 2076(i) C++17 23.4.6.2 [set.cons] Bad CopyConstructible
requirement in set constructors Yes 3 2077(i) Open 21.3.6.4 [meta.unary.prop] Further incomplete constraints for type traits No 3 2078(i) C++14 32.10.9 [futures.async] Throw specification of async()
incomplete Yes 2079(i) NAD 29.7 [c.math] Required pow()
overloads Yes 3 2080(i) C++14 32.6.7 [thread.once] Specify when once_flag
becomes invalid Yes 2081(i) C++14 16.4.4.6 [allocator.requirements] Allocator
requirements should include CopyConstructible
Yes 2082(i) NAD 26 [algorithms] Misleading complexity requirements in <algorithm>
Yes 2083(i) C++14 20.3.2.3 [util.smartptr.weak] const-qualification on weak_ptr::owner_before
Yes 2084(i) NAD 27.4.3 [basic.string] basic_string
use of charT*
Yes 2085(i) C++14 31.7.5.4 [istream.unformatted] Wrong description of effect 1 of basic_istream::ignore
Yes 2086(i) C++14 29.7 [c.math] Overly generic type support for math functions Yes 2087(i) C++14 31.5 [iostreams.base] iostream_category()
and noexcept
Yes 2088(i) Resolved 17.9.5 [exception.terminate] std::terminate
problem Yes 3 2089(i) Resolved 20.2.10.2 [allocator.members] std::allocator::construct
should use uniform initialization Yes 2 2090(i) NAD 32.6.4.2 [thread.mutex.requirements.mutex] Minor Overconstraint in Mutex Types Yes 2091(i) C++14 32.6.4.3 [thread.timedmutex.requirements] Misplaced effect in m.try_lock_for()
Yes 2092(i) C++14 32.7.5 [thread.condition.condvarany] Vague Wording for condition_variable_any
Yes 2093(i) C++14 32.7.4 [thread.condition.condvar] Throws clause of condition_variable::wait
with predicate Yes 2094(i) C++14 30.5.2 [time.duration.cons] duration
conversion overflow shouldn't participate in overload resolution Yes 2095(i) Resolved 32.10.6 [futures.promise] promise
and packaged_task
missing constructors needed for uses-allocator construction Yes 4 2096(i) C++14 32.10.7 [futures.unique.future] Incorrect constraints of future::get
in regard to MoveAssignable
Yes 2097(i) C++14 32.10.10.2 [futures.task.members] packaged_task
constructors should be constrained Yes 2098(i) C++14 32.10.6 [futures.promise] Minor Inconsistency between promise::set_value
and promise::set_value_at_thread_exit
Yes 2099(i) C++14 17.14 [support.runtime] Unnecessary constraints of va_start()
usage Yes 2100(i) C++14 32.10.9 [futures.async] timed waiting functions cannot timeout if launch::async
policy used Yes 2101(i) C++17 21.3.9 [meta.trans] Some transformation types can produce impossible types Yes 3 2102(i) C++14 32.10.1 [futures.overview] Why is std::launch
an implementation-defined type? Yes 2103(i) C++14 20.2.10 [default.allocator] std::allocator_traits<std::allocator<T>>::propagate_on_container_move_assignment
Yes 2104(i) C++14 32.6.5.4 [thread.lock.unique] unique_lock
move-assignment should not be noexcept
Yes 2105(i) C++14 23.2.2 [container.requirements.general] Inconsistent requirements on const_iterator
's value_type
Yes 2106(i) C++17 24.5.4 [move.iterators] move_iterator
wrapping iterators returning prvalues Yes 3 2107(i) NAD 24.3 [iterator.requirements] Some iterator category should guarantee the lifetime of references Yes 2108(i) Resolved 16.4.4.6 [allocator.requirements] No way to identify allocator types that always compare equal Yes 3 2109(i) C++14 19.5.7 [syserr.hash] Incorrect requirements for hash
specializations Yes 2110(i) C++14 26.7.8 [alg.remove] remove
can't swap but note says it might Yes 2111(i) C++17 17.9.5.4 [terminate] Which unexpected
/terminate
handler is called from the exception handling runtime? Yes 3 2112(i) C++14 16.4.6 [conforming] User-defined classes that cannot be derived from Yes 1 2113(i) NAD 16.4.6 [conforming] Do library implementers have the freedom to add final
to non-polymorphic components? Yes 2114(i) Resolved 16.4.4.4 [nullablepointer.requirements] Incorrect "contextually convertible to bool
" requirements Yes 3 2115(i) Open 29.6.8 [template.mask.array] Undefined behaviour for valarray
assignments with mask_array
index? No 4 2116(i) Open 21.3.6.4 [meta.unary.prop] is_nothrow_constructible
and destructors No 3 2117(i) Open 28.3.4.3.3.3 [facet.num.put.virtuals] ios_base
manipulators should have showgrouping/noshowgrouping
No 3 2118(i) Resolved 20.3.1.4 [unique.ptr.runtime] [CD] unique_ptr
for array does not support cv qualification conversion of actual argument Yes 1 2119(i) C++17 22.10.19 [unord.hash] Missing hash
specializations for extended integer types Yes 3 2120(i) C++14 32.10.9 [futures.async] What should async
do if neither 'async
' nor 'deferred
' is set in policy? Yes 2121(i) NAD 31.8.5.2 [stringstream.cons] app
for string streams Yes 3 2122(i) C++14 23.3.11.5 [list.ops] merge()
stability for lists versus forward lists Yes 2123(i) C++14 23.3.7.6 [forward.list.ops] merge()
allocator requirements for lists versus forward lists Yes 2124(i) NAD 29.5.3.2 [rand.req.seedseq] Seed sequence over-specified Yes 2125(i) Pending NAD Editorial 32.6.4.3 [thread.timedmutex.requirements] TimedMutex
specification problem Yes 2126(i) Pending NAD Editorial 32.6.4 [thread.mutex.requirements] Several specification problems in regard to mutex requirements Yes 2127(i) C++17 99 [depr.storage.iterator] Move-construction with raw_storage_iterator
Yes 3 2128(i) C++14 24.2 [iterator.synopsis] Absence of global functions cbegin/cend
Yes 2129(i) C++17 16.4.5.2.1 [namespace.std] User specializations of std::initializer_list
Yes 3 2130(i) C++14 32.5.4 [atomics.order] Missing ordering constraints Yes 2131(i) NAD 31.7.5.4 [istream.unformatted] Member function getline taking a string as parameter Yes 2132(i) C++14 22.10.17.3.2 [func.wrap.func.con] std::function
ambiguity Yes 2 2133(i) C++17 16.4.6.4 [global.functions] Attitude to overloaded comma for iterators Yes 3 2134(i) Pending NAD Editorial 32.6.4.2 [thread.mutex.requirements.mutex] Redundant Mutex requirement? Yes 2135(i) C++14 32.7.4 [thread.condition.condvar] Unclear requirement for exceptions thrown in condition_variable::wait()
Yes 2136(i) Open 16.3.2 [structure] Postconditions vs. exceptions Yes 3 2137(i) Open 28.6.7.3 [re.regex.assign] Misleadingly constrained post-condition in the presence of exceptions Yes 3 2138(i) C++14 32.5.10 [atomics.flag] atomic_flag::clear
should not accept memory_order_consume
Yes 2139(i) C++20 16.4.5.2.1 [namespace.std] What is a user-defined type? Yes 4 2140(i) C++14 32.7 [thread.condition] Meaning of notify_all_at_thread_exit
synchronization requirement? Yes 2141(i) C++14 21.3.9.7 [meta.trans.other] common_type
trait produces reference types Yes 2142(i) C++14 32.10.10.2 [futures.task.members] packaged_task::operator()
synchronization too broad? Yes 2143(i) C++14 31.5.2 [ios.base] ios_base::xalloc
should be thread-safe Yes 2144(i) C++14 17.7.7 [type.index] Missing noexcept
specification in type_index
Yes 2145(i) C++14 19.5.3 [syserr.errcat] error_category
default constructor Yes 2146(i) Open 16.4.4.2 [utility.arg.requirements] Are reference types CopyConstructible
/MoveConstructible
/CopyAssignable
/MoveAssignable
/Destructible
? No 3 2147(i) C++14 16.4.4.6 [allocator.requirements] Unclear hint type in Allocator
's allocate
function Yes 2148(i) C++14 22.10.19 [unord.hash] Hashing enums should be supported directly by std::hash
Yes 2149(i) C++14 22.10 [function.objects] Concerns about 20.8/5 Yes 2150(i) C++14 26.6.8 [alg.find.end] Unclear specification of find_end
Yes 2151(i) Resolved 27.4.3.2 [string.require] basic_string<>::swap
semantics ignore allocators Yes 3 2152(i) LEWG 16.4.4.3 [swappable.requirements] Instances of standard container types are not swappable Yes 3 2153(i) LEWG 22.2.2 [utility.swap] Narrowing of the non-member swap
contract No 2 2154(i) Resolved 29.5.3.3 [rand.req.urng] What exactly does compile-time complexity imply? Yes 4 2155(i) Resolved 17.14 [support.runtime] Macro __bool_true_false_are_defined
should be removed Yes 4 2156(i) C++17 23.2.8 [unord.req] Unordered containers' reserve(n)
reserves for n-1
elements Yes 3 2157(i) Open 23.3.3.5 [array.zero] How does std::array<T,0>
initialization work when T
is not default-constructible? Yes 3 2158(i) Open 23.3.13.3 [vector.capacity] Conditional copy/move in std::vector
Yes 3 2159(i) C++14 32.5.10 [atomics.flag] atomic_flag
initialization Yes 2160(i) C++17 23.3.13.3 [vector.capacity] Unintended destruction ordering-specification of resize
Yes 1 2161(i) NAD 23.4 [associative] const
equivalence of std::map
Yes 2 2162(i) C++14 16.4.4.6 [allocator.requirements] allocator_traits::max_size
missing noexcept
Yes 2163(i) C++14 26.8.3 [alg.nth.element] nth_element
requires inconsistent post-conditions Yes 2164(i) C++20 23.3.13.5 [vector.modifiers] What are the semantics of vector.emplace(vector.begin(), vector.back())
? Yes 2 2165(i) Resolved 32.5.8 [atomics.types.generic] std::atomic<X>
requires X
to be nothrow default constructible Yes 4 2166(i) C++17 26.8.8 [alg.heap.operations] Heap property underspecified? Yes 3 2167(i) NAD 23.2.2 [container.requirements.general] Copy assignment requirements of Containers Yes 2168(i) C++17 29.5.9.2.2 [rand.dist.uni.real] Inconsistent specification of uniform_real_distribution
constructor Yes 3 2169(i) C++14 20.3.1.4.5 [unique.ptr.runtime.modifiers] Missing reset()
requirements in unique_ptr
specialization Yes 2170(i) C++17 16.4.4.2 [utility.arg.requirements] Aggregates cannot be DefaultConstructible
Yes 2 2171(i) NAD 16.4.4.3 [swappable.requirements] "swappable" undefined for swapping lvalue and rvalue Yes 2172(i) C++14 99 [depr.util.smartptr.shared.atomic] Does atomic_compare_exchange_*
accept v == nullptr
arguments? Yes 2173(i) Open 26 [algorithms] The meaning of operator +
in the description of the algorithms Yes 4 2174(i) C++14 99 [depr.conversions.string] wstring_convert::converted()
should be noexcept
Yes 2175(i) C++14 99 [depr.conversions.string] wstring_convert
and wbuffer_convert
validity Yes 2176(i) C++14 99 [depr.conversions.string] Special members for wstring_convert
and wbuffer_convert
Yes 2177(i) C++14 23.2.2 [container.requirements.general] Requirements on Copy/MoveInsertable
Yes 2178(i) Pending NAD Editorial 16.4.4.6 [allocator.requirements] Allocator
requirement changes not mentioned Annex C Yes 3 2179(i) Resolved 20.3.2.7 [util.smartptr.enab] enable_shared_from_this
and construction from raw pointers Yes 3 2180(i) C++14 29.5.8.1 [rand.util.seedseq] Exceptions from std::seed_seq
operations Yes 2181(i) C++17 29.5.3.2 [rand.req.seedseq] Exceptions from seed sequence operations Yes 3 2182(i) C++14 23.2.2 [container.requirements.general] Container::[const_]reference
types are misleadingly specified Yes 0 2183(i) C++20 28.6.9.2 [re.results.const] Muddled allocator requirements for match_results
constructors Yes 3 2184(i) C++20 28.6.9.2 [re.results.const] Muddled allocator requirements for match_results
assignments Yes 3 2185(i) C++14 32.10.7 [futures.unique.future] Missing throws clause for future/shared_future::wait_for/wait_until
Yes 2186(i) C++14 32.10.9 [futures.async] Incomplete action on async/launch::deferred
Yes 2187(i) C++14 23.3.14 [vector.bool] vector<bool>
is missing emplace
and emplace_back
member functions Yes 2188(i) C++14 24.5.1.6 [reverse.iter.elem] Reverse iterator does not fully support targets that overload operator&
Yes 1 2189(i) Open 23.2.8.2 [unord.req.except] Throwing swap
breaks unordered containers' state No 3 2190(i) C++14 32.7 [thread.condition] Condition variable specification Yes 2191(i) C++23 28.6.9.2 [re.results.const] Incorrect specification of match_results(match_results&&)
Yes 4 2192(i) C++17 29.7 [c.math] Validity and return type of std::abs(0u)
is unclear Yes 2 2193(i) C++14 23 [containers] Default constructors for standard library containers are explicit Yes 1 2194(i) C++14 23.6 [container.adaptors] Impossible container requirements for adaptor types Yes 2195(i) C++23 28.6.9 [re.results] Missing constructors for match_results
Yes 3 2196(i) C++14 21.3.6.4 [meta.unary.prop] Specification of is_*[copy/move]_[constructible/assignable]
unclear for non-referencable types Yes 2197(i) C++14 21.3.6.4 [meta.unary.prop] Specification of is_[un]signed
unclear for non-arithmetic types Yes 2198(i) Open 23.2.8 [unord.req] max_load_factor(z)
makes no strong guarantees, but bans useful behavior Yes 3 2199(i) NAD 23.2.8 [unord.req] unordered containers are required to have an initial max load factor of 1.0 Yes 3 2200(i) C++14 23.2.3 [container.requirements.dataraces] Data race avoidance for all containers, not only for sequences Yes 2201(i) NAD Editorial C.8 [diff.library] Missing macro entries from C standard library Yes 2 2202(i) Deferred 32.10.9 [futures.async] Missing allocator support by async
No 4 2203(i) C++14 20.6.4 [allocator.adaptor.members] scoped_allocator_adaptor
uses wrong argument types for piecewise construction Yes 2204(i) NAD 24.5.1.6 [reverse.iter.elem] reverse_iterator
should not require a second copy of the base iterator Yes 2205(i) C++14 28.6.10.2 [re.alg.match] Problematic postconditions of regex_match
and regex_search
Yes 0 2206(i) Open 23.2.4 [sequence.reqmts] Inaccuracy in initializer_list
constructor requirements Yes 3 2207(i) C++14 27.4.3.6 [string.access] basic_string::at
should not have a Requires clause Yes 2208(i) Resolved 24.5.1 [reverse.iterators] std::reverse_iterator
should be a literal type Yes 3 2209(i) C++14 23.3 [sequences] assign()
overspecified for sequence containers Yes 2210(i) C++14 23.3 [sequences] Missing allocator-extended constructor for allocator-aware containers Yes 2211(i) C++14 23.2.2 [container.requirements.general] Replace ambiguous use of "Allocator" in container requirements Yes 2212(i) C++17 22.2 [utility] tuple_size
for const pair
request <tuple>
header Yes 3 2213(i) C++14 28.6.10.4 [re.alg.replace] Return value of std::regex_replace
Yes 0 2214(i) Open 31.5.4.2 [basic.ios.cons] Clarify basic_ios::init
call restrictions Yes 4 2215(i) Open 23.2.7 [associative.reqmts] (unordered) associative container functors should be CopyConstructible
Yes 3 2216(i) New 28.6.10.4 [re.alg.replace] regex_replace(basic_string)
allocator handling No 3 2217(i) C++17 28.6.8.3 [re.submatch.op] operator==(sub_match, string)
slices on embedded '\0'
s Yes 2 2218(i) C++17 23.2.2 [container.requirements.general] Unclear how containers use allocator_traits::construct()
Yes 3 2219(i) C++17 22.10.4 [func.require] INVOKE
-ing a pointer to member with a reference_wrapper
as the object expression Yes 2 2220(i) Open 28.6.11.2.3 [re.tokiter.comp] Under-specification of operator==
for regex_token_iterator
Yes 3 2221(i) C++17 31.7.6 [output.streams] No formatted output operator for nullptr
Yes 3 2222(i) C++14 23.3.7.6 [forward.list.ops] Inconsistency in description of forward_list::splice_after
single-element overload Yes 2223(i) C++17 23.3.13.3 [vector.capacity] shrink_to_fit
effect on iterator validity Yes 2 2224(i) C++17 16.4.5.10 [res.on.objects] Ambiguous status of access to non-live objects Yes 2 2225(i) C++14 16.4.3.2 [using.headers] Unrealistic header inclusion checks required Yes 2226(i) NAD 99 [depr.conversions.string] wstring_convert
methods do not take allocator instance Yes 2227(i) Open 23.2.7 [associative.reqmts] Stateful comparison objects in associative containers No 3 2228(i) Resolved 20.3.1.3.4 [unique.ptr.single.asgn] Missing SFINAE rule in unique_ptr
templated assignment Yes 3 2229(i) C++14 99 [depr.locale.stdcvt] Standard code conversion facets underspecified Yes 2230(i) C++17 23.5 [unord] "see below" for initializer-list constructors of unordered containers Yes 4 2231(i) C++14 23.2.4 [sequence.reqmts] DR 704 removes complexity guarantee for clear()
Yes 2232(i) Resolved 27.2.4 [char.traits.specializations] [CD] The char_traits
specializations should declare their length()
, compare()
, and find()
members constexpr Yes 2233(i) C++17 22.10.17.2 [func.wrap.badcall] bad_function_call::what()
unhelpful Yes 3 2234(i) C++17 19.3 [assertions] assert()
should allow usage in constant expressions Yes 2 2235(i) C++14 27.4.3.3 [string.cons] Undefined behavior without proper requirements on basic_string
constructors Yes 2236(i) SG1 32.5.2 [atomics.syn] kill_dependency
unconditionally noexcept No 2237(i) New 27.5 [c.strings] <cuchar>
macros No 4 2238(i) Open 27.5 [c.strings] Problematic iterator-pair constructor of containers No 3 2239(i) C++17 26.8.9 [alg.min.max] min/max/minmax
requirements Yes 3 2240(i) Resolved 32.7.4 [thread.condition.condvar] Probable misuse of term "function scope" in [thread.condition] Yes 2241(i) Resolved 17.14 [support.runtime] <cstdalign>
and #define
of alignof
Yes 2 2242(i) NAD 26.7.1 [alg.copy] [uninitialized_]copy_n()
defect Yes 2 2243(i) C++20 31.7.5.4 [istream.unformatted] istream::putback
problem Yes 3 2244(i) C++17 31.7.5.4 [istream.unformatted] Issue on basic_istream::seekg
Yes 3 2245(i) Resolved 32.10.10.2 [futures.task.members] packaged_task::reset()
memory allocation Yes 3 2246(i) C++14 20.3.1.3.4 [unique.ptr.single.asgn] unique_ptr
assignment effects w.r.t. deleter Yes 2247(i) C++14 21.3.6.2 [meta.unary.cat] Type traits and std::nullptr_t
Yes 2248(i) New 17.3.5 [numeric.limits] numeric_limits::is_iec559
misnamed No 4 2249(i) Resolved 31.13 [c.files] [CD] Remove gets
from <cstdio>
Yes 2250(i) C++17 22.9.2.2 [bitset.cons] Follow-up On Library Issue 2207 Yes 3 2251(i) NAD 17.2 [support.types] C++ library should define ssize_t
Yes 3 2252(i) C++14 23.3.13.5 [vector.modifiers] Strong guarantee on vector::push_back()
still broken with C++11? Yes 2253(i) NAD Arrays 99 [arrays.ts::dynarray.overview] [arrays.ts] dynarray
should state which container requirements aren't met Yes 0 2254(i) NAD Arrays 99 [arrays.ts::container.requirements.general] [arrays.ts] Is dynarray
an allocator-aware container? Yes 3 2255(i) NAD Arrays 99 [arrays.ts::dynarray.cons] [arrays.ts] dynarray
constructor ambiguity Yes 0 2256(i) NAD 23.3.13.5 [vector.modifiers] On vector
iterator invalidation Yes 3 2257(i) C++14 23.2.2 [container.requirements.general] Simplify container requirements with the new algorithms Yes 2258(i) C++14 23.2.7 [associative.reqmts] a.erase(q1, q2)
unable to directly return q2
Yes 0 2259(i) C++17 16.4.6.5 [member.functions] Issues in 17.6.5.5 rules for member functions Yes 3 2260(i) C++17 16.4.4.6 [allocator.requirements] Missing requirement for Allocator::pointer
Yes 3 2261(i) C++17 23.2 [container.requirements] Are containers required to use their 'pointer
' type internally? Yes 2 2262(i) Open 20.3.1.3 [unique.ptr.single] Requirement for unique_ptr<T>::get_deleter()(p)
to be able to destroy the unique_ptr
Yes 3 2263(i) C++14 16.4.4.6 [allocator.requirements] Comparing iterators and allocator pointers with different const-character Yes 1 2264(i) NAD Arrays 99 [arrays.ts::dynarray] [arrays.ts] std::dynarray
defines its initializer-list constructor in terms of a non-existent constructor Yes 1 2265(i) Open 32.5.4 [atomics.order] 29.3p9 appears to rule out some acceptable executions No 4 2266(i) C++17 23.2.4 [sequence.reqmts] vector
and deque
have incorrect insert
requirements Yes 2 2267(i) New 26.8.2.4 [partial.sort.copy] partial_sort_copy
underspecified for ranges of two different types No 3 2268(i) C++14 27.4.3 [basic.string] Setting a default argument in the declaration of a member function assign
of std::basic_string
Yes 2269(i) New 23.2.2 [container.requirements.general] Container iterators and argument-dependent lookup No 4 2270(i) NAD 27.4.5 [string.conversions] Inconsistent to_string
overloads Yes 2271(i) C++14 28.6.6 [re.traits] regex_traits::lookup_classname
specification unclear Yes 2272(i) C++14 31.7.9 [quoted.manip] quoted
should use char_traits::eq
for character comparison Yes 2273(i) C++17 28.6.10.2 [re.alg.match] regex_match
ambiguity Yes 2 2274(i) Resolved 23.4.3.3 [map.access] Does map::operator[]
value-initialize or default-insert a missing element? Yes 3 2275(i) C++14 22.4.5 [tuple.creation] [CD] Why is forward_as_tuple
not constexpr
? Yes 2276(i) C++17 32.10 [futures] Missing requirement on std::promise::set_exception
Yes 2277(i) NAD Arrays 99 [arrays.ts::iterator.range] [arrays.ts] <dynarray>
is missing in 24.7/1 Yes 3 2278(i) C++14 30.2 [time.syn] User-defined literals for Standard Library types Yes 2279(i) NAD 23.3.11.5 [list.ops] Carefully state effects of list::splice
function Yes 2280(i) C++14 24.7 [iterator.range] begin/end
for arrays should be constexpr
and noexcept
Yes 2281(i) NAD Editorial 16.4.3.3 [using.linkage] C99 cross-reference typo in [using.linkage] Yes 2282(i) Resolved 5.3.3 [fund.ts::optional.object.assign] [fund.ts] Incorrect is_assignable
constraint in optional::op=(U&&)
Yes 2283(i) Resolved 5.9 [fund.ts::optional.comp_with_t] [fund.ts] optional
declares and then does not define an operator<()
Yes 2284(i) C++14 20.2.9 [allocator.traits] Inconsistency in allocator_traits::max_size
Yes 2285(i) C++14 24.5.1 [reverse.iterators] make_reverse_iterator
Yes 2286(i) Open 31.8.2.5 [stringbuf.virtuals] stringbuf::underflow()
underspecified Yes 4 2287(i) Resolved 5.3.3 [fund.ts::optional.object.assign] [fund.ts] Incorrect exception safety for optional
copy assignment operator Yes 2288(i) C++14 32.6.4.4 [thread.sharedmutex.requirements] Inconsistent requirements for shared mutexes Yes 2289(i) Open 22.3.2 [pairs.pair] constexpr
guarantees of defaulted functions still insufficient No 3 2290(i) Open 21 [meta] Top-level "SFINAE"-based constraints should get a separate definition in Clause 17 Yes 3 2291(i) C++14 16.4.4.5 [hash.requirements] std::hash
is vulnerable to collision DoS attack Yes 2292(i) Resolved 16.3.2.4 [structure.specifications] Find a better phrasing for "shall not participate in overload resolution" Yes 3 2293(i) C++14 28.3.4.3.3.3 [facet.num.put.virtuals] Wrong facet used by num_put::do_put
Yes 0 2294(i) Resolved 29.7 [c.math] <cstdlib>
should declare abs(double)
Yes 2 2295(i) C++23 28.3.3.1.3 [locale.cons] Locale name when the provided Facet
is a nullptr
Yes 3 2296(i) C++17 20.2.11 [specialized.addressof] std::addressof
should be constexpr
Yes 3 2297(i) NAD 22.2.3 [utility.exchange] [CD] Missing type requirements for std::exchange
Yes 2298(i) C++14 21.3.6.4 [meta.unary.prop] [CD] is_nothrow_constructible
is always false because of create<>
Yes 2299(i) C++14 23.2.7 [associative.reqmts] [CD] Effects of inaccessible key_compare::is_transparent
type are not clear Yes 1 2300(i) C++14 23.4.3 [map] [CD] Redundant sections for map
and multimap
members should be removed Yes 2301(i) C++14 22.4.5 [tuple.creation] Why is std::tie
not constexpr
? Yes 2 2302(i) Pending NAD 17.6.3.4 [new.delete.placement] Passing null pointer to placement new Yes 2 2303(i) New 17.6.3.4 [new.delete.placement] Explicit instantiation of std::vector<UserType>
broken? No 3 2304(i) C++14 23.2.8 [unord.req] Complexity of count
in unordered associative containers Yes 0 2305(i) NAD 5.3.1 [fund.ts::optional.object.ctor] [fund.ts] optional
forwarding construction/assignment Yes 4 2306(i) C++14 28.6.9 [re.results] match_results::reference
should be value_type&
, not const value_type&
Yes 4 2307(i) LEWG 23 [containers] Should the Standard Library use explicit
only when necessary? No 2 2308(i) C++14 23.2.2 [container.requirements.general] Clarify container destructor requirements w.r.t. std::array
Yes 0 2309(i) C++17 32.6.4.2 [thread.mutex.requirements.mutex] mutex::lock()
should not throw device_or_resource_busy
Yes 0 2310(i) C++17 23.3.3.1 [array.overview] Public exposition only member in std::array
Yes 4 2311(i) NAD 16.4.4.6 [allocator.requirements] Allocator requirements should be further minimized Yes 2 2312(i) C++17 22.4.4.2 [tuple.cnstr] tuple
's constructor constraints need to be phrased more precisely Yes 2 2313(i) C++14 22.4.7 [tuple.helper] tuple_size
should always derive from integral_constant<size_t, N>
Yes 2 2314(i) C++14 21.2.1 [intseq.general] apply()
should return decltype(auto)
and use decay_t
before tuple_size
Yes 0 2315(i) C++14 20.3.2.3 [util.smartptr.weak] weak_ptr
should be movable Yes 2 2316(i) C++14 20.3.2.3.6 [util.smartptr.weak.obs] weak_ptr::lock()
should be atomic Yes 0 2317(i) C++14 21.3.7 [meta.unary.prop.query] The type property queries should be UnaryTypeTraits
returning size_t
Yes 0 2318(i) Resolved 27.4.3 [basic.string] basic_string
's wording has confusing relics from the copy-on-write era Yes 4 2319(i) NAD 27.4.3.3 [string.cons] basic_string
's move constructor should not be noexcept
Yes 1 2320(i) C++14 23.2.2 [container.requirements.general] select_on_container_copy_construction()
takes allocators, not containers Yes 0 2321(i) Open 23.2.2 [container.requirements.general] Moving containers should (usually) be required to preserve iterators Yes 3 2322(i) C++14 23.2.7 [associative.reqmts] Associative(initializer_list
, stuff) constructors are underspecified Yes 0 2323(i) C++14 23.3.13.3 [vector.capacity] vector::resize(n, t)
's specification should be simplified Yes 0 2324(i) C++14 24.5.2.2.2 [back.insert.iter.ops] Insert iterator constructors should use addressof()
Yes 0 2325(i) C++17 26.8.9 [alg.min.max] minmax_element()
's behavior differing from max_element()
's should be noted Yes 3 2326(i) NAD 29.5.3.1 [rand.req.genl] uniform_int_distribution<unsigned char>
should be permitted Yes 2 2327(i) NAD 29.5.3.3 [rand.req.urng] Non-power-of-two URNGs should be forbidden Yes 2328(i) C++17 31.7.5.6 [istream.rvalue] Rvalue stream extraction should use perfect forwarding Yes 3 2329(i) C++14 28.6.3 [re.syn] regex_match()/regex_search()
with match_results
should forbid temporary strings Yes 2 2330(i) C++14 28.6.4.2 [re.synopt] regex("meow", regex::icase)
is technically forbidden but should be permitted Yes 0 2331(i) Open 28.6.4.2 [re.synopt] regex_constants::collate
's effects are inaccurately summarized Yes 3 2332(i) C++14 28.6.11 [re.iter] regex_iterator/regex_token_iterator
should forbid temporary regexes Yes 2 2333(i) Resolved 5.11 [fund.ts::optional.hash] [fund.ts] Hashing disengaged optional<T>
objects Yes 2334(i) Resolved 32.5.8.2 [atomics.types.operations] atomic
's default constructor requires "uninitialized" state even for types with non-trivial default-constructor Yes 2335(i) NAD 23.3.3 [array] array<array<int, 3>, 4>
should be layout-compatible with int[4][3]
Yes 3 2336(i) C++17 21.3.6.4 [meta.unary.prop] is_trivially_constructible/is_trivially_assignable
traits are always false Yes 3 2337(i) NAD 20.3.2.2.6 [util.smartptr.shared.obs] shared_ptr operator*()
should not be noexcept
Yes 2 2338(i) Open 28.6.6 [re.traits] §[re.traits]/7 expects of locale facets something not guaranteed by [locale.facet]/4 Yes 3 2339(i) C++14 26.8.3 [alg.nth.element] Wording issue in nth_element
Yes 0 2340(i) C++17 16.4.5.6 [replacement.functions] Replacement allocation functions declared as inline Yes 2 2341(i) C++14 31.7.6.2.5 [ostream.seeks] Inconsistency between basic_ostream::seekp(pos)
and basic_ostream::seekp(off, dir)
Yes 0 2342(i) New 31.7.6.2 [ostream] User conversion to wchar_t const*
or to wchar_t
not invoked for operator<<
Yes 4 2343(i) Resolved 28.6.12 [re.grammar] Is the value of the ECMA-262 RegExp object's multiline property really false? Yes 2 2344(i) C++14 31.7.9 [quoted.manip] quoted()
's interaction with padding is unclear Yes 1 2345(i) NAD 21.2.2 [intseq.intseq] integer_sequence
should have a self-typedef ::type
Yes 2 2346(i) C++14 21.3.4 [meta.help] integral_constant
's member functions should be marked noexcept
Yes 0 2347(i) NAD 24.5.1.6 [reverse.iter.elem] reverse_iterator::operator[]
calls const version of current[]
Yes 2 2348(i) Open 22.9.2 [template.bitset] charT('1')
is not the wide equivalent of '1'
Yes 3 2349(i) Resolved 31.7.5.3.1 [istream.formatted.reqmts] Clarify input/output function rethrow behavior Yes 3 2350(i) C++14 26.8.9 [alg.min.max] min
, max
, and minmax
should be constexpr
Yes 1 2351(i) NAD 29.5.4 [rand.eng] Does .seed()
completely reset state of engine? Yes 2 2352(i) NAD 29.5.8.1 [rand.util.seedseq] Is a default-constructed std::seed_seq
intended to produce a predictable .generate()
? Yes 2 2353(i) C++17 24.4.3 [iterator.operations] std::next
is over-constrained Yes 4 2354(i) C++17 23.4.3.1 [map.overview] Unnecessary copying when inserting into maps with braced-init syntax Yes 2 2355(i) NAD 27.4.7 [basic.string.literals] "s"
UDL suffix should be reserved for a compile-time string library type Yes 1 2356(i) C++14 23.2.8 [unord.req] Stability of erasure in unordered associative containers Yes 2 2357(i) C++14 26.8.5 [alg.partitions] Remaining "Assignable
" requirement Yes 0 2358(i) Open 21.3.6.4 [meta.unary.prop] Apparently-bogus definition of is_empty
type trait Yes 3 2359(i) C++14 28.6.4.2 [re.synopt] How does regex_constants::nosubs
affect basic_regex::mark_count()
? Yes 0 2360(i) C++14 24.5.1.2 [reverse.iterator] reverse_iterator::operator*()
is unimplementable Yes 1 2361(i) C++17 20.3.1.3 [unique.ptr.single] Apply 2299 resolution throughout library Yes 2362(i) New 23.2.7 [associative.reqmts] unique, associative emplace()
should not move/copy the mapped_type
constructor arguments when no insertion happens No 3 2363(i) Resolved 32.6.4.5.2 [thread.sharedtimedmutex.class] Defect in 30.4.1.4.1 [thread.sharedtimedmutex.class] Yes 2 2364(i) C++17 23.3.5.4 [deque.modifiers] deque
and vector
pop_back
don't specify iterator invalidation requirements Yes 0 2365(i) C++17 20.3.2.2 [util.smartptr.shared] Missing noexcept
in shared_ptr::shared_ptr(nullptr_t)
Yes 2366(i) New 24.6.4 [istreambuf.iterator] istreambuf_iterator
end-of-stream equality Yes 3 2367(i) C++17 21.3.6.4 [meta.unary.prop] pair
and tuple
are not correctly implemented for is_constructible
with no args Yes 3 2368(i) Resolved 17.6.3 [new.delete] Replacing global operator new
Yes 2 2369(i) C++17 26.8.9 [alg.min.max] constexpr max(initializer_list)
vs max_element
Yes 3 2370(i) Resolved 22.10.17.3 [func.wrap.func] Operations involving type-erased allocators should not be noexcept
in std::function
Yes 3 2371(i) TS 3.3.1 [fund.ts::meta.type.synop] [fund.ts] No template aliases defined for new type traits Yes 0 2372(i) NAD 27.4.3 [basic.string] Assignment from int to std::string
Yes 4 2373(i) NAD 16.4.6 [conforming] Make new entities and names in namespace std
conforming extensions Yes 3 2374(i) TS 5.3.5 [fund.ts::optional.object.observe] [fund.ts] Remarks for optional::to_value
are too restrictive Yes 0 2375(i) Resolved 24.3.1 [iterator.requirements.general] Is [iterator.requirements.general]/9 too broadly applied? Yes 3 2376(i) C++17 20.3.2.1 [util.smartptr.weak.bad] bad_weak_ptr::what()
overspecified Yes 2377(i) C++17 20.2.5 [ptr.align] std::align
requirements overly strict Yes 0 2378(i) C++17 17.6.4.1 [bad.alloc] Behaviour of standard exception types Yes 0 2379(i) NAD 32.2.3 [thread.req.native] Obtaining native handle of the current thread Yes 2380(i) C++17 16.4.2.3 [headers] May <cstdlib>
provide long ::abs(long)
and long long ::abs(long long)
? Yes 2 2381(i) C++23 28.3.4.3.2.3 [facet.num.get.virtuals] Inconsistency in parsing floating point numbers Yes 2 2382(i) Pending NAD 16.4.6.9 [reentrancy] Unclear order of container update versus object destruction on removing an object Yes 2 2383(i) Open 30.5.9 [time.duration.literals] Overflow cannot be ill-formed for chrono::duration integer literals No 3 2384(i) C++17 16.4.4.6 [allocator.requirements] Allocator's deallocate
function needs better specification Yes 3 2385(i) C++17 22.10.17.3 [func.wrap.func] function::assign
allocator argument doesn't make sense Yes 2 2386(i) NAD 22.10.17.3.2 [func.wrap.func.con] function::operator=
handles allocators incorrectly Yes 1 2387(i) C++17 22.10.4 [func.require] More nested types that must be accessible and unambiguous Yes 2388(i) NAD 22.2.3 [utility.exchange] Handling self-assignment in the proposed library function std::exchange
Yes 2 2389(i) TS 4.2.1 [fund.ts::func.wrap.func.con] [fund.ts] function::operator=
is over-specified and handles allocators incorrectly Yes 2 2390(i) TS 3.3.2 [fund.ts::meta.trans.other] [fund.ts] Invocation types and rvalues Yes 2391(i) Resolved 27.4.3 [basic.string] basic_string
is missing non-const
data()
Yes 3 2392(i) WP 3.36 [defns.ntcts] "character type" is used but not defined Yes 3 2393(i) C++17 22.10.17.3 [func.wrap.func] std::function
's Callable definition is broken Yes 2 2394(i) C++17 28.3.3.1.4 [locale.members] locale::name
specification unclear — what is implementation-defined? Yes 3 2395(i) TS 4.2 [fund.ts::func.wrap.func] [fund.ts] Preconditions: is defined nowhere Yes 2 2396(i) C++17 21.3.9.7 [meta.trans.other] underlying_type
doesn't say what to do for an incomplete enumeration type Yes 0 2397(i) Resolved 21.3.9.7 [meta.trans.other] map<K, V>::emplace
and explicit V
constructors Yes 1 2398(i) Open 17.7.3 [type.info] type_info
's destructor shouldn't be required to be virtual Yes 3 2399(i) C++17 20.3.2.2.2 [util.smartptr.shared.const] shared_ptr
's constructor from unique_ptr
should be constrained Yes 0 2400(i) C++17 20.3.2.2.11 [util.smartptr.getdeleter] shared_ptr
's get_deleter()
should use addressof()
Yes 0 2401(i) C++17 22.10.17.3 [func.wrap.func] std::function
needs more noexcept
Yes 0 2402(i) NAD 27.4.3.3 [string.cons] basic_string(const basic_string& str, size_type pos, size_type n = npos)
shouldn't use Allocator()
Yes 3 2403(i) C++17 27.4.5 [string.conversions] stof()
should call strtof()
and wcstof()
Yes 2 2404(i) C++17 99 [mismatch] mismatch()
's complexity needs to be updated Yes 0 2405(i) NAD 26.7.11 [alg.rotate] rotate()
's return value is incorrect when middle == first
Yes 2406(i) C++17 29.5.9.3.4 [rand.dist.bern.negbin] negative_binomial_distribution
should reject p == 1
Yes 3 2407(i) C++17 32.10.10.2 [futures.task.members] packaged_task(allocator_arg_t, const Allocator&, F&&)
should neither be constrained nor explicit
Yes 2408(i) C++17 21.3.9.7 [meta.trans.other] SFINAE-friendly common_type/iterator_traits
is missing in C++14 Yes 2409(i) TS 3.3.2 [fund.ts::meta.trans.other] [fund.ts] SFINAE-friendly common_type/iterator_traits
should be removed from the fundamental-ts Yes 2410(i) TS 8.2.1.1 [fund.ts::memory.smartptr.shared.const] [fund.ts] shared_ptr<array>
's constructor from unique_ptr
should be constrained Yes 0 2411(i) C++17 20.3.2.2 [util.smartptr.shared] shared_ptr
is only contextually convertible to bool
Yes 0 2412(i) C++20 32.10.6 [futures.promise] promise::set_value()
and promise::get_future()
should not race Yes 3 2413(i) NAD 19.3 [assertions] assert
macro is overconstrained Yes 4 2414(i) Open 16.4.6.9 [reentrancy] Member function reentrancy should be implementation-defined Yes 3 2415(i) C++17 20.3.2.2.2 [util.smartptr.shared.const] Inconsistency between unique_ptr
and shared_ptr
Yes 2 2416(i) Resolved 6.3 [fund.ts::any.class] [fund.ts] std::experimental::any allocator
support is unimplementable Yes 2417(i) NAD 5.7 [fund.ts.v2::optional.relops] [fund.ts.v2] std::experimental::optional::operator<
and LessThanComparable
requirement Yes 2418(i) TS 3.2.2 [fund.ts::tuple.apply] [fund.ts] apply
does not work with member pointers Yes 0 2419(i) Resolved 22.4.4.2 [tuple.cnstr] Clang's libc++ extension to std::tuple
Yes 2420(i) C++17 22.10.17.3 [func.wrap.func] function<void(ArgTypes...)>
does not discard the return value of the target object Yes 1 2421(i) New 20.2.5 [ptr.align] Non-specification of handling zero size in std::align
[ptr.align] No 3 2422(i) C++17 17.3.5.2 [numeric.limits.members] std::numeric_limits<T>::is_modulo
description: "most machines" errata Yes 2 2423(i) New 29.6.5 [template.slice.array] Missing specification slice_array
, gslice_array
, mask_array
, indirect_array
copy constructor Yes 4 2424(i) Resolved 32.5.8 [atomics.types.generic] 29.5 should state that atomic types are not trivially copyable Yes 2 2425(i) C++17 17.6.3 [new.delete] operator delete(void*, size_t)
doesn't invalidate pointers sufficiently Yes 0 2426(i) C++17 32.5.8.2 [atomics.types.operations] Issue about compare_exchange
Yes 1 2427(i) C++17 23.3.1 [sequences.general] Container adaptors as sequence containers, redux Yes 0 2428(i) C++17 16.4.3.2 [using.headers] "External declaration" used without being defined Yes 0 2429(i) NAD 31.8.4 [ostringstream] std::basic_ostringstream
is missing an allocator-extended constructor Yes 2430(i) NAD 23.2.7 [associative.reqmts] Heterogeneous container lookup should be enabled using meta-function instead of nested type Yes 2431(i) New 28.6.2 [re.req] Missing regular expression traits requirements No 3 2432(i) NAD 17.11 [support.initlist] initializer_list
assignability Yes 2 2433(i) C++17 26.11 [specialized.algorithms] uninitialized_copy()
/etc. should tolerate overloaded operator&
Yes 0 2434(i) C++17 20.3.2.2.6 [util.smartptr.shared.obs] shared_ptr::use_count()
is efficient Yes 0 2435(i) C++17 22.10.6.5 [refwrap.invoke] reference_wrapper::operator()
's Remark should be deleted Yes 4 2436(i) C++17 23.2.7 [associative.reqmts] Comparators for associative containers should always be CopyConstructible
Yes 2 2437(i) C++17 24.3.5.2 [iterator.iterators] iterator_traits<OutIt>::reference
can and can't be void
Yes 3 2438(i) C++17 D.17 [depr.iterator] std::iterator
inheritance shouldn't be mandated Yes 3 2439(i) C++17 26.7.9 [alg.unique] unique_copy()
sometimes can't fall back to reading its output Yes 3 2440(i) C++17 29.5.8.1 [rand.util.seedseq] seed_seq::size()
should be noexcept
Yes 0 2441(i) C++17 32.5.8 [atomics.types.generic] Exact-width atomic typedefs should be provided Yes 0 2442(i) C++17 32.6.7.2 [thread.once.callonce] call_once()
shouldn't DECAY_COPY()
Yes 2443(i) Resolved 23.3.3 [array] std::array
member functions should be constexpr
Yes 2444(i) C++20 26.8.8.5 [sort.heap] Inconsistent complexity for std::sort_heap
Yes 3 2445(i) Resolved 99 [depr.util.smartptr.shared.atomic] "Stronger" memory ordering Yes 2446(i) NAD 22.4.1 [tuple.general] Unspecialized std::tuple_size
should be defined Yes 2447(i) C++17 16.4.4.6 [allocator.requirements] Allocators and volatile
-qualified value types Yes 4 2448(i) C++17 23.2.2 [container.requirements.general] Non-normative Container destructor specification Yes 0 2449(i) NAD 23.3.13.5 [vector.modifiers] vector::insert
invalidates end()
? Yes 3 2450(i) C++17 22.10.8 [comparisons] (greater|less|greater_equal|less_equal)<void>
do not yield a total order for pointers Yes 2 2451(i) TS 5.3 [fund.ts.v2::optional.object] [fund.ts.v2] optional<T>
should 'forward' T
's implicit conversions Yes 2452(i) Core 21 [meta] is_constructible
, etc. and default arguments No 3 2453(i) New 17.11 [support.initlist] §[iterator.range] and now [iterator.container] aren't available via <initializer_list>
No 3 2454(i) C++17 99 [depr.storage.iterator] Add raw_storage_iterator::base()
member Yes 0 2455(i) C++17 16.4.4.6 [allocator.requirements] Allocator default construction should be allowed to throw Yes 2456(i) Resolved 22.2 [utility] Incorrect exception specifications for 'swap
' throughout library Yes 1 2457(i) NAD 24.7 [iterator.range] std::begin()
and std::end()
do not support multi-dimensional arrays correctly Yes 3 2458(i) C++17 17.6 [support.dynamic] N3778 and new library deallocation signatures Yes 2 2459(i) C++17 29.4.7 [complex.value.ops] std::polar
should require a non-negative rho Yes 0 2460(i) C++17 21.3.9.7 [meta.trans.other] LWG issue 2408 and value categories Yes 2 2461(i) New 16.4.4.6 [allocator.requirements] Interaction between allocators and container exception safety guarantees No 3 2462(i) C++17 31.5.2 [ios.base] std::ios_base::failure
is overspecified Yes 3 2463(i) TS 10.3 [fund.ts::alg.random.sample] [fund.ts] Incorrect complexity for sample()
algorithm Yes 0 2464(i) C++17 23.4.3.4 [map.modifiers] try_emplace
and insert_or_assign
misspecified Yes 2 2465(i) Resolved 21.3.9.7 [meta.trans.other] SFINAE-friendly common_type
is nearly impossible to specialize correctly and regresses key functionality Yes 2 2466(i) C++17 16.4.4.6 [allocator.requirements] allocator_traits::max_size()
default behavior is incorrect Yes 3 2467(i) C++17 16.4.4.6 [allocator.requirements] is_always_equal
has slightly inconsistent default Yes 0 2468(i) C++17 16.4.5.9 [res.on.arguments] Self-move-assignment of library types Yes 2 2469(i) C++17 23.4.3.3 [map.access] Wrong specification of Requires clause of operator[]
for map
and unordered_map
Yes 3 2470(i) C++17 16.4.4.6 [allocator.requirements] Allocator's destroy
function should be allowed to fail to instantiate Yes 2471(i) Open 26.7.1 [alg.copy] copy_n
's number of InputIterator
increments unspecified No 3 2472(i) New 22.4.9 [tuple.rel] Heterogeneous comparisons in the standard library can result in ambiguities No 3 2473(i) C++17 31.10.3.5 [filebuf.virtuals] basic_filebuf
's relation to C FILE
semantics Yes 2 2474(i) NAD 29.7 [c.math] <cmath>
functions unfriendly to integral_constant
arguments Yes 4 2475(i) C++17 27.4.3.6 [string.access] Allow overwriting of std::basic_string
terminator with charT()
to allow cleaner interoperation with legacy APIs Yes 3 2476(i) C++17 20.6.1 [allocator.adaptor.syn] scoped_allocator_adaptor
is not assignable Yes 0 2477(i) C++17 23.3.5.4 [deque.modifiers] Inconsistency of wordings in std::vector::erase()
and std::deque::erase()
Yes 0 2478(i) New 99 [depr.conversions.string] Unclear how wstring_convert
uses cvtstate
No 4 2479(i) New 99 [depr.conversions.buffer] Unclear how wbuffer_convert
uses cvtstate
No 4 2480(i) New 99 [depr.conversions.buffer] Error handling of wbuffer_convert
unclear No 4 2481(i) New 99 [depr.conversions.string] wstring_convert
should be more precise regarding "byte-error string" etc. No 4 2482(i) C++17 27.5 [c.strings] §[c.strings] Table 73 mentions nonexistent functions Yes 2483(i) C++17 17.9.8 [except.nested] throw_with_nested()
should use is_final
Yes 2 2484(i) C++17 17.9.8 [except.nested] rethrow_if_nested()
is doubly unimplementable Yes 2 2485(i) C++17 22.4.8 [tuple.elem] get()
should be overloaded for const tuple&&
Yes 1 2486(i) C++17 22.10.4 [func.require] mem_fn()
should be required to use perfect forwarding Yes 0 2487(i) C++17 22.10.15.4 [func.bind.bind] bind()
should be const
-overloaded, not cv-overloaded Yes 2 2488(i) C++17 22.10.15.5 [func.bind.place] Placeholders should be allowed and encouraged to be constexpr
Yes 2 2489(i) C++17 22.10.16 [func.memfn] mem_fn()
should be noexcept
Yes 0 2490(i) New 28.6 [re] <regex>
needs lots of noexcept
No 3 2491(i) New 22.10.8 [comparisons] std::less<T*>
in constant expression Yes 3 2492(i) C++17 26.8 [alg.sorting] Clarify requirements for comp
Yes 0 2493(i) New 17.11 [support.initlist] initializer_list
supports incomplete classes No 4 2494(i) TS 10.2 [fund.ts.v2::iterator.ostream.joiner] [fund.ts.v2] ostream_joiner
needs noexcept
Yes 0 2495(i) C++17 20.3.2.2.2 [util.smartptr.shared.const] There is no such thing as an Exception Safety element Yes 0 2496(i) New 21.3.6.4 [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 2497(i) New 31.7.6.2.4 [ostream.sentry] Use of uncaught_exception()
Yes 3 2498(i) Resolved 31.7.5.6 [istream.rvalue] operator>>(basic_istream&&, T&&)
returns basic_istream&
, but should probably return basic_istream&&
Yes 3 2499(i) Resolved 31.7.5.3.3 [istream.extractors] operator>>(basic_istream&, CharT*)
makes it hard to avoid buffer overflows Yes 2 2500(i) TS 8.2.1.2 [fund.ts.v2::memory.smartptr.shared.obs] [fund.ts.v2] fundts.memory.smartptr.shared.obs/6 should apply to cv-unqualified void
Yes 0 2501(i) Resolved 22.10.17.3 [func.wrap.func] std::function
requires POCMA/POCCA Yes 3 2502(i) Resolved 22.10.17.3 [func.wrap.func] std::function
does not use allocator::construct
Yes 3 2503(i) C++17 28.6.4.2 [re.synopt] multiline option should be added to syntax_option_type
Yes 2 2504(i) New 31.6.3 [streambuf] basic_streambuf
is not an abstract class No 3 2505(i) Resolved 99 [auto.ptr.conv] auto_ptr_ref
creation requirements underspecified Yes 4 2506(i) SG1 6.10.2 [intro.multithread] Underspecification of atomics No 3 2507(i) New 99 [depr.locale.stdcvt] codecvt_mode
should be a bitmask type No 3 2508(i) New 17.6.3.5 [new.delete.dataraces] §[new.delete.dataraces] wording needs to be updated No 3 2509(i) TS 6.4 [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 2510(i) C++17 17.6 [support.dynamic] Tag types should not be DefaultConstructible
Yes 2 2511(i) Resolved 20.6.4 [allocator.adaptor.members] scoped_allocator_adaptor
piecewise construction does not require CopyConstructible
Yes 3 2512(i) Open 28.3.4.6.2.3 [locale.time.get.virtuals] Y2K bites; what is an "unambiguous year identifier"? No 4 2513(i) New 27.1 [strings.general] Missing requirements for basic_string::value_type
No 4 2514(i) C++17 21.3.2 [meta.rqmts] Type traits must not be final
Yes 3 2515(i) TS 8.12.6 [fund.ts.v2::memory.observer.ptr.special] [fund.ts.v2] Certain comparison operators of observer_ptr
do not match synopsis Yes 0 2516(i) TS 8.12.1 [fund.ts.v2::memory.observer.ptr.overview] [fund.ts.v2] Public "exposition only" members in observer_ptr
Yes 2 2517(i) TS 3.7.5 [fund.ts.v2::propagate_const.assignment] [fund.ts.v2] Two propagate_const
assignment operators have incorrect return type Yes 0 2518(i) TS 3.7.10 [fund.ts.v2::propagate_const.algorithms] [fund.ts.v2] Non-member swap
for propagate_const
should call member swap
Yes 3 2519(i) C++17 24.3.5.7 [random.access.iterators] Iterator operator-=
has gratuitous undefined behaviour Yes 2 2520(i) C++17 20.3.1.4.2 [unique.ptr.runtime.ctor] N4089 broke initializing unique_ptr<T[]>
from a nullptr
Yes 2 2521(i) TS 8.2.2.1 [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 2522(i) TS 8.8 [fund.ts.v2::memory.resource.global] [fund.ts.v2] Contradiction in set_default_resource
specification Yes 2 2523(i) C++17 32.10.6 [futures.promise] std::promise
synopsis shows two set_value_at_thread_exit()
's for no apparent reason Yes 0 2524(i) Resolved 29.5.9.4.2 [rand.dist.pois.exp] generate_canonical
can occasionally return 1.0 Yes 2 2525(i) TS 4.2 [fund.ts.v2::func.wrap.func] [fund.ts.v2] get_memory_resource
should be const
and noexcept
Yes 3 2526(i) TS 4.2.2 [fund.ts.v2::func.wrap.func.mod] [fund.ts.v2] Incorrect precondition for experimental::function::swap
Yes 0 2527(i) TS 4.2.1 [fund.ts.v2::func.wrap.func.con] [fund.ts.v2] ALLOCATOR_OF
for function::operator=
has incorrect default Yes 3 2528(i) New 22.4.4.2 [tuple.cnstr] Order of std::tuple
construction unspecified No 3 2529(i) Resolved 20.3.2.7 [util.smartptr.enab] Assigning to enable_shared_from_this::__weak_this
twice Yes 3 2530(i) Open 32.10.5 [futures.state] Clarify observable side effects of releasing a shared state No 3 2531(i) C++17 32.10.7 [futures.unique.future] future::get
should explicitly state that the shared state is released Yes 3 2532(i) Open 32.10.6 [futures.promise] Satisfying a promise
at thread exit Yes 3 2533(i) SG1 99 [concurr.ts::futures.unique.future] [concurr.ts] Constrain threads where future::then
can run a continuation No 2534(i) C++17 31.7.6.6 [ostream.rvalue] Constrain rvalue stream operators Yes 3 2535(i) NAD 27.4.4.4 [string.io] Inconsistency between ostream::write
and ostream::operator<<
Yes 2 2536(i) C++17 17.15 [support.c.headers] What should <complex.h>
do? Yes 2 2537(i) C++17 23.6.4.3 [priqueue.cons.alloc] Constructors for priority_queue
taking allocators should call make_heap
Yes 0 2538(i) NAD 99 [parallel.ts::parallel.alg.general.exec] [parallel.ts] Requirements on data race behavior of iterators and swap should be clarified Yes 2539(i) TS 3.3.2 [fund.ts.v2::meta.trans.other] [fund.ts.v2] invocation_trait
definition definition doesn't work for surrogate call functions Yes 2540(i) C++17 23.2.8 [unord.req] unordered_multimap::insert
hint iterator Yes 3 2541(i) Resolved 99 [parallel.ts::parallel.alg.overloads] [parallel.ts] Headers for ExecutionPolicy
algorithm overloads Yes 1 2542(i) C++17 23.2.7 [associative.reqmts] Missing const
requirements for associative containers Yes 1 2543(i) Resolved 22.10.19 [unord.hash] LWG 2148 (hash support for enum types) seems under-specified Yes 2 2544(i) C++17 24.6.4.3 [istreambuf.iterator.cons] istreambuf_iterator(basic_streambuf<charT, traits>* s)
effects unclear when s
is 0
Yes 3 2545(i) C++17 22.10.15.4 [func.bind.bind] Simplify wording for bind
without explicitly specified return type Yes 3 2546(i) New 28.6.12 [re.grammar] Implementability of locale-sensitive UnicodeEscapeSequence matching No 4 2547(i) New 22.10.8 [comparisons] Container requirements (and other library text) should say "strict total order", not just "total order" No 3 2548(i) Resolved 31.13 [c.files] Missing vfscanf
from <cstdio>
Yes 3 2549(i) C++17 22.4.4.2 [tuple.cnstr] Tuple EXPLICIT constructor templates that take tuple
parameters end up taking references to temporaries and will create dangling references Yes 2 2550(i) C++17 23.2.8 [unord.req] Wording of unordered container's clear()
method complexity Yes 2 2551(i) TS 8.2.1.1 [fund.ts.v2::memory.smartptr.shared.const] [fund.ts.v2] "Exception safety" cleanup in library fundamentals required Yes 0 2552(i) NAD 23.6.4 [priority.queue] priority_queue
doesn't work with move-only types Yes 3 2553(i) NAD 7.3 [fund.ts.v2::string.view.cons] [fund.ts.v2] basic_string_view
substring constructor Yes 2554(i) Resolved 22.2.2 [utility.swap] Swapping multidimensional arrays is never noexcept
Yes 2 2555(i) TS 5.3 [fund.ts.v2::optional.object] [fund.ts.v2] No handling for over-aligned types in optional
Yes 0 2556(i) C++17 32.10.7 [futures.unique.future] Wide contract for future::share()
Yes 3 2557(i) C++17 21.3.10 [meta.logical] Logical operator traits are broken in the zero-argument case Yes 0 2558(i) TS 3.3.3 [fund.ts.v2::meta.logical] [fund.ts.v2] Logical operator traits are broken in the zero-argument case Yes 0 2559(i) C++17 19.3 [assertions] Error in LWG 2234's resolution Yes 0 2560(i) C++17 21.3.6.4 [meta.unary.prop] is_constructible
underspecified when applied to a function type Yes 0 2561(i) Resolved 5.3.4 [fund.ts.v2::optional.object.swap] [fund.ts.v2] Incorrect exception specifications for 'swap' in C++ Extensions for Library Fundamentals Yes 3 2562(i) C++17 22.10.8 [comparisons] Consistent total ordering of pointers by comparison functors Yes 3 2563(i) NAD 16.4.6.5 [member.functions] LWG 2259 relaxes requirements, perhaps unintentionally Yes 2 2564(i) Resolved 4.2 [fund.ts.v2::func.wrap.func] [fund.ts.v2] std::experimental::function
constructors taking allocator arguments may throw exceptions Yes 3 2565(i) C++17 22.10.17.3.2 [func.wrap.func.con] std::function
's move constructor should guarantee nothrow for reference_wrapper
s and function pointers Yes 0 2566(i) C++17 23.6 [container.adaptors] Requirements on the first template parameter of container adaptors Yes 0 2567(i) C++17 21.3.10 [meta.logical] Specification of logical operator traits uses BaseCharacteristic
, which is defined only for UnaryTypeTraits
and BinaryTypeTraits
Yes 2 2568(i) TS 3.3.3 [fund.ts.v2::meta.logical] [fund.ts.v2] Specification of logical operator traits uses BaseCharacteristic
, which is defined only for UnaryTypeTraits
and BinaryTypeTraits
Yes 2 2569(i) C++17 21.3.10 [meta.logical] conjunction
and disjunction
requirements are too strict Yes 2 2570(i) TS 3.3.3 [fund.ts.v2::meta.logical] [fund.ts.v2] conjunction
and disjunction
requirements are too strict Yes 2 2571(i) C++17 23.4.3.4 [map.modifiers] §[map.modifiers]/2 imposes nonsensical requirement on insert(InputIterator, InputIterator)
Yes 0 2572(i) C++17 20.3.2.2.6 [util.smartptr.shared.obs] The remarks for shared_ptr::operator*
should apply to cv-qualified void
as well Yes 0 2573(i) TS 8.2.1 [fund.ts.v2::memory.smartptr.shared] [fund.ts.v2] std::hash<std::experimental::shared_ptr<T>>
does not work for arrays Yes 0 2574(i) TS 4.2.1 [fund.ts.v2::func.wrap.func.con] [fund.ts.v2] std::experimental::function::operator=(F&&)
should be constrained Yes 0 2575(i) TS 4.2 [fund.ts.v2::func.wrap.func] [fund.ts.v2] experimental::function::assign
should be removed Yes 0 2576(i) C++17 24.6 [stream.iterators] istream_iterator
and ostream_iterator
should use std::addressof
Yes 0 2577(i) C++17 32.6.5.4.2 [thread.lock.unique.cons] {shared,unique}_lock
should use std::addressof
Yes 0 2578(i) C++17 24.3 [iterator.requirements] Iterator requirements should reference iterator traits Yes 3 2579(i) C++17 27.4.3.7.3 [string.assign] Inconsistency wrt Allocators in basic_string
assignment vs. basic_string::assign
Yes 0 2580(i) NAD 27.4.3.3 [string.cons] Who is definitive: operator=
or assign
? Yes 4 2581(i) C++17 21.3.3 [meta.type.synop] Specialization of <type_traits>
variable templates should be prohibited Yes 0 2582(i) C++17 21 [meta] §[res.on.functions]/2's prohibition against incomplete types shouldn't apply to type traits Yes 0 2583(i) C++17 27.4.3.3 [string.cons] There is no way to supply an allocator for basic_string(str, pos)
Yes 0 2584(i) C++17 28.6.12 [re.grammar] <regex>
ECMAScript IdentityEscape
is ambiguous Yes 2 2585(i) C++17 23.3.7.5 [forward.list.modifiers] forward_list::resize(size_type, const value_type&)
effects incorrect Yes 0 2586(i) C++17 20.6.4 [allocator.adaptor.members] Wrong value category used in scoped_allocator_adaptor::construct()
Yes 0 2587(i) C++17 21.3.10 [meta.logical] "Convertible to bool
" requirement in conjunction
and disjunction
Yes 3 2588(i) TS 3.3.3 [fund.ts.v2::meta.logical] [fund.ts.v2] "Convertible to bool
" requirement in conjunction
and disjunction
Yes 3 2589(i) C++17 28.6.9 [re.results] match_results
can't satisfy the requirements of a container Yes 3 2590(i) C++17 23.3.3.1 [array.overview] Aggregate initialization for std::array
Yes 0 2591(i) C++17 22.10.17.3.6 [func.wrap.func.targ] std::function
's member template target()
should not lead to undefined behaviour Yes 3 2592(i) New 30.2 [time.syn] Require that chrono::duration_cast
s from smaller durations to larger durations do not overflow Yes 4 2593(i) C++20 16.4.4.6 [allocator.requirements] Moved-from state of Allocators Yes 4 2594(i) New 20.3.2.2 [util.smartptr.shared] Contradicting definition of empty shared_ptr
on shared_ptr(nullptr, d)
Yes 3 2595(i) New 24.5.1.2 [reverse.iterator] reverse_iterator::operator[]
's return type revisited Yes 3 2596(i) C++17 23.3.13.4 [vector.data] vector::data()
should use addressof
Yes 0 2597(i) C++20 29.4.8 [complex.transcendentals] std::log
misspecified for complex numbers Yes 3 2598(i) C++17 20.2.11 [specialized.addressof] addressof
works on temporaries Yes 3 2599(i) New 22.2.6 [declval] Library incomplete type permission phrase is unclear No 3 2600(i) NAD 31.5.2.6 [ios.base.storage] ios_base
must store inaccessible iostate flags Yes 2601(i) TS 1 [filesys.ts::fs.scope] [filesys.ts] [PDTS] Make namespaces consistent with Library TS policy Yes 2602(i) TS 2.1 [filesys.ts::fs.conform.9945] [filesys.ts] [PDTS] Tighten specification when there is no reasonable behavior Yes 2603(i) TS 4.7 [filesys.ts::fs.def.filename] [filesys.ts] [PDTS] Filename length needs bullet item Yes 2604(i) NAD 4.14 [filesys.ts::fs.def.parent] [filesys.ts] [PDTS] Need definition of dot and dot-dot Yes 2605(i) TS 8.1 [filesys.ts::path.generic] [filesys.ts] [PDTS] Parent of root directory unspecified Yes 2606(i) TS 4.15 [filesys.ts::fs.def.path] [filesys.ts] [PDTS] Path depth is underspecified Yes 2607(i) TS 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] Unhelpful comment for struct space_info
Yes 2608(i) TS 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] file_time_type
underspecified Yes 2609(i) TS 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] Unclear why range-based-for functions return different types Yes 2610(i) NAD 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] Apparently inconsistent return types from several functions Yes 2611(i) NAD Future 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] Lack of relative()
operation function Yes 2612(i) NAD Future 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] uintmax_t
too small for large file sizes Yes 2613(i) NAD 7 [filesys.ts::fs.err.report] [filesys.ts] [PDTS] Missing actual error conditions thrown Yes 2614(i) TS 8.4.1 [filesys.ts::path.construct] [filesys.ts] [PDTS] Incorrect postconditions for path
copy/move constructor Yes 2615(i) TS 8.2.2 [filesys.ts::path.type.cvt] [filesys.ts] [PDTS] Missing behavior for characters with no representation Yes 2616(i) TS 8.4.3 [filesys.ts::path.append] [filesys.ts] [PDTS] Append behavior underspecified if target is empty Yes 2617(i) NAD 8.4.5 [filesys.ts::path.modifiers] [filesys.ts] [PDTS] path
member swap()
unnecessary Yes 2618(i) TS 8.4.10 [filesys.ts::path.query] [filesys.ts] [PDTS] is_absolute()
return clause confusing Yes 2619(i) TS 8.6.1 [filesys.ts::path.io] [filesys.ts] [PDTS] Consider using quoted manipulators Yes 2621(i) TS 12.3 [filesys.ts::directory_entry.obs] [filesys.ts] [PDTS] directory_entry operator==
needs clarification Yes 2622(i) TS 13.1 [filesys.ts::directory_iterator.members] [filesys.ts] [PDTS] directory_iterator
underspecified Yes 2623(i) NAD 15 [filesys.ts::fs.op.funcs] [filesys.ts] [PDTS] Request for create_regular_file()
and/or touch()
Yes 2624(i) TS 15.3 [filesys.ts::fs.op.copy] [filesys.ts] [PDTS] Incorrect effects clause for path copy
Yes 2625(i) TS 15.4 [filesys.ts::fs.op.copy_file] [filesys.ts] [PDTS] Copying equivalent paths effects not specified Yes 2626(i) NAD 15.13 [filesys.ts::fs.op.equivalent] [filesys.ts] [PDTS] Equivalence is a volatile property Yes 2627(i) TS 15.14 [filesys.ts::fs.op.file_size] [filesys.ts] [PDTS] Return value of uintmax_t
on error? Yes 2628(i) NAD 15.25 [filesys.ts::fs.op.last_write_time] [filesys.ts] [PDTS] Possible last_write_time()
postcondition? Yes 2629(i) TS 15.27 [filesys.ts::fs.op.read_symlink] [filesys.ts] [PDTS] Unclear semantics of read_symlink
on error Yes 2630(i) NAD 15.28 [filesys.ts::fs.op.remove] [filesys.ts] [PDTS] remove()
must avoid race Yes 2631(i) NAD 15.30 [filesys.ts::fs.op.rename] [filesys.ts] [PDTS] POSIX guarantees atomicity for rename()
Yes 2632(i) TS 15.36 [filesys.ts::fs.op.system_complete] [filesys.ts] [PDTS] system_complete()
example needs clarification Yes 2633(i) TS 15 [filesys.ts::fs.op.funcs] [filesys.ts] [PDTS] unique_path()
is a security vulnerability Yes 2634(i) TS 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] enum class directory_options
has no summary Yes 2635(i) TS 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] directory_options::skip_permission_denied
is not used Yes 2636(i) TS 10.2 [filesys.ts::enum.copy_options] [filesys.ts] [PDTS] copy_options::copy_symlinks
is not used Yes 2637(i) TS 15.2 [filesys.ts::fs.op.canonical] [filesys.ts] [PDTS] All functions with error_code
arguments should be noexcept
Yes 2638(i) NAD 12.3 [filesys.ts::directory_entry.obs] [filesys.ts] [PDTS] Make certain functions noexcept
and drop error_code
version Yes 2639(i) NAD Editorial 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] permissions()
is missing from synopsis Yes 2640(i) TS 12 [filesys.ts::class.directory_entry] [filesys.ts] [PDTS] class directory_entry
should retain operator const path&()
from V2 Yes 2641(i) TS 13 [filesys.ts::class.directory_iterator] [filesys.ts] [PDTS] directory_iterator
, recursive_directory_iterator
, move construct/assign should be noexcept
Yes 2642(i) NAD 8 [filesys.ts::class.path] [filesys.ts] [PDTS] class path
should have defaulted constructors/destructor/assignments. Yes 2643(i) Dup 8 [filesys.ts::class.path] [filesys.ts] [PDTS] path::compare(const string&)
should be path::compare(const string_type&)
Yes 2644(i) TS 10.2 [filesys.ts::enum.copy_options] [filesys.ts] [PDTS] enum classes copy_options
and perms
should be bitmask types Yes 2645(i) TS 15.7 [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 2646(i) NAD 8.4.7 [filesys.ts::path.generic.obs] [filesys.ts] [PDTS] Do we really need generic*
? Yes 2647(i) TS 15.25 [filesys.ts::fs.op.last_write_time] [filesys.ts] [PDTS] last_write_time()
uses ill-formed cast Yes 2648(i) TS 8.4.6 [filesys.ts::path.native.obs] [filesys.ts] [PDTS] path::template<class charT>string()
conversion rules Yes 2649(i) TS 8.4.1 [filesys.ts::path.construct] [filesys.ts] [PDTS] path
and directory_entry
move ctors should not be noexcept
Yes 2650(i) TS 8 [filesys.ts::class.path] [filesys.ts] [PDTS] path::compare(const string& s)
wrong argument type Yes 2651(i) Dup 13 [filesys.ts::class.directory_iterator] [filesys.ts] [PDTS] directory_iterator
, recursive_directory_iterator
, pointer
/reference
typedefs wrong Yes 2652(i) TS 13 [filesys.ts::class.directory_iterator] [filesys.ts] [PDTS] Better to avoid deriving from std::iterator
Yes 2653(i) TS 12 [filesys.ts::class.directory_entry] [filesys.ts] [PDTS] directory_entry
multithreading concerns Yes 2654(i) NAD Future 1 [filesys.ts::fs.scope] [filesys.ts] [PDTS] Concerns with security and testability Yes 2655(i) TS 7 [filesys.ts::fs.err.report] [filesys.ts] [PDTS] Clarify Error reporting Yes 2656(i) TS 5 [filesys.ts::fs.req] [filesys.ts] [PDTS] Feature test macro for TS version Yes 2657(i) TS 2.1 [filesys.ts::fs.conform.9945] [filesys.ts] [PDTS] Inappropriate use of "No diagnostic is required" Yes 2658(i) TS 15.25 [filesys.ts::fs.op.last_write_time] [filesys.ts] [PDTS] POSIX utime()
is obsolescent Yes 2659(i) NAD Editorial 10 [filesys.ts::fs.enum] [filesys.ts] [PDTS] Invalid expressions for bitmask types Yes 2660(i) TS 15.1 [filesys.ts::fs.op.absolute] [filesys.ts] [PDTS] Incorrect Throws specification for absolute()
Yes 2661(i) NAD 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] Surprising equivalent()
behavior if neither file exists Yes 2662(i) TS 5 [filesys.ts::fs.req] [filesys.ts] Allocator requirements unspecified Yes 2663(i) Resolved 31.12.13.15 [fs.op.file.size] Enable efficient retrieval of file size from directory_entry
Yes 2 2664(i) C++17 31.12.6.5.3 [fs.path.append] operator/
(and other append) semantics not useful if argument has root Yes 2 2665(i) Resolved 31.12.6.5.5 [fs.path.modifiers] remove_filename()
post condition is incorrect Yes 1 2666(i) NAD Editorial 31.12 [filesystems] Bitmask operations should use bitmask terms Yes 3 2667(i) C++17 31.12.6.5.9 [fs.path.decompose] path::root_directory()
description is confusing Yes 0 2668(i) NAD 31.12.6 [fs.class.path] path::operator+=
is defined, but not operator+
Yes 3 2669(i) C++17 31.12.12.2 [fs.rec.dir.itr.members] recursive_directory_iterator
effects refers to non-existent functions Yes 0 2670(i) C++17 99 [fs.op.system_complete] system_complete
refers to undefined variable 'base' Yes 0 2671(i) C++17 31.12.13.4 [fs.op.copy] Errors in Copy Yes 0 2672(i) C++17 31.12.13.20 [fs.op.is.empty] Should is_empty use error_code in its specification? Yes 3 2673(i) C++17 31.12.13.36 [fs.op.status] status()
effects cannot be implemented as specified Yes 0 2674(i) C++17 31.12.6.6 [fs.path.itr] Bidirectional iterator requirement on path::iterator
is very expensive Yes 2 2675(i) New 31.5.2.7 [ios.base.callback] register_callback
can fail No 3 2676(i) C++17 31.10 [file.streams] Provide filesystem::path
overloads for File-based streams Yes 2 2677(i) Resolved 31.12.10.4 [fs.dir.entry.obs] directory_entry::status
is not allowed to be cached as a quality-of-implementation issue Yes 2 2678(i) C++17 31.12.8.2 [fs.enum.file.type] std::filesystem
enum classes overspecified Yes 3 2679(i) C++17 16.3.2.4 [structure.specifications] Inconsistent Use of Effects and Equivalent To Yes 3 2680(i) C++17 31.12 [filesystems] Add "Equivalent to" to filesystem Yes 2 2681(i) C++17 31.12.13.4 [fs.op.copy] filesystem::copy()
cannot copy symlinks Yes 2 2682(i) C++20 31.12.13.4 [fs.op.copy] filesystem::copy()
won't create a symlink to a directory Yes 2 2683(i) C++17 31.12.13.4 [fs.op.copy] filesystem::copy()
says "no effects" Yes 3 2684(i) C++17 23.6.4 [priority.queue] priority_queue lacking comparator typedef Yes 0 2685(i) C++17 20.3.2.2.2 [util.smartptr.shared.const] shared_ptr
deleters must not not throw on move construction Yes 0 2686(i) C++17 19.5.2 [system.error.syn] Why is std::hash
specialized for error_code
, but not error_condition
? Yes 3 2687(i) C++17 26.10.8 [exclusive.scan] {inclusive,exclusive}_scan
misspecified Yes 1 2688(i) C++17 26.8.10 [alg.clamp] clamp
misses preconditions and has extraneous condition on result Yes 0 2689(i) C++17 26.7.1 [alg.copy] Parallel versions of std::copy
and std::move
shouldn't be in order Yes 0 2690(i) Resolved 22.10.5 [func.invoke] invoke<R>
Yes 2691(i) New 28.3.4.7.4 [locale.moneypunct] money_base::space
and do_put
: U+0020 versus fill
Yes 3 2692(i) NAD 16.3.3.3.3 [bitmask.types] Overspecification of lvalueness of bitmask elements Yes 3 2693(i) Resolved 29.4 [complex.numbers] constexpr
for various std::complex
arithmetic and value operators Yes 3 2694(i) C++17 28.3.3.1.2.2 [locale.facet] Application of LWG 436 accidentally deleted definition of "facet" Yes 3 2695(i) New 16.4.6.5 [member.functions] "As if" unclear in [member.functions] No 3 2696(i) C++17 20.3.2.2.7 [util.smartptr.shared.create] Interaction between make_shared
and enable_shared_from_this
is underspecified Yes 2 2697(i) C++23 99 [concurr.ts::futures.unique_future] [concurr.ts] Behavior of future/shared_future
unwrapping constructor when given an invalid future
Yes 2 2698(i) C++17 23.2.4 [sequence.reqmts] Effect of assign()
on iterators/pointers/references Yes 0 2699(i) C++17 29.2 [numeric.requirements] Missing restriction in [numeric.requirements] Yes 3 2700(i) NAD 20.5 [mem.res] resource_adaptor
went missing Yes 1 2701(i) NAD Editorial 20.5.2.3 [mem.res.private] Unclear requirement in [memory.resource.private] Yes 3 2702(i) New 28.3.4.3.3.3 [facet.num.put.virtuals] num_put::do_put(..., bool)
performs ill-formed do_put
call No 3 2703(i) New 28.3.4.3.3.3 [facet.num.put.virtuals] No provision for fill-padding when boolalpha
is set No 3 2704(i) C++17 31.12.12.2 [fs.rec.dir.itr.members] recursive_directory_iterator
's members should require '*this
is dereferenceable' Yes 1 2705(i) New 23.2.4 [sequence.reqmts] Questionable precondition on Sequence containers a.assign(n, t)
Yes 3 2706(i) C++17 31.12.12 [fs.class.rec.dir.itr] Error reporting for recursive_directory_iterator::pop()
is under-specified Yes 0 2707(i) C++17 31.12.6 [fs.class.path] path
construction and assignment should have "string_type&&
" overloads Yes 0 2708(i) Open 31.12.12.2 [fs.rec.dir.itr.members] recursive_directory_iterator::recursion_pending()
is incorrectly specified Yes 2 2709(i) C++17 17.2 [support.types] offsetof
is unnecessarily imprecise Yes 2 2710(i) C++17 16.3.2.4 [structure.specifications] "Effects: Equivalent to ..." doesn't count "Synchronization:" as determined semantics Yes 0 2711(i) C++17 31.12.6.5.1 [fs.path.construct] path
is convertible from approximately everything under the sun Yes 1 2712(i) C++17 31.12.13.5 [fs.op.copy.file] copy_file(from, to, ...)
has a number of unspecified error conditions Yes 2 2713(i) New 23.5 [unord] More missing allocator-extended constructors for unordered containers Yes 3 2714(i) New 29.4.6 [complex.ops] complex
stream extraction underspecified Yes 3 2715(i) Resolved 32.5.8 [atomics.types.generic] What is 'aggregate initialization syntax'? Yes 3 2716(i) C++17 26.7.12 [alg.random.sample] Specification of shuffle
and sample
disallows lvalue URNG
s Yes 0 2717(i) NAD 20.6.4 [allocator.adaptor.members] scoped_allocator_adaptor
uses forward
to do move
's job Yes 2718(i) C++17 26.3.3 [algorithms.parallel.exec] Parallelism bug in [algorithms.parallel.exec] p2 Yes 2719(i) C++17 31.12.13.27 [fs.op.permissions] permissions
function should not be noexcept
due to narrow contract Yes 0 2720(i) C++17 31.12.13.27 [fs.op.permissions] permissions
function incorrectly specified for symlinks Yes 2 2721(i) C++17 31.12.13.32 [fs.op.remove.all] remove_all
has incorrect post conditions Yes 3 2722(i) C++17 31.12.13.13 [fs.op.equivalent] equivalent
incorrectly specifies throws clause Yes 3 2723(i) C++17 31.12.11 [fs.class.directory.iterator] Do directory_iterator
and recursive_directory_iterator
become the end iterator upon error? Yes 0 2724(i) C++17 20.5.2 [mem.res.class] The protected virtual member functions of memory_resource
should be private Yes 4 2725(i) C++17 31.12.13.14 [fs.op.exists] filesystem::exists(const path&, error_code&)
error reporting Yes 1 2726(i) C++17 31.12.11.2 [fs.dir.itr.members] [recursive_]directory_iterator::increment(error_code&)
is underspecified Yes 0 2727(i) C++17 26.1 [algorithms.general] Parallel algorithms with constexpr
specifier Yes 0 2728(i) C++17 31.12.13.36 [fs.op.status] status(p).permissions()
and symlink_status(p).permissions()
are not specified Yes 0 2729(i) C++17 22.3.2 [pairs.pair] Missing SFINAE on std::pair::operator=
Yes 2 2730(i) Open 17.3.5 [numeric.limits] numeric_limits
primary template definition No 3 2731(i) C++23 32.6.5.2 [thread.lock.guard] Existence of lock_guard<MutexTypes...>::mutex_type
typedef unclear Yes 3 2732(i) C++17 31.12.6.5.3 [fs.path.append] Questionable specification of path::operator/=
and path::append
Yes 2 2733(i) TS 13.1.2 [fund.ts.v2::numeric.ops.gcd] [fund.ts.v2] gcd
/ lcm
and bool
Yes 4 2734(i) Resolved 31.12.6.5.4 [fs.path.concat] Questionable specification in [fs.path.concat] Yes 2 2735(i) C++17 29.7 [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 3 2736(i) C++17 22.5.5 [optional.nullopt] nullopt_t
insufficiently constrained Yes 2 2737(i) New 17.6.3.2 [new.delete.single] Consider relaxing object size restrictions for single-object allocation functions No 3 2738(i) C++17 21.3.6.4 [meta.unary.prop] is_constructible
with void
types Yes 2739(i) C++17 30.6.6 [time.point.nonmember] Issue with time_point
non-member subtraction with an unsigned duration Yes 0 2740(i) C++17 22.5.3.7 [optional.observe] constexpr optional<T>::operator->
Yes 0 2741(i) Resolved 26.8.5 [alg.partitions] is_partitioned
requirements need updating Yes 3 2742(i) C++17 27.4.3.3 [string.cons] Inconsistent string
interface taking string_view
Yes 1 2743(i) C++23 23.2.5.1 [container.node.overview] p0083r3 node_handle
private members missing "exposition only" comment Yes 3 2744(i) C++17 22.7.4.2 [any.cons] any
's in_place
constructors Yes 0 2745(i) TS 5.3 [fund.ts.v2::optional.object] [fund.ts.v2] Implementability of LWG 2451 Yes 0 2746(i) New 22.5.3.4 [optional.assign] Inconsistency between requirements for emplace
between optional
and variant
Yes 3 2747(i) C++17 26.6.5 [alg.foreach] Possibly redundant std::move
in [alg.foreach] Yes 0 2748(i) C++17 22.5.3.5 [optional.swap] swappable
traits for optional
s Yes 0 2749(i) C++17 22.6.3.7 [variant.swap] swappable
traits for variant
s Yes 1 2750(i) TS 5.3.1 [fund.ts.v2::optional.object.ctor] [fund.ts.v2] LWG 2451 conversion constructor constraint Yes 0 2751(i) New 20.3.2.2.3 [util.smartptr.shared.dest] shared_ptr
deleter not specified to observe expired weak_ptr
instances No 4 2752(i) C++17 32.10.9 [futures.async] "Throws:" clauses of async
and packaged_task
are unimplementable Yes 3 2753(i) Resolved 22.5.3.2 [optional.ctor] Optional's constructors and assignments need constraints Yes 0 2754(i) Resolved 22.7.4.2 [any.cons] The in_place
constructors and emplace
functions added by P0032R3 don't require CopyConstructible
Yes 1 2755(i) C++17 27.3.5 [string.view.io] §[string.view.io] uses non-existent basic_string_view::to_string
function Yes 0 2756(i) C++17 22.5.3 [optional.optional] C++ WP optional<T>
should 'forward' T
's implicit conversions Yes 1 2757(i) Resolved 27.4.3.7.4 [string.insert] std::string{}.insert(3, "ABCDE", 0, 1)
is ambiguous Yes 1 2758(i) C++17 27.4.3.7.3 [string.assign] std::string{}.assign("ABCDE", 0, 1)
is ambiguous Yes 1 2759(i) C++17 26.10.14 [numeric.ops.gcd] gcd
/ lcm
and bool
for the WP Yes 2760(i) C++17 27.4.3.2 [string.require] non-const basic_string::data
should not invalidate iterators Yes 2761(i) NAD 31.12.10.4 [fs.dir.entry.obs] directory_entry
comparisons are members Yes 2 2762(i) C++23 20.3.1.3.5 [unique.ptr.single.observers] unique_ptr operator*()
should be noexcept
Yes 3 2763(i) Resolved 21.3.9.7 [meta.trans.other] common_type_t<void, void>
is undefined Yes 2 2764(i) Dup 17.4.1 [cstdint.syn] Are <cstddint>
macros optional? Yes 3 2765(i) C++17 31.5.2.2.6 [ios.init] Did LWG 1123 go too far? Yes 0 2766(i) New 22.3.3 [pairs.spec] Swapping non-swappable types Yes 3 2767(i) C++17 22.10.13 [func.not.fn] not_fn call_wrapper
can form invalid types Yes 0 2768(i) C++17 22.7.5 [any.nonmembers] any_cast
and move semantics Yes 0 2769(i) C++17 22.7.5 [any.nonmembers] Redundant const
in the return type of any_cast(const any&)
Yes 0 2770(i) C++17 22.4.7 [tuple.helper] tuple_size<const T>
specialization is not SFINAE compatible and breaks decomposition declarations Yes 1 2771(i) C++17 27.4.3.8.4 [string.compare] Broken Effects of some basic_string::compare
functions in terms of basic_string_view
Yes 1 2772(i) NAD 23.2.7 [associative.reqmts] Inconsistency in the insert(node)
interface Yes 2 2773(i) C++17 22.4.1 [tuple.general] Making std::ignore constexpr
Yes 0 2774(i) C++23 22.10.17.3.2 [func.wrap.func.con] std::function
construction vs assignment Yes 3 2775(i) Dup 24.5.1.6 [reverse.iter.elem] reverse_iterator
is does not compile for fancy pointers Yes 1052 2776(i) Resolved 20.3.2.2.6 [util.smartptr.shared.obs] shared_ptr unique()
and use_count()
Yes 2 2777(i) C++17 27.3.3.8 [string.view.ops] basic_string_view::copy
should use char_traits::copy
Yes 0 2778(i) C++17 27.3 [string.view] basic_string_view
is missing constexpr
Yes 0 2779(i) C++23 16.2.1 [networking.ts::buffer.reqmts.mutablebuffersequence] [networking.ts] Relax requirements on buffer sequence iterators Yes 2780(i) Resolved 27.3 [string.view] basic_string_view::copy
is missing constexpr
Yes 2 2781(i) C++17 22.10.17.3.2 [func.wrap.func.con] Contradictory requirements for std::function
and std::reference_wrapper
Yes 0 2782(i) C++17 20.6.3 [allocator.adaptor.cnstr] scoped_allocator_adaptor
constructors must be constrained Yes 0 2783(i) C++20 23.6.3.1 [queue.defn] stack::emplace()
and queue::emplace()
should return decltype(auto)
Yes 2 2784(i) C++17 17.9.8 [except.nested] Resolution to LWG 2484 is missing "otherwise, no effects" and is hard to parse Yes 0 2785(i) C++17 31.7.9 [quoted.manip] quoted
should work with basic_string_view
Yes 0 2786(i) C++17 C.4.9 [diff.cpp14.utilities] Annex C should mention shared_ptr
changes for array support Yes 0 2787(i) C++17 31.12.9 [fs.class.file.status] §[fs.file_status.cons] doesn't match class definition Yes 0 2788(i) C++17 27.4.3.7.2 [string.append] basic_string
range mutators unintentionally require a default constructible allocator Yes 2 2789(i) C++17 22.7.4 [any.class] Equivalence of contained objects Yes 0 2790(i) C++17 24.6.4 [istreambuf.iterator] Missing specification of istreambuf_iterator::operator->
Yes 3 2791(i) Resolved 27.3.6 [string.view.hash] string_view
objects and strings should yield the same hash values Yes 2792(i) TS 13.1.2 [fund.ts.v2::numeric.ops.gcd] [fund.ts.v2] gcd
and lcm
should support a wider range of input values Yes 2793(i) C++17 24.6.2.2 [istream.iterator.cons] Awkward conflation of trivial special members of istream_iterator
Yes 2794(i) C++17 23.2.2 [container.requirements.general] Missing requirements for allocator pointers Yes 0 2795(i) C++17 16.4.6.4 [global.functions] §[global.functions] provides incorrect example of ADL use Yes 2796(i) C++17 22.4.1 [tuple.general] tuple
should be a literal type Yes 2 2797(i) Resolved 21.3.3 [meta.type.synop] Trait precondition violations Yes 2 2798(i) Resolved 31.12.6 [fs.class.path] Definition of path in terms of a string Yes 2 2799(i) Resolved 32.10.8 [futures.shared.future] noexcept
-specifications in shared_future
Yes 2 2800(i) Resolved 22.2.2 [utility.swap] constexpr swap
Yes 3 2801(i) C++17 20.3.1.3.2 [unique.ptr.single.ctor] Default-constructibility of unique_ptr
Yes 2 2802(i) C++17 20.3.2.2.2 [util.smartptr.shared.const] shared_ptr
constructor requirements for a deleter Yes 2 2803(i) Resolved 22.10.19 [unord.hash] hash
for arithmetic, pointer and standard library types should not throw Yes 3 2804(i) C++17 24.6.2.2 [istream.iterator.cons] Unconditional constexpr
default constructor for istream_iterator
Yes 0 2805(i) Resolved 22.6 [variant] void
and reference type alternatives in variant
, variant<>
and index()
Yes 2806(i) C++17 22.5.6 [optional.bad.access] Base class of bad_optional_access
Yes 1 2807(i) C++17 22.10.5 [func.invoke] std::invoke
should use std::is_nothrow_callable
Yes 3 2808(i) Resolved 31.5.3.3 [fpos.operations] Requirements for fpos
and stateT
Yes 4 2809(i) Resolved 22.6.12 [variant.hash] variant
hash requirements Yes 2810(i) Resolved 20.3.2.2 [util.smartptr.shared] use_count
and unique
in shared_ptr
Yes 2811(i) New 22.5.3.2 [optional.ctor] "Selected constructor" wording is incorrect for optional
/variant
/any
Yes 3 2812(i) C++17 24.7 [iterator.range] Range access is available with <string_view>
Yes 0 2813(i) Resolved 22.10.17.3.2 [func.wrap.func.con] std::function
should not return dangling references Yes 2 2814(i) Resolved 4.2.1 [fund.ts.v2::func.wrap.func.con] [fund.ts.v2] to_array
should take rvalue reference as well Yes 3 2815(i) New 17.5 [support.start.term] quick_exit
can deadlock Yes 3 2816(i) C++20 31.12.13.34 [fs.op.resize.file] resize_file
has impossible postcondition Yes 3 2817(i) Resolved 22.10.19 [unord.hash] std::hash
for nullptr_t
Yes 2818(i) C++23 16.4.2.2 [contents] "::std::"
everywhere rule needs tweaking Yes 2 2819(i) New 32.2.5 [thread.req.lockable] Unspecified Return type: elements Yes 3 2820(i) C++23 17.4.1 [cstdint.syn] Clarify <cstdint>
macros Yes 3 2821(i) Resolved 17.6.5 [ptr.launder] std::launder()
should be marked as [[nodiscard]]
Yes 3 2822(i) NAD 27.4.3.3 [string.cons] Resolution for LWG 2742 introduces ambiguities Yes 2823(i) Open 23.3.3.1 [array.overview] std::array
initialization is still not permissive enough Yes 3 2824(i) C++17 23.3.11.5 [list.ops] list::sort
should say that the order of elements is unspecified if an exception is thrown Yes 0 2825(i) Resolved 22.5.3 [optional.optional] LWG 2756 breaks class template argument deduction for optional
Yes 2 2826(i) C++17 27.3.3.4 [string.view.iterators] string_view
iterators use old wording Yes 0 2827(i) New 21.3.6.4 [meta.unary.prop] is_trivially_constructible
and non-trivial destructors No 3 2828(i) NAD Editorial 21.3.6.4 [meta.unary.prop] Clarify <cstdalign>
(following adoption of P0063r3) Yes 2829(i) Open 22.5.3.7 [optional.observe] LWG 2740 leaves behind vacuous words No 2 2830(i) Resolved 23.2.7 [associative.reqmts] insert_return_type
is only defined for containers with unique keys Yes 2831(i) Resolved 23.2.8 [unord.req] Equality can be defined when Hash
function objects have different behaviour Yes 2832(i) Resolved 31.5.3.3 [fpos.operations] §[fpos.operations] strange requirement for P(i)
Yes 3 2833(i) Open 22.6.3.2 [variant.ctor] Library needs to specify what it means when it declares a function constexpr
Yes 2 2834(i) C++17 27.4.3.5 [string.capacity] Resolution LWG 2223 is missing wording about end iterators Yes 0 2835(i) C++17 17.15 [support.c.headers] LWG 2536 seems to misspecify <tgmath.h>
Yes 0 2836(i) Resolved 27.4.3 [basic.string] More string operations should be noexcept
Yes 2 2837(i) C++17 26.10.14 [numeric.ops.gcd] gcd
and lcm
should support a wider range of input values Yes 0 2838(i) C++17 D.13 [depr.meta.types] is_literal_type
specification needs a little cleanup Yes 0 2839(i) C++23 16.4.6.17 [lib.types.movedfrom] Self-move-assignment of library types, again Yes 2 2840(i) Resolved 31.12.11.2 [fs.dir.itr.members] directory_iterator::increment
is seemingly narrow-contract but marked noexcept
Yes 2 2841(i) Resolved 27 [strings] Use of "Equivalent to" in [strings] Yes 3 2842(i) C++17 22.5.3.2 [optional.ctor] in_place_t
check for optional::optional(U&&)
should decay U
Yes 0 2843(i) C++20 20.5.2.3 [mem.res.private] Unclear behavior of std::pmr::memory_resource::do_allocate()
Yes 3 2844(i) Open 23.2.7 [associative.reqmts] Stability of a_uniq.insert(i, j)
No 3 2845(i) New 21.3.2 [meta.rqmts] enable_if
, result_of
, common_type
and aligned_storage
do not meet the definition of TransformationTrait
No 3 2846(i) New 29.4.10 [cmplx.over] Undefined phrase "effectively cast" Yes 3 2847(i) New 29.7.1 [cmath.syn] sin(float)
should call sinf(float)
No 3 2848(i) New 20.5.5.2 [mem.res.pool.options] Pass-through threshold for pool allocator No 3 2849(i) C++20 31.12.13.5 [fs.op.copy.file] Why does !is_regular_file(from)
cause copy_file
to report a "file already exists" error? Yes 2 2850(i) C++17 22.10.17.3.2 [func.wrap.func.con] std::function
move constructor does unnecessary work Yes 0 2851(i) C++20 31.12.8.2 [fs.enum.file.type] std::filesystem
enum classes are now underspecified Yes 2 2852(i) NAD 27.4.4.2 [string.cmp] Specifications of operator==
for std::basic_string
s and std::basic_string_view
s are difficult to conform to Yes 2 2853(i) C++17 23.3.13.5 [vector.modifiers] Possible inconsistency in specification of erase
in [vector.modifiers] Yes 0 2854(i) NAD 99 [depr.conversions.string] wstring_convert
provides no indication of incomplete input or output Yes 3 2855(i) C++17 17.9.8 [except.nested] std::throw_with_nested("string_literal")
Yes 0 2856(i) Resolved 32.10.9 [futures.async] std::async
should be marked as [[nodiscard]]
Yes 2 2857(i) C++17 22.5 [optional] {variant,optional,any}::emplace
should return the constructed value Yes 1 2858(i) New 24.5.1 [reverse.iterators] LWG 2472: actually an incompatibility with C++03 Yes 4 2859(i) C++20 17.6.5 [ptr.launder] Definition of reachable in [ptr.launder] misses pointer arithmetic from pointer-interconvertible object Yes 2 2860(i) NAD 17.6.5 [ptr.launder] launder
and base class subobjects Yes 2 2861(i) C++17 27.4.3.2 [string.require] basic_string
should require that charT
match traits::char_type
Yes 2862(i) Resolved 22.5 [optional] LWG 2756 should be accepted Yes 2863(i) Resolved 99 [func.default.traits] Undo default_order
changes of maps and sets Yes 2864(i) Resolved 20.3.2.2 [util.smartptr.shared] Merge shared_ptr
changes from Library Fundamentals to C++17 Yes 2865(i) NAD 16 [library] Resolve all open Library issues for C++17 Yes 2866(i) C++17 16.4.6.13 [derivation] Incorrect derived classes constraints Yes 2867(i) Resolved 16.4.6.14 [res.on.exception.handling] Bad footnote about explicit exception-specification Yes 2868(i) C++17 22.7.3 [any.bad.any.cast] Missing specification of bad_any_cast::what()
Yes 2869(i) Resolved 99 [depr.locale.stdcvt] Deprecate sub-clause [locale.stdcvt] Yes 2870(i) C++20 29.4.7 [complex.value.ops] Default value of parameter theta
of polar
should be dependent Yes 2871(i) NAD 21.3.3 [meta.type.synop] User specializations of type traits should be ill-formed Yes 2872(i) C++17 3 [intro.defs] Add definition for direct-non-list-initialization Yes 2873(i) C++17 20.3.2.2 [util.smartptr.shared] Add noexcept
to several shared_ptr
related functions Yes 2874(i) C++17 20.3.2.2.2 [util.smartptr.shared.const] Constructor shared_ptr::shared_ptr(Y*)
should be constrained Yes 2875(i) C++17 20.3.2.2.2 [util.smartptr.shared.const] shared_ptr::shared_ptr(Y*, D, […])
constructors should be constrained Yes 2876(i) C++17 20.3.2.2.2 [util.smartptr.shared.const] shared_ptr::shared_ptr(const weak_ptr<Y>&)
constructor should be constrained Yes 2877(i) Resolved 20.3.2.2.10 [util.smartptr.shared.cast] Strengthen meaning of "empty shared_ptr<T>
" in dynamic_pointer_cast
Yes 2878(i) C++17 24.6.2.2 [istream.iterator.cons] Missing DefaultConstructible
requirement for istream_iterator
default constructor Yes 2879(i) Resolved 17.14.4 [csignal.syn] Removing C dependencies from signal handler wording Yes 2880(i) Resolved 26.3.3 [algorithms.parallel.exec] Relax complexity specifications for non-sequenced policies Yes 2881(i) New 22.6.3 [variant.variant] Adopt section III of P0308R0 No 3 2882(i) Resolved 22.6.3.2 [variant.ctor] Clarify variant
construction Yes 2883(i) LEWG 27.3 [string.view] The standard library should provide string_view
parameters instead or in addition for functions defined with char const *
or string const &
as parameter types. No 2884(i) LEWG 23 [containers] Relational operators for containers should sfinae; if the underlying type is not comparable, neither should the container be No 2885(i) LEWG 23 [containers] The relational operators of optional
and variant
completely reflect the semantics of the element types — this is inconsistent with other types in the library No 2886(i) NAD 22.7.4.5 [any.observers] Keep the empty()
functions in any
Yes 2887(i) Resolved 32.6.5.2 [thread.lock.guard] Revert the changes from P0156R0: variadic lock_guard
Yes 2888(i) Resolved 22 [utilities] Variables of library tag types need to be inline variables Yes 2889(i) Resolved 22 [utilities] Mark constexpr
global variables as inline
Yes 2890(i) C++17 99 [defns.obj.state] The definition of 'object state' applies only to class types Yes 2891(i) NAD 16.4.6 [conforming] Relax library requirements on volatile
types Yes 2892(i) NAD 16.4.6.7 [constexpr.functions] Relax the prohibition on libraries adding constexpr
Yes 1 2893(i) NAD 22 [utilities] Parsing Hexadecimally in P0067R4 Yes 2894(i) Resolved 22.10.5 [func.invoke] The function template std::apply()
is required to be constexpr
, but std::invoke()
isn't Yes 3 2895(i) Resolved 21.3.8 [meta.rel] Passing function types to result_of
and is_callable
Yes 2896(i) Dup 99 [depr.locale.stdcvt] The contents of <codecvt>
are underspecified Yes 2897(i) Resolved 23.3.3.1 [array.overview] array::iterator
and array::const_iterator
should be literal types Yes 2 2898(i) NAD 16 [library] Prefer not to use member typedefs as constructor parameters Yes 2899(i) C++20 22.4 [tuple] is_(nothrow_)move_constructible
and tuple
, optional
and unique_ptr
Yes 2 2900(i) C++17 22.5.3 [optional.optional] The copy and move constructors of optional
are not constexpr
Yes 2901(i) C++17 22.6.3 [variant.variant] Variants cannot properly support allocators Yes 0 2902(i) NAD 22.6.3 [variant.variant] variant
should only support complete types Yes 0 2903(i) C++17 22.6.3.2 [variant.ctor] The form of initialization for the emplace-constructors is not specified Yes 2904(i) C++17 22.6.3.4 [variant.assign] Make variant
move-assignment more exception safe Yes 2905(i) C++17 20.3.1.3.2 [unique.ptr.single.ctor] is_constructible_v<unique_ptr<P, D>, P, D const &>
should be false when D
is not copy constructible Yes 2906(i) New 20.3.2.2.2 [util.smartptr.shared.const] There is no ability to supply an allocator for the control block when constructing a shared_ptr
from a unique_ptr
No 3 2907(i) NAD 20.3.2.2.3 [util.smartptr.shared.dest] Semantics for destroying the deleter and the control-block of a shared_ptr
are unclear Yes 2908(i) C++17 20.3.2.2.8 [util.smartptr.shared.cmp] The less-than operator for shared pointers could do more Yes 2909(i) NAD 26.3.6.2 [execpol.type] User specializations of is_execution_policy
should be ill-formed Yes 2910(i) Dup 21.3.3 [meta.type.synop] Template deduction and integral_constant
Yes 2911(i) C++17 21.3.6.4 [meta.unary.prop] An is_aggregate
type trait is needed Yes 2912(i) Resolved 30.5 [time.duration] Add a deduction guide for class template duration
Yes 2913(i) Resolved 23 [containers] Containers need deduction guides Yes 2914(i) Resolved 23.3.2 [array.syn] std::array
does not support class-template deduction from initializers Yes 2915(i) Resolved 23.6 [container.adaptors] The three container adapters should each have a deduction guide Yes 2916(i) NAD 24.5.2 [insert.iterators] Insert iterators should each have an instantiation guide to initialize from a container Yes 2917(i) Resolved 26 [algorithms] Parallel algorithms cannot easily work with InputIterator
s Yes 2918(i) Resolved 26.10.5 [inner.product] Possible need for extra storage in inner_product
Yes 2919(i) Resolved 26.10.12 [adjacent.difference] The specification for adjacent_difference
has baked-in sequential semantics Yes 2920(i) Resolved 32.10.8 [futures.shared.future] Add a deduction guide for creating a shared_future
from a future
rvalue Yes 2921(i) C++17 32.10.10 [futures.task] packaged_task
and type-erased allocators Yes 2922(i) LEWG 21.3.3 [meta.type.synop] The *_constant<>
templates do not make use of template<auto>
No 2923(i) New 29.7.1 [cmath.syn] noexcept
is inconsistently applied across headers which import components of the C standard library No 4 2924(i) Resolved 26.10 [numeric.ops] An ExecutionPolicy
overload for inner_product()
seems impractical Yes 2925(i) Resolved 16 [library] Template argument deduction is not used in the standard library Yes 2926(i) Resolved 22.10.4 [func.require] INVOKE(f, t1, t2,... tN)
and INVOKE(f, t1, t2,... tN, R)
are too similar Yes 2927(i) Resolved 21.3.3 [meta.type.synop] Encoding a functor and argument types as a function signature for is_callable
and result_of
is fragile Yes 2928(i) Resolved 21.3.3 [meta.type.synop] is_callable
is not a good name Yes 2929(i) Resolved 27.4.3.7.3 [string.assign] basic_string
misuses "Effects: Equivalent to" Yes 3 2930(i) NAD 16.4.6.4 [global.functions] Are implementations allowed to split non-member functions into several overloads? Yes 2931(i) Open 24.4.3 [iterator.operations] Missed optimization opportunity with single-argument std::next
No 3 2932(i) C++20 26.3.3 [algorithms.parallel.exec] Constraints on parallel algorithm implementations are underspecified Yes 2933(i) Resolved 22.4.5 [tuple.creation] PR for LWG 2773 could be clearer Yes 3 2934(i) C++17 22.5.9 [optional.comp.with.t] optional<const T>
doesn't compare with T
Yes 2935(i) C++20 31.12.13.7 [fs.op.create.directories] What should create_directories
do when p
already exists but is not a directory? Yes 0 2936(i) C++20 31.12.6.5.8 [fs.path.compare] Path comparison is defined in terms of the generic format Yes 2 2937(i) C++20 31.12.13.13 [fs.op.equivalent] Is equivalent("existing_thing", "not_existing_thing")
an error? Yes 0 2938(i) Resolved 27.3.3 [string.view.template] basic_string_view::const_iterator
should be literal types Yes 2 2939(i) Open 21.3.3 [meta.type.synop] Some type-completeness constraints of traits are overspecified Yes 2 2940(i) C++20 D.13 [depr.meta.types] result_of
specification also needs a little cleanup Yes 3 2941(i) C++20 32.2.4 [thread.req.timing] §[thread.req.timing] wording should apply to both member and namespace-level functions Yes 0 2942(i) C++20 20.3.2.3.6 [util.smartptr.weak.obs] LWG 2873's resolution missed weak_ptr::owner_before
Yes 2943(i) C++20 31.10.3.4 [filebuf.members] Problematic specification of the wide version of basic_filebuf::open
Yes 2 2944(i) C++20 20.3.1.3.2 [unique.ptr.single.ctor] LWG 2905 accidentally removed requirement that construction of the deleter doesn't throw an exception Yes 0 2945(i) C++20 22.5.9 [optional.comp.with.t] Order of template parameters in optional
comparisons Yes 2 2946(i) C++20 27.4.3.3 [string.cons] LWG 2758's resolution missed further corrections Yes 2 2947(i) New 31.12.8.1 [fs.enum.path.format] Clarify several filesystem terms No 3 2948(i) C++20 20.3.1 [unique.ptr] unique_ptr
does not define operator<<
for stream output Yes 0 2949(i) New 16 [library] Unclear complexity requirements: space vs. time No 4 2950(i) C++20 17.2.5 [support.types.byteops] std::byte
operations are misspecified Yes 1 2951(i) Resolved 24.3.2.3 [iterator.traits] iterator_traits
should SFINAE for void*
and function pointers Yes 3 2952(i) C++20 24.3.2.3 [iterator.traits] iterator_traits
should work for pointers to cv T
Yes 0 2953(i) C++20 23.3.5.4 [deque.modifiers] LWG 2853 should apply to deque::erase
too Yes 0 2954(i) C++20 16.4.5 [constraints] Specialization of the convenience variable templates should be prohibited Yes 2955(i) Resolved 22.2 [utility] to_chars
/ from_chars
depend on std::string
Yes 2956(i) C++17 31.12.13.3 [fs.op.canonical] filesystem::canonical()
still defined in terms of absolute(p, base)
Yes 1 2957(i) Resolved 22.10.15.4 [func.bind.bind] bind
's specification doesn't apply the cv-qualification of the call wrapper to the callable object Yes 3 2958(i) C++20 22.3.2 [pairs.pair] Moves improperly defined as deleted Yes 2 2959(i) New 27.2.4.4 [char.traits.specializations.char16.t] char_traits<char16_t>::eof
is a valid UTF-16 code unit No 3 2960(i) C++23 6.3 [fund.ts.v3::meta] [fund.ts.v3] nonesuch
is insufficiently useless Yes 2 2961(i) C++20 20.5.4 [mem.res.global] Bad postcondition for set_default_resource
Yes 2962(i) Open 24.3.5.3 [input.iterators] Iterators of Containers of move-only types do not model InputIterator
Yes 2 2963(i) New 26 [algorithms] Algorithms with underspecified iterator requirements No 3 2964(i) C++20 20.3.2.2.10 [util.smartptr.shared.cast] Apparently redundant requirement for dynamic_pointer_cast
Yes 0 2965(i) C++20 31.12.7.2 [fs.filesystem.error.members] Non-existing path::native_string()
in filesystem_error::what()
specification Yes 0 2966(i) C++20 31.12.6.5.6 [fs.path.native.obs] Incomplete resolution of US 74 Yes 2967(i) NAD 26.6.13 [alg.equal] std::equal
on empty ranges Yes 2968(i) Resolved 27.4.3.5 [string.capacity] Inconsistencies between basic_string reserve
and vector/unordered_map/unordered_set reserve
functions Yes 3 2969(i) C++20 20.5.3.3 [mem.poly.allocator.mem] polymorphic_allocator::construct()
shouldn't pass resource()
Yes 2 2970(i) C++20 22.6.7 [variant.visit] Return type of std::visit
misspecified Yes 2 2971(i) NAD 22.6.3 [variant.variant] variant
should require Destructible
types Yes 2972(i) C++20 21.3.6.4 [meta.unary.prop] What is is_trivially_destructible_v<int>
? Yes 2973(i) LEWG 26.8.6 [alg.merge] inplace_merge
exact comparison count complexity prohibits useful real-world optimizations Yes 2974(i) C++20 22.3.4 [pair.astuple] Diagnose out of bounds tuple_element
/variant_alternative
Yes 2975(i) C++20 20.5.3.3 [mem.poly.allocator.mem] Missing case for pair
construction in scoped and polymorphic allocators Yes 3 2976(i) C++20 32.10.10 [futures.task] Dangling uses_allocator
specialization for packaged_task
Yes 3 2977(i) C++20 23.2.8 [unord.req] unordered_meow::merge()
has incorrect Throws: clause Yes 0 2978(i) C++20 27.4.6 [basic.string.hash] Hash support for pmr::string
and friends Yes 0 2979(i) C++20 21.3.9.7 [meta.trans.other] aligned_union
should require complete object types Yes 0 2980(i) C++20 99 [depr.util.smartptr.shared.atomic] Cannot compare_exchange
empty pointers Yes 2981(i) C++20 22.10.6 [refwrap] Remove redundant deduction guides from standard library Yes 0 2982(i) C++20 23.5.6.1 [unord.set.overview] Making size_type
consistent in associative container deduction guides Yes 2 2983(i) New 28.3.4.7.3.3 [locale.money.put.virtuals] money_put::do_put
underspecified Yes 3 2984(i) New 31.7.8 [ext.manip] put_money(99)
is unnecessarily undefined Yes 3 2985(i) LEWG 26.7.10 [alg.reverse] std::reverse
should be permitted to be vectorized Yes 2986(i) New 28.6.12 [re.grammar] Handling of multi-character collating elements by the regex
FSM is underspecified No 4 2987(i) New 28.6.12 [re.grammar] Relationship between traits_inst.lookup_collatename
and the regex
FSM is underspecified with regards to ClassAtomCollatingElement
No 3 2988(i) C++20 32.5.2 [atomics.syn] Clause 32 cleanup missed one typename
Yes 0 2989(i) C++20 31.12.6.7 [fs.path.io] path
's stream insertion operator lets you insert everything under the sun Yes 2 2990(i) Open 22.5.3 [optional.optional] optional::value_type
is not always a value type Yes 3 2991(i) Open 22.6.3.2 [variant.ctor] variant
copy constructor missing noexcept(see below)
Yes 2992(i) NAD 19.5.3.5 [syserr.errcat.objects] system_category()
and error_code::error_code()
should be constexpr
Yes 2993(i) C++20 22.10.6 [refwrap] reference_wrapper<T>
conversion from T&&
Yes 3 2994(i) WP 27.2 [char.traits] Needless UB for basic_string
and basic_string_view
Yes 3 2995(i) C++20 31.8.2.2 [stringbuf.cons] basic_stringbuf
default constructor forbids it from using SSO capacity Yes 3 2996(i) C++20 20.3.2.2 [util.smartptr.shared] Missing rvalue overloads for shared_ptr
operations Yes 2997(i) C++23 23.3.11.5 [list.ops] LWG 491 and the specification of {forward_,}list::unique
Yes 3 2998(i) C++20 23.3.11.5 [list.ops] Requirements on function objects passed to {forward_,}list
-specific algorithms Yes 0 2999(i) Resolved 16.3.3.2 [expos.only.entity] §[thread.decaycopy] issue Yes 3 3000(i) C++20 20.5.6.3 [mem.res.monotonic.buffer.mem] monotonic_memory_resource::do_is_equal
uses dynamic_cast
unnecessarily Yes 0 3001(i) C++20 20.3.2.3 [util.smartptr.weak] weak_ptr::element_type
needs remove_extent_t
Yes 0 3002(i) C++23 18.9.4 [networking.ts::socket.acceptor.ops] [networking.ts] basic_socket_acceptor::is_open()
isn't noexcept
Yes 0 3003(i) Resolved 32.10.6 [futures.promise] <future>
still has type-erased allocators in promise
Yes 2 3004(i) C++20 27.4.3.5 [string.capacity] §[string.capacity] and §[vector.capacity] should specify time complexity for capacity()
Yes 0 3005(i) C++20 20.3.2.2.7 [util.smartptr.shared.create] Destruction order of arrays by make_shared/allocate_shared
only recommended? Yes 0 3006(i) Resolved 31.8.2.2 [stringbuf.cons] Constructing a basic_stringbuf
from a string
— where does the allocator come from? Yes 3 3007(i) C++20 20.3.2.2.7 [util.smartptr.shared.create] allocate_shared
should rebind allocator to cv-unqualified value_type
for construction Yes 0 3008(i) C++20 20.3.2.2.7 [util.smartptr.shared.create] make_shared
(sub)object destruction semantics are not specified Yes 2 3009(i) C++20 24.7 [iterator.range] Including <string_view>
doesn't provide std::size/empty/data
Yes 0 3010(i) C++23 13.11.1 [networking.ts::async.uses.executor.trait] [networking.ts] uses_executor
says "if a type T::executor_type
exists" Yes 0 3011(i) Open 19.3 [assertions] Requirements for assert(E)
inconsistent with C No 2 3012(i) C++20 32.5.8 [atomics.types.generic] atomic<T>
is unimplementable for non-is_trivially_copy_constructible T
Yes 2 3013(i) C++20 31.12.11.2 [fs.dir.itr.members] (recursive_)directory_iterator
construction and traversal should not be noexcept
Yes 0 3014(i) C++20 31.12.13.5 [fs.op.copy.file] More noexcept
issues with filesystem operations Yes 3015(i) C++20 31.12.13.4 [fs.op.copy] copy_options::unspecified
underspecified Yes 3 3016(i) NAD 22.5.3 [optional.optional] optional
and over-aligned types Yes 3 3017(i) C++20 23.3.7.6 [forward.list.ops] list splice
functions should use addressof
Yes 0 3018(i) C++20 20.3.2.2 [util.smartptr.shared] shared_ptr
of function type Yes 3 3019(i) New 19.5.3.4 [syserr.errcat.derived] Presentation of "program defined classes derived from error_category
" [syserr.errcat.derived] unclear and contains mistakes No 3 3020(i) C++23 16.2 [networking.ts::buffer.reqmts] [networking.ts] Remove spurious nested value_type
buffer sequence requirement Yes 0 3021(i) New 16.2.2 [networking.ts::buffer.reqmts.constbuffersequence] [networking.ts] Relax pointer equivalence requirement for ConstBufferSequence
Yes 3 3022(i) Resolved 21.3.8 [meta.rel] is_convertible<derived*, base*>
may lead to ODR Yes 2 3023(i) Resolved 22.10.16 [func.memfn] Clarify unspecified call wrappers Yes 3 3024(i) C++20 22.6.3.2 [variant.ctor] variant
's copies must be deleted instead of disabled via SFINAE Yes 3025(i) C++20 23.4.3.1 [map.overview] Map-like container deduction guides should use pair<Key, T>
, not pair<const Key, T>
Yes 2 3026(i) C++20 31.12.13.40 [fs.op.weakly.canonical] filesystem::weakly_canonical
still defined in terms of canonical(p, base)
Yes 0 3027(i) New 16.2.4 [networking.ts::buffer.reqmts.dynamicbuffer] [networking.ts] DynamicBuffer
prepare
exception specification Yes 3 3028(i) C++23 23.2.2 [container.requirements.general] Container requirements tables should distinguish const
and non-const
variables Yes 3 3029(i) Open 26.8.8.3 [pop.heap] pop_heap
over-constrains input Yes 3 3030(i) C++20 32.6.6 [thread.lock.algorithm] Who shall meet the requirements of try_lock
? Yes 0 3031(i) C++20 26.8 [alg.sorting] Algorithms and predicates with non-const reference arguments Yes 2 3032(i) C++23 26.8.8 [alg.heap.operations] ValueSwappable
requirement missing for push_heap
and make_heap
Yes 3 3033(i) NAD Editorial 27.4.3.3 [string.cons] basic_string
move ctor is underspecified Yes 3034(i) C++20 21.3.9.7 [meta.trans.other] P0767R1 breaks previously-standard-layout types Yes 0 3035(i) C++20 20.2.10 [default.allocator] std::allocator
's constructors should be constexpr
Yes 0 3036(i) C++23 20.5.3 [mem.poly.allocator.class] polymorphic_allocator::destroy
is extraneous Yes 3 3037(i) C++20 20.5.3 [mem.poly.allocator.class] polymorphic_allocator
and incomplete types Yes 2 3038(i) C++20 20.5.3.3 [mem.poly.allocator.mem] polymorphic_allocator::allocate
should not allow integer overflow to create vulnerabilities Yes 2 3039(i) C++20 32.4.3.3 [thread.thread.constr] Unnecessary decay
in thread
and packaged_task
Yes 0 3040(i) C++20 27.3.3.8 [string.view.ops] basic_string_view::starts_with
Effects are incorrect Yes 0 3041(i) C++20 22.10.6.2 [refwrap.const] Unnecessary decay
in reference_wrapper
Yes 0 3042(i) C++20 D.13 [depr.meta.types] is_literal_type_v
should be inline Yes 0 3043(i) C++20 31.12.7.2 [fs.filesystem.error.members] Bogus postcondition for filesystem_error
constructor Yes 0 3044(i) New 16.4.4.6 [allocator.requirements] Strange specification of max_size()
for an allocator Yes 3 3045(i) C++20 32.5.8.4 [atomics.types.float] atomic<floating-point>
doesn't have value_type
or difference_type
Yes 0 3046(i) New 22.10.6 [refwrap] Do not require reference_wrapper
to support non-referenceable function types Yes 3 3047(i) New 32.5.8.3 [atomics.types.int] atomic
compound assignment operators can cause undefined behavior when corresponding fetch_meow
members don't Yes 3 3048(i) C++20 26.10.6 [transform.reduce] transform_reduce(exec, first1, last1, first2, init)
discards execution policy Yes 0 3049(i) Open 26.2 [algorithms.requirements] Missing wording allowing algorithms to use copies of function objects as substitutes for their parameters Yes 3 3050(i) C++20 30.5.2 [time.duration.cons] Conversion specification problem in chrono::duration
constructor Yes 3 3051(i) C++20 29.7.1 [cmath.syn] Floating point classifications were inadvertently changed in P0175 Yes 0 3052(i) Resolved 22.6.7 [variant.visit] visit
is underconstrained Yes 2 3053(i) New 19.5.4.1 [syserr.errcode.overview] Prohibit error_code
construction from rvalues of error_category
Yes 3 3054(i) C++20 26.11.5 [uninitialized.copy] uninitialized_copy
appears to not be able to meet its exception-safety guarantee Yes 2 3055(i) C++20 31.12.6.5.4 [fs.path.concat] path::operator+=(single-character)
misspecified Yes 3 3056(i) New 31.12.13.5 [fs.op.copy.file] copy_file()
copies which attributes? Yes 3 3057(i) Open 31.12.13.4 [fs.op.copy] Correct copy_options
handling Yes 2 3058(i) C++20 26.10.12 [adjacent.difference] Parallel adjacent_difference
shouldn't require creating temporaries Yes 3 3059(i) New 23.2 [container.requirements] Wrong requirements for map-like associative container assignment? No 3 3060(i) New 26.10.8 [exclusive.scan] XXX_scan
algorithms are specified to work with move-only T
, but are specified to make N
copies of T
into the destination range No 2 3061(i) Resolved 26.8.12 [alg.three.way] What is the return type of compare_3way
? Yes 2 3062(i) C++20 26.3.5 [algorithms.parallel.overloads] Unnecessary decay_t
in is_execution_policy_v
should be remove_cvref_t
Yes 0 3063(i) New 26.11 [specialized.algorithms] Parallel algorithms in <memory>
are underspecified No 3 3064(i) Resolved 26.11 [specialized.algorithms] How do uninitialized memory algorithms obtain pointer without undefined behavior? Yes 3 3065(i) C++20 31.12.6.8 [fs.path.nonmember] LWG 2989 missed that all path
's other operators should be hidden friends as well Yes 2 3066(i) New 29.7.6 [sf.cmath] "report a domain error" in [sf.cmath]/1 is underspecified No 3 3067(i) C++20 31.12.12.2 [fs.rec.dir.itr.members] recursive_directory_iterator::pop
must invalidate Yes 0 3068(i) NAD 27.3.3 [string.view.template] Forbid assigning an rvalue basic_string
to basic_string_view
Yes 2 3069(i) New 22.6.3.4 [variant.assign] Move assigning variant
's subobject corrupts data Yes 3 3070(i) C++20 31.12.6.5.11 [fs.path.gen] path::lexically_relative
causes surprising results if a filename can also be a root-name Yes 2 3071(i) C++23 17.9 [networking.ts::buffer.read.until] [networking.ts] read_until
still refers to "input sequence" Yes 0 3072(i) New 16.2.4 [networking.ts::buffer.reqmts.dynamicbuffer] [networking.ts] DynamicBuffer
object lifetimes underspecified Yes 3 3073(i) New 17 [networking.ts::buffer.stream] [networking.ts] (async_
)read
and (async_
)write
don't support DynamicBuffer
lvalues Yes 3 3074(i) C++20 29.6.3 [valarray.nonmembers] Non-member functions for valarray
should only deduce from the valarray
Yes 0 3075(i) C++20 27.4.3 [basic.string] basic_string
needs deduction guides from basic_string_view
Yes 3076(i) C++20 27.4.3.3 [string.cons] basic_string
CTAD ambiguity Yes 3077(i) C++20 23.3.13.5 [vector.modifiers] (push|emplace)_back
should invalidate the end
iterator Yes 3 3078(i) New 31.12.10 [fs.class.directory.entry] directory_entry
, directory_iterator
and recursive_directory_iterator
perform needless path copies No 3 3079(i) C++20 31.12.13.8 [fs.op.create.directory] LWG 2935 forgot to fix the existing_p
overloads of create_directory
Yes 0 3080(i) C++20 28.2.3 [charconv.from.chars] Floating point from_chars
pattern specification breaks round-tripping Yes 0 3081(i) Open 28.2.3 [charconv.from.chars] Floating point from_chars
API does not distinguish between overflow and underflow Yes 2 3082(i) Open 28.2.3 [charconv.from.chars] from_chars
specification regarding floating point rounding is inconsistent Yes 2 3083(i) C++20 31.5.2.6 [ios.base.storage] What should ios::iword(-1)
do? Yes 0 3084(i) New 17.5 [support.start.term] Termination in C++ is unclear No 3 3085(i) C++23 27.2.2 [char.traits.require] char_traits::copy
precondition too weak Yes 2 3086(i) New 17.6.3.2 [new.delete.single] Possible problem in §[new.delete.single] Yes 3 3087(i) C++20 23.3.11.5 [list.ops] One final &x
in §[list.ops] Yes 3 3088(i) C++23 23.3.7.6 [forward.list.ops] forward_list::merge
behavior unclear when passed *this
Yes 3 3089(i) New 26.7.1 [alg.copy] copy_n
should require non-overlapping ranges Yes 3 3090(i) New 30.5.2 [time.duration.cons] What is §[time.duration.cons]p4's "no overflow is induced in the conversion" intended to mean? Yes 3 3091(i) Resolved 30.9 [time.hms] subsecond-precision time_of_day
and durations that seconds
cannot convert to Yes 2 3092(i) Open 16.3.3.3.3 [bitmask.types] Unclear semantics of enum class
bitmask types Yes 3 3093(i) New 29.7.2 [c.math.abs] LWG 2294/2192 missed a std::abs
overload No 3 3094(i) C++20 30.5.11 [time.duration.io] §[time.duration.io]p4 makes surprising claims about encoding Yes 0 3095(i) New 99 [depr.strstreambuf.virtuals] strstreambuf
refers to nonexistent member of fpos
, fpos::offset
Yes 4 3096(i) C++20 31.12.6.5.11 [fs.path.gen] path::lexically_relative
is confused by trailing slashes Yes 2 3097(i) New 31.8.2.5 [stringbuf.virtuals] basic_stringbuf seekoff
effects trigger undefined behavior and have contradictory returns No 3 3098(i) New 31.12.6.5.9 [fs.path.decompose] Misleading example for filesystem::path::filename()
Yes 3 3099(i) Open 21.3.3 [meta.type.synop] is_assignable<Incomplete&, Incomplete&>
Yes 2 3100(i) C++20 23.7.2.2.2 [span.cons] Unnecessary and confusing "empty span
" wording Yes 0 3101(i) C++20 23.7.2.2.2 [span.cons] span
's Container
constructors need another constraint Yes 1 3102(i) C++20 23.7.2.2.1 [span.overview] Clarify span iterator
and const_iterator
behavior Yes 0 3103(i) C++20 23.7.2.2.4 [span.sub] Errors in taking subview of span
should be ill-formed where possible Yes 3 3104(i) C++20 30.5.6 [time.duration.nonmember] Fixing duration
division Yes 0 3105(i) New 16 [library] T1
is convertible to T2
No 3 3106(i) NAD 17.6.2 [new.syn] nothrow
should be inline constexpr
rather that extern const
Yes 2 3107(i) New 24.6.4 [istreambuf.iterator] istreambuf_iterator
has public exposition-only member Yes 4 3108(i) New 24.6.4.2 [istreambuf.iterator.proxy] istreambuf_iterator::proxy::operator*
should be const
Yes 3 3109(i) New 99 [depr.strstreambuf] strstreambuf
is copyable No 4 3110(i) Resolved 24.3.1 [iterator.requirements.general] Contiguous Iterators should always be Random-Access Yes 3 3111(i) Resolved 27.4.3.3 [string.cons] Too strong precondition on basic_string
constructor Yes 2 3112(i) C++20 19.5.8.2 [syserr.syserr.members] system_error
and filesystem_error
constructors taking a string
may not be able to meet their postconditions Yes 0 3113(i) Resolved 20.5.3.3 [mem.poly.allocator.mem] polymorphic_allocator::construct()
should more closely match scoped_allocator_adaptor::construct()
Yes 3 3114(i) LEWG 16 [networking.ts::buffer] [networking.ts] Permit efficient composition when using DynamicBuffer
Yes 3115(i) Resolved 26.8.7.2 [includes] Unclear description for algorithm includes
Yes 3 3116(i) C++20 20.6.4 [allocator.adaptor.members] OUTERMOST_ALLOC_TRAITS
needs remove_reference_t
Yes 0 3117(i) C++23 32.10.10 [futures.task] Missing packaged_task
deduction guides Yes 3 3118(i) C++23 31.5.3.3 [fpos.operations] fpos
equality comparison unspecified Yes 4 3119(i) C++20 3.42 [defns.prog.def.spec] Program-definedness of closure types Yes 2 3120(i) C++23 20.5.6.3 [mem.res.monotonic.buffer.mem] Unclear behavior of monotonic_buffer_resource::release()
Yes 2 3121(i) C++23 22.4.4.2 [tuple.cnstr] tuple
constructor constraints for UTypes&&...
overloads Yes 2 3122(i) C++20 17.3.1 [support.limits.general] __cpp_lib_chrono_udls
was accidentally dropped Yes 0 3123(i) C++23 30.5 [time.duration] duration
constructor from representation shouldn't be effectively non-throwing Yes 3 3124(i) New 13.7.5 [networking.ts::async.exec.ctx.globals] [networking.ts] Unclear how execution_context
is intended to store services Yes 3 3125(i) Resolved 30.5.11 [time.duration.io] duration
streaming precondition should be a SFINAE condition Yes 2 3126(i) New 28.6.8 [re.submatch] There's no std::sub_match::compare(string_view)
overload Yes 3 3127(i) C++20 31.11.3.1 [syncstream.osyncstream.overview] basic_osyncstream::rdbuf
needs a const_cast
Yes 0 3128(i) C++20 99 [depr.strstream.oper] strstream::rdbuf
needs a const_cast
Yes 0 3129(i) C++20 28.6.11.2.2 [re.tokiter.cnstr] regex_token_iterator
constructor uses wrong pointer arithmetic Yes 0 3130(i) C++20 31 [input.output] §[input.output] needs many addressof
Yes 0 3131(i) C++20 30.13 [time.parse] addressof
all the things Yes 0 3132(i) C++20 16.4.5.3.3 [macro.names] Library needs to ban macros named expects
or ensures
Yes 0 3133(i) C++20 29.2 [numeric.requirements] Modernizing numeric type requirements Yes 0 3134(i) Resolved 99 [fund.ts.v3::meta.type.synop] [fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961 Yes 0 3135(i) Resolved 99 [fund.ts.v3::meta.type.synop] [fund.ts.v3] LFTSv3 contains two redundant alias templates Yes 3 3136(i) C++23 6.1.2.3 [fund.ts.v3::propagate_const.class_type_requirements] [fund.ts.v3] LFTSv3 awkward wording in propagate_const
requirements Yes 3 3137(i) C++20 17.3.1 [support.limits.general] Header for __cpp_lib_to_chars
Yes 0 3138(i) NAD 99 [support.contract.cviol] There is no such thing as assertion-level Yes 2 3139(i) NAD 99 [support.contract.cviol] contract_violation
's special member functions Yes 1 3140(i) C++20 21.3.9.7 [meta.trans.other] COMMON_REF
is unimplementable as specified Yes 0 3141(i) C++20 18.6 [concepts.object] CopyConstructible
doesn't preserve source values Yes 2 3142(i) New 16.4.5.8 [res.on.functions] std::foo<incomplete>
should be ill-formed NDR Yes 3 3143(i) C++23 20.5.6 [mem.res.monotonic.buffer] monotonic_buffer_resource
growth policy is unclear Yes 2 3144(i) C++20 23.7.2.2.1 [span.overview] span
does not have a const_pointer
typedef Yes 0 3145(i) C++20 30.7.6 [time.clock.file] file_clock
breaks ABI for C++17 implementations Yes 1 3146(i) C++23 22.10.6.7 [refwrap.helpers] Excessive unwrapping in std::ref
/cref
Yes 3 3147(i) C++20 16.4.5.3.3 [macro.names] Definitions of "likely" and "unlikely" are likely to cause problems Yes 0 3148(i) C++20 16.4.2.5 [compliance] <concepts>
should be freestanding Yes 0 3149(i) C++20 18.4.12 [concept.default.init] DefaultConstructible
should require default initialization Yes 2 3150(i) C++20 29.5.3.3 [rand.req.urng] UniformRandomBitGenerator
should validate min
and max
Yes 3 3151(i) Resolved 18.4.4 [concept.convertible] ConvertibleTo
rejects conversions from array and function types Yes 3 3152(i) C++23 21.3.9.7 [meta.trans.other] common_type
and common_reference
have flaws in common Yes 3 3153(i) C++20 18.4.6 [concept.common] Common
and common_type
have too little in common Yes 0 3154(i) C++20 18.4.6 [concept.common] Common
and CommonReference
have a common defect Yes 0 3155(i) Resolved 22.4.4.2 [tuple.cnstr] tuple<any, any>{allocator_arg_t, an_allocator}
Yes 3 3156(i) Resolved 26.11 [specialized.algorithms] ForwardIterator
should only mean forward iterator Yes 3 3157(i) New 16.4.4.6 [allocator.requirements] Allocator destroy
and fancy pointer operations must be non-throwing Yes 3 3158(i) C++20 22.4.4.2 [tuple.cnstr] tuple(allocator_arg_t, const Alloc&)
should be conditionally explicit Yes 3 3159(i) New 20.3.1.3 [unique.ptr.single] §[unique.ptr.single] requirements on deleter may be too strict No 3 3160(i) C++20 32.5.7 [atomics.ref.generic] atomic_ref() = delete;
should be deleted Yes 0 3161(i) Open 23.6.6 [stack] Container adapters mandate use of emplace_back
but don't require it Yes 3 3162(i) New 19.5.8.2 [syserr.syserr.members] system_error::system_error(error_code ec)
not explicit Yes 3 3163(i) NAD 16.2 [networking.ts::buffer.reqmts] [networking.ts] Buffer sequence iterator equivalency Yes 3164(i) NAD 20.3.1.3.2 [unique.ptr.single.ctor] Unhelpful "shall not participate" constraints for unique_ptr
with reference deleter Yes 3165(i) NAD 27.4.3 [basic.string] All starts_with()
overloads should be called "begins_with
" Yes 2 3166(i) New 22.3.4 [pair.astuple] No such descriptive element as Value: No 3 3167(i) Open 8.2 [fund.ts.v3::memory.observer.ptr] [fund.ts.v3] Does observer_ptr
support function types? No 3 3168(i) Resolved 16.3.2.4 [structure.specifications] Expects: element should be specified in one place Yes 2 3169(i) C++20 26.8.13 [alg.permutation.generators] ranges
permutation generators discard useful information Yes 0 3170(i) C++23 20.2.10 [default.allocator] is_always_equal
added to std::allocator
makes the standard library treat derived types as always equal Yes 2 3171(i) C++23 31.12.10 [fs.class.directory.entry] LWG 2989 breaks directory_entry
stream insertion Yes 2 3172(i) New 29.7.3 [c.math.hypot3] 3-arg std::hypot
is underspecified compared to the 2-arg overload Yes 3 3173(i) C++20 25.7.6.2 [range.ref.view] Enable CTAD for ref-view
Yes 0 3174(i) New 21.3.8 [meta.rel] Precondition on is_convertible
is too strong Yes 3 3175(i) C++20 18.4.9 [concept.swappable] The CommonReference
requirement of concept SwappableWith
is not satisfied in the example Yes 1 3176(i) Resolved 23.2.8 [unord.req] Underspecified behavior of unordered containers when Container::key_equal
differs from Pred
Yes 2 3177(i) C++23 16.4.5.2.1 [namespace.std] Limit permission to specialize variable templates to program-defined types Yes 3 3178(i) Resolved 99 [mismatch] std::mismatch
is missing an upper bound Yes 0 3179(i) C++20 25.5.4.2 [range.subrange.ctor] subrange
should always model Range
Yes 0 3180(i) C++20 26.4 [algorithm.syn] Inconsistently named return type for ranges::minmax_element
Yes 0 3181(i) NAD 25.7.16.3 [range.lazy.split.outer] split_view::outer_iterator
converting constructor is misconstrained Yes 3182(i) C++20 18.4.2 [concept.same] Specification of Same
could be clearer Yes 0 3183(i) C++20 24.3.4.8 [iterator.concept.sizedsentinel] Normative permission to specialize Ranges variable templates Yes 0 3184(i) C++20 22.10.14 [func.bind.partial] Inconsistencies in bind_front
wording Yes 0 3185(i) C++20 20.2.8.2 [allocator.uses.construction] Uses-allocator construction functions missing constexpr
and noexcept
Yes 0 3186(i) C++20 26.7.8 [alg.remove] ranges
removal, partition, and partial_sort_copy
algorithms discard useful information Yes 1 3187(i) C++20 20.2.8.2 [allocator.uses.construction] P0591R4 reverted DR 2586 fixes to scoped_allocator_adaptor::construct()
Yes 3188(i) New 24.6.4 [istreambuf.iterator] istreambuf_iterator::pointer
should not be unspecified Yes 3 3189(i) New 23.6.4 [priority.queue] Missing requirement for std::priority_queue
No 3 3190(i) C++20 20.2.10.2 [allocator.members] std::allocator::allocate
sometimes returns too little storage Yes 3 3191(i) C++20 26.7.13 [alg.random.shuffle] std::ranges::shuffle
synopsis does not match algorithm definition Yes 1 3192(i) New 20.2.8.2 [allocator.uses.construction] §[allocator.uses.construction] functions misbehave for const
types Yes 3 3193(i) New 16.3.2.4 [structure.specifications] Mandates: and Expects: elements are not defined for types Yes 3 3194(i) C++20 18.4.4 [concept.convertible] ConvertibleTo
prose does not match code Yes 1 3195(i) C++23 20.3.2.3.2 [util.smartptr.weak.const] What is the stored pointer value of an empty weak_ptr
? Yes 2 3196(i) C++20 22.5.3 [optional.optional] std::optional<T>
is ill-formed is T
is an array Yes 0 3197(i) New 24.4.3 [iterator.operations] std::prev
should not require BidirectionalIterator
Yes 3 3198(i) C++20 23.7.2.2.2 [span.cons] Bad constraint on std::span::span()
Yes 3199(i) C++20 22.9.4 [bitset.operators] istream >> bitset<0>
fails Yes 3200(i) C++20 26.10.16 [numeric.ops.midpoint] midpoint
should not constrain T
is complete Yes 2 3201(i) C++20 29.7.4 [c.math.lerp] lerp
should be marked as noexcept
Yes 2 3202(i) C++20 22.10.2 [functional.syn] P0318R1 was supposed to be revised Yes 0 3203(i) WP 23.7.2.2.1 [span.overview] span
element access invalidation Yes 2 3204(i) C++23 28.6.8 [re.submatch] sub_match::swap
only swaps the base class Yes 3 3205(i) New 21.3.9.7 [meta.trans.other] decay_t
in the new common_type
fallback should be remove_cvref_t
Yes 3 3206(i) C++20 30.8.14.2 [time.cal.ymd.members] year_month_day
conversion to sys_days
uses not-existing member function Yes 0 3207(i) NAD 24.7 [iterator.range] N
in ssize(const T (&)[N])
should be size_t
Yes 3208(i) C++20 24.7 [iterator.range] Boolean
's expression requirements are ordered inconsistently Yes 0 3209(i) C++20 30.8.5.2 [time.cal.year.members] Expression in year::ok()
returns clause is ill-formed Yes 0 3210(i) New 20.3.2.2.7 [util.smartptr.shared.create] allocate_shared
is inconsistent about removing const
from the pointer passed to allocator construct
and destroy
Yes 3 3211(i) C++23 22.4.4.2 [tuple.cnstr] std::tuple<>
should be trivially constructible Yes 3 3212(i) Resolved 99 [span.tuple] tuple_element_t<1, const span<int, 42>>
is const int
Yes 2 3213(i) Resolved 26.6.5 [alg.foreach] for_each_n
and copy_n
missing requirements for Size
Yes 3 3214(i) New 28.3.4.3.2.3 [facet.num.get.virtuals] §[facet.num.get.virtuals] doesn't say what it means for digit grouping to be consistent No 4 3215(i) New 22.6.3.2 [variant.ctor] variant
default constructor has vague constexpr
requirements No 2 3216(i) WP 20.3.2.2.7 [util.smartptr.shared.create] Rebinding the allocator before calling construct
/destroy
in allocate_shared
Yes 3 3217(i) New 17.3.1 [support.limits.general] <memory>
and <execution>
should define __cpp_lib_parallel_algorithm
Yes 3 3218(i) C++20 30.13 [time.parse] Modifier for %d
parse flag does not match POSIX and format
specification Yes 0 3219(i) New 23.3.3.1 [array.overview] std::array
overview container requirements are incorrect Yes 3 3220(i) New 32.5.2 [atomics.syn] P0558 broke conforming C++14 uses of atomic shared_ptr
Yes 3 3221(i) C++20 30.8.13.3 [time.cal.ym.nonmembers] Result of year_month
arithmetic with months
is ambiguous Yes 0 3222(i) C++20 26.10.9 [inclusive.scan] P0574R1 introduced preconditions on non-existent parameters Yes 0 3223(i) Resolved 29.7.1 [cmath.syn] lerp
should not add the "sufficient additional overloads" Yes 2 3224(i) C++20 30.11.7.2 [time.zone.zonedtime.ctor] zoned_time
constructor from TimeZonePtr
does not specify initialization of tp_
Yes 0 3225(i) C++20 30.11.7.2 [time.zone.zonedtime.ctor] zoned_time
converting constructor shall not be noexcept
Yes 0 3226(i) C++20 30.11.7.2 [time.zone.zonedtime.ctor] zoned_time
constructor from string_view
should accept zoned_time<Duration2, TimeZonePtr2>
Yes 2 3227(i) New 23.2.7 [associative.reqmts] Ambiguity issue for extract
in ordered and unordered associative containers Yes 3 3228(i) Resolved 22.6.3.2 [variant.ctor] Surprising variant
construction Yes 2 3229(i) New 16.4.6.14 [res.on.exception.handling] §[res.on.exception.handling]#3 cannot apply to types with implicitly declared destructors Yes 3 3230(i) C++20 30.13 [time.parse] Format specifier %y/%Y
is missing locale alternative versions Yes 0 3231(i) C++20 30.8.15.2 [time.cal.ymdlast.members] year_month_day_last::day
specification does not cover !ok()
values Yes 0 3232(i) C++20 30.11.7.1 [time.zone.zonedtime.overview] Inconsistency in zoned_time
deduction guides Yes 0 3233(i) C++20 20.3.2.2.2 [util.smartptr.shared.const] Broken requirements for shared_ptr
converting constructors Yes 0 3234(i) Resolved 29.7.1 [cmath.syn] Sufficient Additional Special Math Overloads Yes 3 3235(i) C++20 30.13 [time.parse] parse
manipulator without abbreviation is not callable Yes 0 3236(i) C++23 24.3.5.7 [random.access.iterators] Random access iterator requirements lack limiting relational operators domain to comparing those from the same range Yes 3 3237(i) C++20 20.5.3.3 [mem.poly.allocator.mem] LWG 3038 and 3190 have inconsistent PRs Yes 2 3238(i) C++20 22.10.17.3.2 [func.wrap.func.con] Insufficiently-defined behavior of std::function
deduction guides Yes 3239(i) Resolved 17.12.2.2 [cmp.partialord] Hidden friends should be specified more narrowly Yes 3240(i) New 16.4.3.2 [using.headers] Headers declare more than entities No 3 3241(i) C++20 30.12 [time.format] chrono-spec
grammar ambiguity in §[time.format] Yes 0 3242(i) C++20 28.5.2.2 [format.string.std] std::format
: missing rules for arg-id
in width
and precision
Yes 1 3243(i) C++20 28.5.2 [format.string] std::format
and negative zeroes Yes 2 3244(i) C++20 31.12.6.4 [fs.path.req] Constraints for Source
in §[fs.path.req] insufficiently constrainty Yes 0 3245(i) C++20 30.13 [time.parse] Unnecessary restriction on '%p'
parse specifier Yes 0 3246(i) C++20 28.5.8.1 [format.arg] What are the constraints on the template parameter of basic_format_arg
? Yes 0 3247(i) C++20 24.3.3.1 [iterator.cust.move] ranges::iter_move
should perform ADL-only lookup of iter_move
Yes 2 3248(i) C++20 28.5.2.2 [format.string.std] std::format
#b
, #B
, #o
, #x
, and #X
presentation types misformat negative numbers Yes 2 3249(i) C++23 32.5.5 [atomics.lockfree] There are no 'pointers' in §[atomics.lockfree] Yes 4 3250(i) C++20 28.5.2.2 [format.string.std] std::format
: #
(alternate form) for NaN and inf Yes 0 3251(i) C++20 28.5.2 [format.string] Are std::format
alignment specifiers applied to string arguments? Yes 2 3252(i) C++20 30.13 [time.parse] Parse locale's aware modifiers for commands are not consistent with POSIX spec Yes 2 3253(i) C++20 31.11.2.1 [syncstream.syncbuf.overview] basic_syncbuf::basic_syncbuf()
should not be explicit Yes 0 3254(i) C++20 32.3.4 [stoptoken] Strike stop_token
's operator!=
Yes 0 3255(i) C++20 23.7.2.2.2 [span.cons] span
's array
constructor is too strict Yes 2 3256(i) C++20 17.3.1 [support.limits.general] Feature testing macro for constexpr
algorithms Yes 0 3257(i) C++20 17.3.1 [support.limits.general] Missing feature testing macro update from P0858 Yes 0 3258(i) Resolved 25.3.2 [range.access.begin] Range access and initializer_list
Yes 3 3259(i) C++20 24.3.1 [iterator.requirements.general] The definition of constexpr iterators should be adjusted Yes 0 3260(i) C++20 30.8 [time.cal] year_month*
arithmetic rejects durations convertible to years Yes 2 3261(i) New 28.6.7 [re.regex] regex
components' noexcept
annotations appear broken for POCMA or throwing BidirectionalIterator
No 3 3262(i) C++20 30.12 [time.format] Formatting of negative durations is not specified Yes 2 3263(i) New 32.5.6 [atomics.wait] Atomic waiting function calls should only be unblocked once Yes 3 3264(i) C++20 25.4.4 [range.sized] sized_range
and ranges::size
redundantly use disable_sized_range
Yes 1 3265(i) C++23 24.5.4.4 [move.iter.cons] move_iterator
's conversions are more broken after P1207 Yes 2 3266(i) C++20 28.2.1 [charconv.syn] to_chars(bool)
should be deleted Yes 0 3267(i) New 16.4.4.6 [allocator.requirements] Rebound allocators and is_always_equal
Yes 4 3268(i) New 32.5.4 [atomics.order] memory_order::memory_order_foo
broken in C++20 Yes 4 3269(i) C++20 30.13 [time.parse] Parse manipulators do not specify the result of the extraction from stream Yes 2 3270(i) C++20 30.12 [time.format] Parsing and formatting %j
with duration
s Yes 2 3271(i) NAD 30.13 [time.parse] Parsing functions should save and restore stream format state Yes 3 3272(i) C++20 30.12 [time.format] %I%p
should parse/format duration
since midnight Yes 0 3273(i) C++20 30.8.7.2 [time.cal.wdidx.members] Specify weekday_indexed
to range of [0, 7]
Yes 0 3274(i) C++20 17.3.1 [support.limits.general] Missing feature test macro for <span>
Yes 0 3275(i) New 28.3.4.6.2.3 [locale.time.get.virtuals] Why does time_get::do_get
require a valid pointer when none of the others do? Yes 3 3276(i) C++20 25.7.16.4 [range.lazy.split.outer.value] Class split_view::outer_iterator::value_type
should inherit from view_interface
Yes 0 3277(i) C++20 24.3.4.13 [iterator.concept.random.access] Pre-increment on prvalues is not a requirement of weakly_incrementable
Yes 0 3278(i) Resolved 25.7.14.2 [range.join.view] join_view<V>::iterator<true>
tries to write through const join_view
ptr Yes 2 3279(i) Resolved 24.3.4.2 [iterator.concept.readable] shared_ptr<int>&
does not not satisfy readable
Yes 1 3280(i) C++20 25.7.8.2 [range.filter.view] View converting constructors can cause constraint recursion and are unneeded Yes 1 3281(i) C++20 25.5.4 [range.subrange] Conversion from pair-like
types to subrange
is a silent semantic promotion Yes 1 3282(i) C++20 25.5.4 [range.subrange] subrange
converting constructor should disallow derived to base conversions Yes 1 3283(i) Resolved 24.3.2.3 [iterator.traits] Types satisfying input_iterator
but not equality_comparable
look like C++17 output iterators Yes 2 3284(i) C++20 24.3.4.13 [iterator.concept.random.access] random_access_iterator
semantic constraints accidentally promote difference type using unary negate Yes 0 3285(i) C++20 16.3.3.3.5 [customization.point.object] The type of a customization point object shall satisfy semiregular
Yes 0 3286(i) C++20 25.7.10.2 [range.take.view] ranges::size
is not required to be valid after a call to ranges::begin
on an input range Yes 0 3287(i) New 24.3.2.3 [iterator.traits] Exposition-only cpp17-input-iterator
concept is needlessly complex Yes 3 3288(i) New 32.5.6 [atomics.wait] atomic<T>::notify_one
is unimplementable Yes 2 3289(i) Resolved 24.3.2.3 [iterator.traits] Cannot opt out of C++17 iterator-ness without also opting out of C++20 iterator-ness Yes 2 3290(i) C++20 28.5.2.2 [format.string.std] Are std::format
field widths code units, code points, or something else? Yes 3291(i) C++20 25.6.4.3 [range.iota.iterator] iota_view::iterator
has the wrong iterator_category
Yes 0 3292(i) C++20 25.6.4.2 [range.iota.view] iota_view
is under-constrained Yes 3293(i) C++23 24.5.4.9 [move.iter.nonmember] move_iterator operator+()
has incorrect constraints Yes 3 3294(i) C++20 30.11.7.1 [time.zone.zonedtime.overview] zoned_time
deduction guides misinterprets string
/char*
Yes 0 3295(i) Resolved 17.12.2 [cmp.categories] Comparison category operator==
are mis-specified Yes 1 3296(i) C++20 28.6.7 [re.regex] Inconsistent default argument for basic_regex<>::assign
Yes 0 3297(i) New 23.2.4 [sequence.reqmts] Useless sequence container requirement Yes 3 3298(i) NAD 25.7.11.2 [range.take.while.view] Range adaptors introduced by P1035 do not require viewable_range
Yes 3299(i) C++20 24.3.3.1 [iterator.cust.move] Pointers don't need customized iterator behavior Yes 0 3300(i) C++20 24.7 [iterator.range] Non-array ssize
overload is underconstrained Yes 3 3301(i) C++20 25.7.9.3 [range.transform.iterator] transform_view::iterator
has incorrect iterator_category
Yes 1 3302(i) C++20 25.2 [ranges.syn] Range adaptor objects keys
and values
are unspecified Yes 1 3303(i) C++20 20.2.2 [memory.syn] Bad "constexpr
" marker for destroy/destroy_n
Yes 0 3304(i) C++20 20.5.3 [mem.poly.allocator.class] Allocate functions of std::polymorphic_allocator
should require [[nodiscard]]
Yes 3 3305(i) WP 22.7.5 [any.nonmembers] any_cast<void>
Yes 2 3306(i) C++23 24.4.4.2 [range.iter.op.advance] ranges::advance
violates its preconditions Yes 2 3307(i) C++20 20.2.10 [default.allocator] std::allocator<void>().allocate(n)
Yes 0 3308(i) New 23.3.5.4 [deque.modifiers] vector
and deque
iterator erase
invalidates elements even when no change occurs Yes 3 3309(i) New 31.8 [string.streams] Is <ios>
implicitly #include
d by <sstream>
, <fstream>
etc.? No 3 3310(i) C++20 20.5.3.3 [mem.poly.allocator.mem] Replace SIZE_MAX
with numeric_limits<size_t>::max()
Yes 0 3311(i) Dup 27.4.3.3 [string.cons] basic_string::operator=(charT c)
should be constrained Yes 3312(i) Dup 20.5.3 [mem.poly.allocator.class] polymorphic_allocator::allocate_object
and new_object
should be [[nodiscard]]
Yes 3313(i) C++20 25.7.14.3 [range.join.iterator] join_view::iterator::operator--
is incorrectly constrained Yes 0 3314(i) C++20 30.5.11 [time.duration.io] Is stream insertion behavior locale dependent when Period::type
is micro
? Yes 2 3315(i) C++20 16.4.4.6 [allocator.requirements] Correct Allocator Default Behavior Yes 0 3316(i) C++20 30.7.3.1 [time.clock.utc.overview] Correctly define epoch for utc_clock
/ utc_timepoint
Yes 0 3317(i) C++20 30.5.11 [time.duration.io] Incorrect operator<<
for floating-point durations Yes 0 3318(i) C++20 30.7.2.1 [time.clock.system.overview] Clarify whether clocks can represent time before their epoch Yes 0 3319(i) C++20 30.11.1 [time.zone.general] Properly reference specification of IANA time zone database Yes 0 3320(i) C++20 23.7.2.2.7 [span.iterators] span::cbegin/cend
methods produce different results than std::[ranges::]cbegin/cend
Yes 0 3321(i) C++20 20.2.8.2 [allocator.uses.construction] uninitialized_construct_using_allocator
should use construct_at
Yes 0 3322(i) Resolved 25.7.14.2 [range.join.view] Add join_view::base()
member function Yes 0 3323(i) C++20 25.7.23.2 [range.elements.view] has-tuple-element
helper concept needs convertible_to
Yes 0 3324(i) C++20 17.12.6 [cmp.alg] Special-case std::strong/weak/partial_order
for pointers Yes 0 3325(i) C++20 25.7.9.2 [range.transform.view] Constrain return type of transformation function for transform_view
Yes 0 3326(i) C++20 25.4.5 [range.view] enable_view
has false positives Yes 0 3327(i) C++20 28.5.2.2 [format.string.std] Format alignment specifiers vs. text direction Yes 0 3328(i) C++20 D.22.1 [depr.fs.path.factory] Clarify that std::string
is not good for UTF-8 Yes 0 3329(i) C++20 18.5.5 [concept.totallyordered] totally_ordered_with
both directly and indirectly requires common_reference_with
Yes 0 3330(i) C++20 17.13.2 [coroutine.syn] Include <compare>
from most library headers Yes 0 3331(i) C++20 18.5.5 [concept.totallyordered] Define totally_ordered/_with
in terms of partially-ordered-with
Yes 0 3332(i) C++20 30.12 [time.format] Issue in §[time.format] Yes 0 3333(i) NAD 25.3.4 [range.access.cbegin] ranges::cbegin/ranges::cend
, (and maybe ranges::crbegin/ranges::crend
) are under-specified to allow rvalue-arrays Yes 3334(i) C++20 31.11.3 [syncstream.osyncstream] basic_osyncstream
move assignment and destruction calls basic_syncbuf::emit()
twice Yes 3 3335(i) C++20 25.2 [ranges.syn] Resolve C++20 NB comments US 273 and GB 274 Yes 1 3336(i) Resolved 28.5.5 [format.functions] How does std::vformat
handle exception thrown by formatters? Yes 2 3337(i) New 28.3.4.2.5.3 [locale.codecvt.virtuals] What is "is initialized" supposed to mean? No 3 3338(i) C++20 18.4.12 [concept.default.init] Rename default_constructible
to default_initializable
Yes 0 3339(i) New 27.4.3 [basic.string] Move-constructed empty-container capacity No 3 3340(i) C++20 28.5.5 [format.functions] Formatting functions should throw on argument/format string mismatch in §[format.functions] Yes 3341(i) New 28.6.7.2 [re.regex.construct] basic_regex
range constructor: Missing requirements for iterator types No 3 3342(i) New 22.3.2 [pairs.pair] Library wording uses "initializes x
with y
", which is underspecified No 3 3343(i) Open 32.7.3 [thread.condition.nonmember] Ordering of calls to unlock()
and notify_all()
in Effects element of notify_all_at_thread_exit()
should be reversed Yes 3 3344(i) New 24.4.3 [iterator.operations] advance(i, most-negative)
and prev(i, most-negative)
Yes 3 3345(i) Resolved 18.4.9 [concept.swappable] Incorrect usages of "models" versus "satisfies" Yes 2 3346(i) C++20 22.3.2 [pairs.pair] pair
and tuple
copy and move constructor have backwards specification Yes 0 3347(i) C++20 22.3.3 [pairs.spec] std::pair<T, U>
now requires T
and U
to be less-than-comparable Yes 1 3348(i) C++20 17.3.2 [version.syn] __cpp_lib_unwrap_ref
in wrong header Yes 2 3349(i) C++20 17.3.2 [version.syn] Missing __cpp_lib_constexpr_complex
for P0415R1 Yes 0 3350(i) C++20 26.8.12 [alg.three.way] Simplify return type of lexicographical_compare_three_way
Yes 0 3351(i) C++20 25.2 [ranges.syn] ranges::enable_safe_range
should not be constrained Yes 0 3352(i) C++20 23.2.2 [container.requirements.general] strong_equality
isn't a thing Yes 1 3353(i) New 28.3.3.1 [locale] locale
's copy assignment operator should return locale&
Yes 3 3354(i) C++20 21.3.6.4 [meta.unary.prop] has_strong_structural_equality
has a meaningless definition Yes 1 3355(i) C++20 26.11.5 [uninitialized.copy] The memory algorithms should support move-only input iterators introduced by P1207 Yes 2 3356(i) C++20 17.3.2 [version.syn] __cpp_lib_nothrow_convertible
should be __cpp_lib_is_nothrow_convertible
Yes 0 3357(i) Open 99 [fund.ts.v3::rand.util.randint] [fund.ts.v3] default_random_engine
is overspecified for per-thread engine Yes 3 3358(i) C++20 23.7.2.2.2 [span.cons] §[span.cons] is mistaken that to_address
can throw Yes 0 3359(i) C++20 30.11.8 [time.zone.leap] <chrono>
leap second support should allow for negative leap seconds Yes 3 3360(i) C++20 17.12.4 [cmp.concept] three_way_comparable_with
is inconsistent with similar concepts Yes 0 3361(i) C++23 25.4.2 [range.range] safe_range<SomeRange&>
case Yes 3 3362(i) C++20 32.3.5 [stopsource] Strike stop_source
's operator!=
Yes 0 3363(i) C++20 25.7.13.2 [range.drop.while.view] drop_while_view
should opt-out of sized_range
Yes 1 3364(i) C++20 25.7.11.2 [range.take.while.view] Initialize data members of ranges and their iterators Yes 0 3365(i) NAD 25.7.14.3 [range.join.iterator] Rename ref-is-glvalue to deref-is-ref Yes 0 3366(i) Resolved 24.3.4.4 [iterator.concept.winc] Narrowing conversions between integer and integer-class types Yes 3 3367(i) C++20 24.3.4.4 [iterator.concept.winc] Integer-class conversions should not throw Yes 0 3368(i) Resolved 25.3.10 [range.prim.size] Exactly when does size
return end - begin
? Yes 0 3369(i) C++20 23.7.2.2.1 [span.overview] span
's deduction-guide for built-in arrays doesn't work Yes 0 3370(i) New 17.4.1 [cstdint.syn] §[cstdint.syn]p2 and §[headers]p5 are not sufficiently clear No 3 3371(i) C++20 28.5.8.1 [format.arg] visit_format_arg
and make_format_args
are not hidden friends Yes 0 3372(i) C++20 28.5.5 [format.functions] vformat_to
should not try to deduce Out
twice Yes 0 3373(i) C++20 28.2.1 [charconv.syn] {to,from}_chars_result
and format_to_n_result
need the "we really mean what we say" wording Yes 0 3374(i) C++20 20.2.4 [pointer.conversion] P0653 + P1006 should have made the other std::to_address
overload constexpr
Yes 0 3375(i) C++20 25.4.6 [range.refinements] decay
in viewable_range
should be remove_cvref
Yes 0 3376(i) Resolved 24.3.4.4 [iterator.concept.winc] "integer-like class type" is too restrictive Yes 3 3377(i) C++20 25.7.23.3 [range.elements.iterator] elements_view::iterator
befriends a specialization of itself Yes 0 3378(i) New 22.4.2 [tuple.syn] tuple_size_v/tuple_element_t
should be available when tuple_size/tuple_element
are Yes 3 3379(i) C++20 25.2 [ranges.syn] "safe
" in several library names is misleading Yes 1 3380(i) C++20 21.3.9.7 [meta.trans.other] common_type
and comparison categories Yes 0 3381(i) C++20 25.4.6 [range.refinements] begin
and data
must agree for contiguous_range
Yes 0 3382(i) C++20 22.3.2 [pairs.pair] NTTP for pair
and array
Yes 2 3383(i) C++20 30.11.8.3 [time.zone.leap.nonmembers] §[time.zone.leap.nonmembers] sys_seconds
should be replaced with seconds
Yes 1 3384(i) C++20 25.7.9.4 [range.transform.sentinel] transform_view::sentinel
has an incorrect operator-
Yes 0 3385(i) C++20 24.5.5.1 [common.iterator] common_iterator
is not sufficiently constrained for non-copyable iterators Yes 0 3386(i) C++20 25.7.23 [range.elements] elements_view
needs its own sentinel
type Yes 1 3387(i) C++20 25.7.21.2 [range.reverse.view] §[range.reverse.view] reverse_view<V>
unintentionally requires range<const V>
Yes 0 3388(i) C++20 25.6.4.3 [range.iota.iterator] view
iterator types have ill-formed <=>
operators Yes 0 3389(i) C++20 24.5.7.2 [counted.iter.const] A move-only iterator still does not have a counted_iterator
Yes 0 3390(i) C++20 24.5.4.9 [move.iter.nonmember] make_move_iterator()
cannot be used to construct a move_iterator
for a move-only iterator Yes 0 3391(i) C++23 24.5.4 [move.iterators] Problems with counted_iterator/move_iterator::base() const &
Yes 2 3392(i) C++23 24.4.4.3 [range.iter.op.distance] ranges::distance()
cannot be used on a move-only iterator with a sized sentinel Yes 3 3393(i) C++20 17.3.2 [version.syn] Missing/incorrect feature test macro for coroutines Yes 0 3394(i) NAD 25.6.6.3 [range.istream.iterator] ranges::basic_istream_view::iterator
has an empty iterator_traits
Yes 2 3395(i) C++20 99 [defns.comparison] Definition for three-way comparison needs to be updated (US 152) Yes 1 3396(i) C++20 17.8.2.2 [support.srcloc.cons] Clarify point of reference for source_location::current()
(DE 169) Yes 2 3397(i) C++20 25.6.6.3 [range.istream.iterator] ranges::basic_istream_view::iterator
should not provide iterator_category
Yes 1 3398(i) C++20 25.2 [ranges.syn] tuple_element_t
is also wrong for const subrange
Yes 0 3399(i) NAD 31.11.2.1 [syncstream.syncbuf.overview] basic_syncbuf::emit()
+ Qt's #define emit
= Big Bada-Boom Yes 3400(i) New 21.3.8 [meta.rel] Does is_nothrow_convertible
consider destruction of the destination type? No 3 3401(i) New 16.3.2.4 [structure.specifications] Is "as if by" equivalent to "equivalent to"? No 3 3402(i) New 29.5.9.3.4 [rand.dist.bern.negbin] Wording for negative_binomial_distribution
is unclear as a consequence of LWG 2406 resolution No 3 3403(i) C++23 25.3.11 [range.prim.ssize] Domain of ranges::ssize(E)
doesn't match ranges::size(E)
Yes 2 3404(i) C++23 25.5.4 [range.subrange] Finish removing subrange
's conversions from pair-like
Yes 0 3405(i) C++23 25.7.20.2 [range.common.view] common_view
's converting constructor is bad, too Yes 0 3406(i) C++23 25.7.23.2 [range.elements.view] elements_view::begin()
and elements_view::end()
have incompatible constraints Yes 1 3407(i) C++23 25.7.10.1 [range.take.overview] Some problems with the wording changes of P1739R4 Yes 2 3408(i) Resolved 24.5.7.1 [counted.iterator] LWG 3291 reveals deficiencies in counted_iterator
Yes 2 3409(i) New 32.5.7.2 [atomics.ref.ops] Too lax description of atomic_ref<T>::required_alignment
Yes 3 3410(i) C++23 26.8.12 [alg.three.way] lexicographical_compare_three_way
is overspecified Yes 3 3411(i) C++23 8.3 [fund.ts.v3::memory.resource.syn] [fund.ts.v3] Contradictory namespace rules in the Library Fundamentals TS Yes 3 3412(i) Resolved 28.5.2.2 [format.string.std] §[format.string.std] references to "Unicode encoding" unclear Yes 3 3413(i) C++23 6.1.2.8 [fund.ts.v3::propagate_const.modifiers] [fund.ts.v3] propagate_const
's swap
's noexcept
specification needs to be constrained and use a trait Yes 0 3414(i) C++23 13.7 [networking.ts::async.exec.ctx] [networking.ts] service_already_exists
has no usable constructors Yes 0 3415(i) NAD 24.5.2.2 [back.insert.iterator] back_insert_iterator
fails when a container is also its value type Yes 3416(i) New 22.7.4 [any.class] The Throws: specification of std::any
does not mention allocation No 3 3417(i) SG1 32.5.8.2 [atomics.types.operations] Missing volatile
atomic deprecations Yes 3 3418(i) New 32.5.9 [atomics.nonmembers] Deprecated free functions in <atomic>
Yes 3 3419(i) C++23 26.2 [algorithms.requirements] §[algorithms.requirements]/15 doesn't reserve as many rights as it intends to Yes 0 3420(i) C++23 24.3.2.3 [iterator.traits] cpp17-iterator
should check that the type looks like an iterator first Yes 0 3421(i) C++23 18.5.2 [concept.booleantestable] Imperfect ADL emulation for boolean-testable
Yes 0 3422(i) C++23 29.5.8.1 [rand.util.seedseq] Issues of seed_seq
's constructors Yes 3 3423(i) New 22.7.5 [any.nonmembers] std::any_cast
should never return a cv-qualified type Yes 3 3424(i) New 22.5.3.7 [optional.observe] optional::value_or
should never return a cv-qualified type Yes 3 3425(i) C++23 32.7.5 [thread.condition.condvarany] condition_variable_any
fails to constrain its Lock
parameters Yes 0 3426(i) C++23 20.3.1.6 [unique.ptr.special] operator<=>(const unique_ptr<T, D>&, nullptr_t)
can't get no satisfaction Yes 0 3427(i) C++23 20.3.2.2.8 [util.smartptr.shared.cmp] operator<=>(const shared_ptr<T>&, nullptr_t)
definition ill-formed Yes 0 3428(i) C++23 25.6.3.2 [range.single.view] single_view
's in place constructor should be explicit Yes 0 3429(i) New 16.4.5.11 [res.on.requirements] "models" should subsume like "satisfies" Yes 3 3430(i) C++23 31.10.1 [fstream.syn] std::fstream
& co. should be constructible from string_view
Yes 3 3431(i) WP 23.2.2.4 [container.opt.reqmts] <=>
for containers should require three_way_comparable<T>
instead of <=>
Yes 2 3432(i) C++23 27.3.4 [string.view.comparison] Missing requirement for comparison_category
Yes 0 3433(i) C++23 25.5.4.3 [range.subrange.access] subrange::advance(n)
has UB when n < 0
Yes 2 3434(i) C++23 31.5.2.8 [ios.base.cons] ios_base
never reclaims memory for iarray
and parray
Yes 3435(i) C++23 24.5.4.4 [move.iter.cons] three_way_comparable_with<reverse_iterator<int*>, reverse_iterator<const int*>>
Yes 2 3436(i) WP 26.11.8 [specialized.construct] std::construct_at
should support arrays Yes 2 3437(i) C++23 17.3.2 [version.syn] __cpp_lib_polymorphic_allocator
is in the wrong header Yes 0 3438(i) New 23.2.5.1 [container.node.overview] §[container.node.overview] missing multiset
/map
cases No 3 3439(i) New 24.4.3 [iterator.operations] "Distance
" template parameter is underspecified No 3 3440(i) NAD 22.4.4.2 [tuple.cnstr] Aggregate-paren-init breaks direct-initializing a tuple
or optional
from {aggregate-member-value}
Yes 2 3441(i) C++23 16.4.5.2.1 [namespace.std] Misleading note about calls to customization points Yes 1 3442(i) Resolved 16.4.5.2.1 [namespace.std] Unsatisfiable suggested implementation of customization points Yes 1 3443(i) C++23 19.2.1 [networking.ts::socket.iostream.cons] [networking.ts] net::basic_socket_iostream
should use addressof
Yes 0 3444(i) New 19.1.2 [networking.ts::socket.streambuf.members] [networking.ts] net::basic_socket_streambuf::connect(Args&&...)
effects are wrong No 2 3445(i) LEWG 19.2.1 [networking.ts::socket.iostream.cons] [networking.ts] net::basic_socket_istream::connect
should be constrained Yes 3 3446(i) C++23 24.3.2.2 [readable.traits] indirectly_readable_traits
ambiguity for types with both value_type
and element_type
Yes 2 3447(i) C++23 25.7.10.2 [range.take.view] Deduction guides for take_view
and drop_view
have different constraints Yes 0 3448(i) C++23 25.7.9.4 [range.transform.sentinel] transform_view
's sentinel<false>
not comparable with iterator<true>
Yes 1 3449(i) C++23 25.7.10.3 [range.take.sentinel] take_view
and take_while_view
's sentinel<false>
not comparable with their const iterator Yes 1 3450(i) C++23 25.7.11.2 [range.take.while.view] The const
overloads of take_while_view::begin/end
are underconstrained Yes 0 3451(i) New 27.4.3 [basic.string] Inconsistently explicit deduction guides Yes 3 3452(i) Resolved 25.4.5 [range.view] Are views really supposed to have strict 𝒪(1)
destruction? Yes 2 3453(i) C++23 24.4.4.2 [range.iter.op.advance] Generic code cannot call ranges::advance(i, s)
Yes 2 3454(i) Open 20.2.3 [pointer.traits] pointer_traits::pointer_to
should be constexpr
Yes 3455(i) C++23 20.3.1.3.4 [unique.ptr.single.asgn] Incorrect Postconditions on unique_ptr
move assignment Yes 0 3456(i) New 28.2.3 [charconv.from.chars] Pattern used by std::from_chars
is underspecified Yes 3 3457(i) New 27.3.3 [string.view.template] *this
is not invalidated Yes 3 3458(i) Resolved 32.10.7 [futures.unique.future] Is shared_future
intended to work with arrays or function types? Yes 0 3459(i) New 18.4.4 [concept.convertible] Why doesn't std::convertible_to
have semantic requirement when To
is reference-to-function type? No 3 3460(i) C++23 17.13.5.2.4 [coroutine.handle.noop.resumption] Unimplementable noop_coroutine_handle
guarantees Yes 2 3461(i) C++23 18.4.4 [concept.convertible] convertible_to
's description mishandles cv-qualified void
Yes 0 3462(i) C++23 28.5.6.1 [formatter.requirements] §[formatter.requirements]: Formatter requirements forbid use of fc.arg()
Yes 3 3463(i) New 26.10.11 [transform.inclusive.scan] Incorrect requirements for transform_inclusive_scan
without initial value Yes 3 3464(i) C++23 31.7.5.4 [istream.unformatted] istream::gcount()
can overflow Yes 0 3465(i) C++23 17.12.6 [cmp.alg] compare_partial_order_fallback
requires F < E
Yes 0 3466(i) C++23 32.10.6 [futures.promise] Specify the requirements for promise
/future
/shared_future
consistently Yes 3 3467(i) C++23 24.3.4.4 [iterator.concept.winc] bool
can't be an integer-like type Yes 0 3468(i) NAD 23.2.8 [unord.req] Transparent lookups in unordered containers are inconsistent Yes 3469(i) Resolved 17.13.4.7 [coroutine.handle.promise] Precondition of coroutine_handle::promise
may be insufficient Yes 2 3470(i) C++23 25.5.4 [range.subrange] convertible-to-non-slicing
seems to reject valid case Yes 3 3471(i) C++23 20.5 [mem.res] polymorphic_allocator::allocate
does not satisfy Cpp17Allocator requirements Yes 3 3472(i) C++23 24.5.7 [iterators.counted] counted_iterator
is missing preconditions Yes 3473(i) C++23 28.5.8.3 [format.args] Normative encouragement in non-normative note Yes 0 3474(i) C++23 25.7.14 [range.join] Nesting join_view
s is broken because of CTAD Yes 3475(i) New 32.4.3.3 [thread.thread.constr] std::thread
's constructor needs to be able to report general memory allocation failures Yes 3 3476(i) C++23 32.4.3.3 [thread.thread.constr] thread
and jthread
constructors require that the parameters be move-constructible but never move construct the parameters Yes 0 3477(i) C++23 25.7.3 [range.move.wrap] Simplify constraints for semiregular-box
Yes 0 3478(i) Resolved 25.7.17 [range.split] views::split
drops trailing empty range Yes 2 3479(i) Resolved 25.7.3 [range.move.wrap] semiregular-box
mishandles self-assignment Yes 3 3480(i) C++23 31.12.11 [fs.class.directory.iterator] directory_iterator
and recursive_directory_iterator
are not C++20 ranges Yes 3 3481(i) C++23 25.4.6 [range.refinements] viewable_range
mishandles lvalue move-only views Yes 2 3482(i) C++23 25.7.12.2 [range.drop.view] drop_view
's const begin
should additionally require sized_range
Yes 0 3483(i) C++23 25.7.9.3 [range.transform.iterator] transform_view::iterator
's difference is overconstrained Yes 0 3484(i) New 17.15.7 [support.c.headers.other] Should <stddef.h>
declare ::nullptr_t
? Yes 3 3485(i) NAD 32.5.7 [atomics.ref.generic] atomic_ref
safety should be based on operations that "potentially conflict" rather than lifetime Yes 3 3486(i) LEWG 21.3.6.4 [meta.unary.prop] is_constructible<T[], T...>
may be misleading in C++20 No 3487(i) New 26.10 [numeric.ops] Missing precondition on input and output aliasing of [numeric.ops] No 3 3488(i) Open 23.3.3.4 [array.special] Is array<const int, 0>
swappable or not? Yes 3 3489(i) New 25.6.6.3 [range.istream.iterator] Improve istream_view
wording Yes 3 3490(i) C++23 25.7.13.2 [range.drop.while.view] ranges::drop_while_view::begin()
is missing a precondition Yes 0 3491(i) New 17.12.6 [cmp.alg] What is a "decayed type"? No 3 3492(i) C++23 25.7.23.3 [range.elements.iterator] Minimal improvements to elements_view::iterator
Yes 0 3493(i) New 22.10.17.3.2 [func.wrap.func.con] The constructor of std::function
taking an F
is missing a constraint Yes 3 3494(i) C++23 25.7.21 [range.reverse] Allow ranges to be conditionally borrowed Yes 3495(i) C++23 17.6.5 [ptr.launder] constexpr launder
makes pointers to inactive members of unions usable Yes 3 3496(i) New 31.11.2.4 [syncstream.syncbuf.members] What does "uniquely associated" mean for basic_syncbuf::emit()
? No 3 3497(i) New 31.11.2.4 [syncstream.syncbuf.members] Postconditions for basic_syncbuf::emit()
No 3 3498(i) C++23 31.11.2.1 [syncstream.syncbuf.overview] Inconsistent noexcept
-specifiers for basic_syncbuf
Yes 3 3499(i) New 32.2.5.4 [thread.req.lockable.timed] Timed lockable and mutex requirements are imprecise about duration
and time_point
No 3 3500(i) C++23 25.7.14.3 [range.join.iterator] join_view::iterator::operator->()
is bogus Yes 0 3501(i) New 31.7.6.5 [ostream.manip] basic_syncbuf
-related manipulators refer to some Allocator
without defining it Yes 3 3502(i) C++23 25.7.23.3 [range.elements.iterator] elements_view
should not be allowed to return dangling references Yes 2 3503(i) New 30.5.8 [time.duration.cast] chrono::ceil
has surprising requirement Yes 3 3504(i) New 32.7.4 [thread.condition.condvar] condition_variable::wait_for
is overspecified Yes 3 3505(i) C++23 25.7.16.3 [range.lazy.split.outer] split_view::outer-iterator::operator++
misspecified Yes 2 3506(i) C++23 23.6.4 [priority.queue] Missing allocator-extended constructors for priority_queue
Yes 3 3507(i) Open 19.6.3.4 [stacktrace.entry.query] P0881R7 ("stacktrace") does not define "actual file name", "actual line number" No 2 3508(i) Resolved 32.5.7.1 [atomics.ref.generic.general] atomic_ref<cv T>
is not well-specified Yes 2 3509(i) Resolved 25.7.2 [range.adaptor.object] Range adaptor objects are underspecified Yes 2 3510(i) Resolved 16.3.3.3.5 [customization.point.object] Customization point objects should be invocable as non-const
too Yes 3 3511(i) New 16.4.5.9 [res.on.arguments] Clarify global permission to move Yes 3 3512(i) New 22.10.19 [unord.hash] Incorrect exception safety guarantee for unordered containers No 3 3513(i) New 3.43 [defns.prog.def.type] Fix definition of program-defined based on its uses Yes 3 3514(i) Resolved 19.6.2 [stacktrace.syn] stacktrace
should add type alias pmr::stacktrace
Yes 3 3515(i) C++23 19.6.2 [stacktrace.syn] §[stacktrace.basic.nonmem]: operator<<
should be less templatized Yes 2 3516(i) New 32.4.3.2 [thread.thread.id] thread::id
spaceship may be inconsistent with equality Yes 3 3517(i) C++23 25.7.14.3 [range.join.iterator] join_view::iterator
's iter_swap
is underconstrained Yes 3518(i) C++23 27.2.2 [char.traits.require] Exception requirements on char trait operations unclear Yes 3519(i) C++23 29.5.4 [rand.eng] Incomplete synopses for <random>
classes Yes 3 3520(i) C++23 25.7.9.3 [range.transform.iterator] iter_move
and iter_swap
are inconsistent for transform_view::iterator
Yes 2 3521(i) C++23 26.13 [alg.c.library] Overly strict requirements on qsort
and bsearch
Yes 3522(i) C++23 23.6.4 [priority.queue] Missing requirement on InputIterator
template parameter for priority_queue
constructors Yes 3523(i) C++23 25.6.4.2 [range.iota.view] iota_view::sentinel
is not always iota_view
's sentinel Yes 3524(i) Resolved 25.7 [range.adaptors] Unimplementable narrowing and evaluation order requirements for range adaptors Yes 3 3525(i) C++23 20.2.8.2 [allocator.uses.construction] uses_allocator_construction_args
fails to handle types convertible to pair
Yes 3 3526(i) C++23 20.2.8.2 [allocator.uses.construction] Return types of uses_allocator_construction_args
unspecified Yes 3 3527(i) C++23 20.2.8.2 [allocator.uses.construction] uses_allocator_construction_args
handles rvalue pairs of rvalue references incorrectly Yes 3528(i) C++23 22.4.6 [tuple.apply] make_from_tuple
can perform (the equivalent of) a C-style cast Yes 3 3529(i) C++23 23.6.4 [priority.queue] priority_queue(first, last)
should construct c
with (first, last)
Yes 3530(i) C++23 22.10.8.8 [comparisons.three.way] BUILTIN-PTR-MEOW
should not opt the type out of syntactic checks Yes 3531(i) New 23.4.3.1 [map.overview] LWG 3025 broke previous valid code Yes 3 3532(i) C++23 25.7.16.5 [range.lazy.split.inner] split_view<V, P>::inner-iterator<true>::operator++(int)
should depend on Base
Yes 3533(i) C++23 25.7.8.3 [range.filter.iterator] Make base() const &
consistent across iterator wrappers that supports input_iterator
s Yes 3534(i) LEWG 26.8.7.4 [set.intersection] ranges::set_intersection
and ranges::set_difference
algorithm requirements are too strict Yes 3 3535(i) C++23 25.7.14.3 [range.join.iterator] join_view::iterator::iterator_category
and ::iterator_concept
lie Yes 2 3536(i) C++23 30.5.11 [time.duration.io] Should chrono::from_stream()
assign zero to duration
for failure? Yes 3537(i) New 24.7 [iterator.range] §[iterator.range] Missing noexcept
for std::rbegin
/rend
for arrays and initializer_list
No 3 3538(i) New 16.2 [library.c] §[library.c] C library functions are not addressable No 2 3539(i) C++23 28.5.5 [format.functions] format_to
must not copy models of output_iterator<const charT&>
Yes 3540(i) C++23 28.5.8.1 [format.arg] §[format.arg] There should be no const
in basic_format_arg(const T* p)
Yes 3541(i) C++23 24.3.2.2 [readable.traits] indirectly_readable_traits
should be SFINAE-friendly for all types Yes 3542(i) C++23 28.5.8.1 [format.arg] basic_format_arg
mis-handles basic_string_view
with custom traits Yes 3543(i) C++23 24.5.7.1 [counted.iterator] Definition of when counted_iterators
refer to the same sequence isn't quite right Yes 3544(i) C++23 28.5.8.2 [format.arg.store] format-arg-store::args
is unintentionally not exposition-only Yes 3 3545(i) C++23 20.2.3 [pointer.traits] std::pointer_traits
should be SFINAE-friendly Yes 2 3546(i) C++23 24.5.5.5 [common.iter.nav] common_iterator
's postfix-proxy
is not quite right Yes 3547(i) Resolved 30.12 [time.format] Time formatters should not be locale sensitive by default Yes 2 3548(i) C++23 20.3.2.2.2 [util.smartptr.shared.const] shared_ptr
construction from unique_ptr
should move (not copy) the deleter Yes 3549(i) C++23 25.5.3 [view.interface] view_interface
is overspecified to derive from view_base
Yes 2 3550(i) New 16.4.5.3 [reserved.names] Names reserved by C for standard library not reserved by C++ No 3 3551(i) C++23 25.5.5 [range.dangling] borrowed_{iterator,subrange}_t
are overspecified Yes 3552(i) C++23 20.2.2 [memory.syn] Parallel specialized memory algorithms should require forward iterators Yes 3553(i) C++23 25.7.16.4 [range.lazy.split.outer.value] Useless constraint in split_view::outer-iterator::value_type::begin()
Yes 3554(i) C++23 30.13 [time.parse] chrono::parse
needs const charT*
and basic_string_view<charT>
overloads Yes 2 3555(i) C++23 25.7.9.3 [range.transform.iterator] {transform,elements}_view::iterator::iterator_concept
should consider const-qualification of the underlying range Yes 3556(i) New 16.3.2.3 [structure.requirements] Specification of when semantic constraints are imposed by use of concepts is unclear No 3 3557(i) C++23 18.4.4 [concept.convertible] The static_cast
expression in convertible_to
has the wrong operand Yes 3558(i) NAD Editorial 25.7.23.4 [range.elements.sentinel] elements_view::sentinel
's first operator-
has wrong return type Yes 3559(i) C++23 25.4.4 [range.sized] Semantic requirements of sized_range
is circular Yes 3560(i) C++23 26.6.13 [alg.equal] ranges::equal
and ranges::is_permutation
should short-circuit for sized_ranges
Yes 3561(i) C++23 29.5.5.2 [rand.adapt.disc] Issue with internal counter in discard_block_engine
Yes 3562(i) NAD 22.5.5 [optional.nullopt] Superseding nullopt_t
's requirement to not be DefaultConstructible Yes 3563(i) C++23 25.7.23.1 [range.elements.overview] keys_view
example is broken Yes 3 3564(i) C++23 25.7.9.3 [range.transform.iterator] transform_view::iterator<true>::value_type
and iterator_category
should use const F&
Yes 2 3565(i) Resolved 30.12 [time.format] Handling of encodings in localized formatting of chrono
types is underspecified Yes 2 3566(i) C++23 22.5.9 [optional.comp.with.t] Constraint recursion for operator<=>(optional<T>, U)
Yes 3567(i) C++23 28.5.6.7 [format.context] Formatting move-only iterators take two Yes 3568(i) C++23 25.6.6.2 [range.istream.view] basic_istream_view
needs to initialize value_
Yes 3569(i) C++23 25.7.14.3 [range.join.iterator] join_view
fails to support ranges of ranges with non-default_initializable
iterators Yes 3 3570(i) C++23 31.11.3.3 [syncstream.osyncstream.members] basic_osyncstream::emit
should be an unformatted output function Yes 3571(i) C++23 31.7.6.5 [ostream.manip] flush_emit
should set badbit
if the emit
call fails Yes 3572(i) C++23 25.7.3 [range.move.wrap] copyable-box
should be fully constexpr
Yes 3573(i) C++23 27.3.3.2 [string.view.cons] Missing Throws element for basic_string_view(It begin, End end)
Yes 3574(i) C++23 24.5.5.1 [common.iterator] common_iterator
should be completely constexpr
-able Yes 3 3575(i) Resolved 24.3.4.4 [iterator.concept.winc] <=>
for integer-class types isn't consistently specified Yes 3 3576(i) Resolved 28.5.2.2 [format.string.std] Clarifying fill character in std::format
Yes 2 3577(i) New 23.2.7.1 [associative.reqmts.general] Merging an (unordered) associative container with itself No 3 3578(i) WP 23.2.7.1 [associative.reqmts.general] Iterator SCARYness in the context of associative container merging Yes 3 3579(i) NAD 27.4.3.5 [string.capacity] Complexity guarantees for resize()
and append()
functions across the library Yes 3 3580(i) C++23 25.6.4.3 [range.iota.iterator] iota_view's iterator
's binary operator+
should be improved Yes 3581(i) C++23 27.3.3.2 [string.view.cons] The range constructor makes basic_string_view
not trivially move constructible Yes 3582(i) New 32.10.9 [futures.async] Unclear where std::async
exceptions are handled Yes 3 3583(i) New 22.4.4.2 [tuple.cnstr] Clarify if/when short circuiting applies to conditions in Constraints: elements No 3 3584(i) New 17.12.3 [cmp.common] Clarify common comparison category conversions Yes 3 3585(i) C++23 22.6.3.4 [variant.assign] Variant converting assignment with immovable alternative Yes 3586(i) New 28.5.2.2 [format.string.std] Formatting character alignment inconsistencies Yes 2 3587(i) New 17.12.4 [cmp.concept] std::three_way_comparable_with<T, U, void>
can be satisfied but can't be modeled No 3 3588(i) NAD 20.3.1.3.1 [unique.ptr.single.general] Strike out purposeless UB involving the deleter in members functions of unique_ptr
Yes 3589(i) C++23 25.5.4 [range.subrange] The const
lvalue reference overload of get
for subrange
does not constrain I
to be copyable
when N == 0
Yes 3 3590(i) C++23 25.7.17.2 [range.split.view] split_view::base() const &
is overconstrained Yes 3591(i) C++23 25.7.16.5 [range.lazy.split.inner] lazy_split_view<input_view>::inner-iterator::base() &&
invalidates outer iterators Yes 3592(i) C++23 25.7.16.2 [range.lazy.split.view] lazy_split_view
needs to check the simpleness of Pattern
Yes 3593(i) C++23 24.5.4 [move.iterators] Several iterators' base() const &
and lazy_split_view::outer-iterator::value_type::end()
missing noexcept
Yes 3594(i) C++23 20.3.4.3 [inout.ptr.t] inout_ptr
— inconsistent release()
in destructor Yes 1 3595(i) C++23 24.5.5.4 [common.iter.access] Exposition-only classes proxy
and postfix-proxy
for common_iterator
should be fully constexpr
Yes 3596(i) NAD 26.6.16 [alg.starts.with] ranges::starts_with
and ranges::ends_with
are underspecified Yes 3597(i) C++23 25.6.4.2 [range.iota.view] Unsigned integer types don't model advanceable
Yes 3 3598(i) C++23 19.5.3.5 [syserr.errcat.objects] system_category().default_error_condition(0)
is underspecified Yes 3599(i) New 25.7.16.2 [range.lazy.split.view] The const
overload of lazy_split_view::begin
should be constrained by const Pattern
Yes 3 3600(i) C++23 24.6.2.2 [istream.iterator.cons] Making istream_iterator
copy constructor trivial is an ABI break Yes 3 3601(i) C++23 24.5.5.5 [common.iter.nav] common_iterator
's postfix-proxy
needs indirectly_readable
Yes 3602(i) New 24.5.1.4 [reverse.iter.cons] reverse_iterator
's converting assignment is overconstrained Yes 3 3603(i) New 28.6.7.2 [re.regex.construct] Matching of null characters by regular expressions is underspecified No 3 3604(i) New 28.6.7.2 [re.regex.construct] What is the effect of an invalid value of type syntax_option_type
? No 3 3605(i) New 28.6.4.3 [re.matchflag] regex_constants::match_prev_avail
is underspecified No 3 3606(i) New 28.6.2 [re.req] Missing regex_traits::locale_type
requirements No 3 3607(i) C++23 24.3.4.14 [iterator.concept.contiguous] contiguous_iterator
should not be allowed to have custom iter_move
and iter_swap
behavior Yes 3608(i) New 18.4.4 [concept.convertible] convertible_to
and temporary-bound references No 3 3609(i) New 25.6.4.4 [range.iota.sentinel] std::ranges::iota_view<int, long>
has non-subtractable iterator
and sentinel
types Yes 3 3610(i) C++23 25.6.4.2 [range.iota.view] iota_view::size
sometimes rejects integer-class types Yes 3611(i) NAD 32.5.8.2 [atomics.types.operations] Should compare_exchange
be allowed to modify the expected
value on success? Yes 2 3612(i) C++23 28.5.2.2 [format.string.std] Inconsistent pointer alignment in std::format
Yes 3613(i) New 22.5.5 [optional.nullopt] Specify that nullopt_t
is copyable Yes 3 3614(i) New 25.6.4.2 [range.iota.view] iota_view::size
and the most negative signed integer values Yes 3 3615(i) New 24.3.2.1 [incrementable.traits] The last specialization of incrementable_traits
has wrong operand types Yes 3 3616(i) C++23 31.11.2.6 [syncstream.syncbuf.special] LWG 3498 seems to miss the non-member swap
for basic_syncbuf
Yes 3617(i) C++23 22.10.17.3.2 [func.wrap.func.con] function
/packaged_task
deduction guides and deducing this
Yes 2 3618(i) C++23 25.7.9.3 [range.transform.iterator] Unnecessary iter_move
for transform_view::iterator
Yes 3619(i) C++23 28.5.5 [format.functions] Specification of vformat_to
contains ill-formed formatted_size
calls Yes 3620(i) New 16.3.3.3.4.1 [character.seq.general] What are execution character sets and execution wide-character sets (after P2314R4)? No 3 3621(i) C++23 17.3.2 [version.syn] Remove feature-test macro __cpp_lib_monadic_optional
Yes 3622(i) C++23 23.2.8.1 [unord.req.general] Misspecified transitivity of equivalence in §[unord.req.general] Yes 2 3623(i) New 24.5.1.1 [reverse.iterators.general] Uses of std::reverse_iterator
with containers should not require manually including <iterator>
Yes 3 3624(i) New 17.7 [support.rtti] Inconsistency of <typeinfo>
, <initializer_list>
, and <compare>
in the standard library Yes 3 3625(i) New 19.6.2 [stacktrace.syn] Should <stacktrace>
provide range access function templates? Yes 3 3626(i) New 19.6.4.1 [stacktrace.basic.overview] Is std::basic_stacktrace
required to use contiguous storage? Yes 3 3627(i) New 22.5.10 [optional.specalg] Inconsistent specifications for std::make_optional
overloads Yes 3 3628(i) New 26.11 [specialized.algorithms] "Effects: Equivalent to:" and uninitialized memory algorithms No 3 3629(i) C++23 19.5 [syserr] make_error_code
and make_error_condition
are customization points Yes 2 3630(i) New 28.6.7.2 [re.regex.construct] Inconsistent basic_regex
construction and assignment from iterator range No 4 3631(i) C++23 28.5.8.1 [format.arg] basic_format_arg(T&&)
should use remove_cvref_t<T>
throughout Yes 3 3632(i) C++23 20.3.1.3.2 [unique.ptr.single.ctor] unique_ptr
"Mandates: This constructor is not selected by class template argument deduction" Yes 3633(i) New 32.5 [atomics] Atomics are copy constructible and copy assignable from volatile
atomics Yes 3 3634(i) New 20.5.4 [mem.res.global] When are static-duration memory_resource
objects destroyed? No 3 3635(i) NAD 17.3.2 [version.syn] Add __cpp_lib_deduction_guides
to feature test macros Yes 3 3636(i) C++23 28.5.6.1 [formatter.requirements] formatter<T>::format
should be const
-qualified Yes 1 3637(i) New 20.5.2 [mem.res.class] pmr::memory_resource::do_allocate
needs clarification No 3 3638(i) New 23.3.14 [vector.bool] vector<bool>::swap(reference, reference)
is useless Yes 3 3639(i) Resolved 28.5.2.2 [format.string.std] Handling of fill character width is underspecified in std::format
Yes 3 3640(i) New 16.4.4 [utility.requirements] Clarify which exceptions are propagated Yes 3 3641(i) New 28.5.1 [format.syn] Add operator==
to format_to_n_result
Yes 3 3642(i) New 22.10.17.4.3 [func.wrap.move.ctor] move_only_function
assignment operators seem to be defined suboptimal Yes 3 3643(i) C++23 24.5.7.5 [counted.iter.nav] Missing constexpr
in std::counted_iterator
Yes 3644(i) New 28.5.2.2 [format.string.std] std::format
does not define "integer presentation type" Yes 2 3645(i) C++23 27.4.3.5 [string.capacity] resize_and_overwrite
is overspecified to call its callback with lvalues Yes 2 3646(i) C++23 25.5.3.1 [view.interface.general] std::ranges::view_interface::size
returns a signed type Yes 3 3647(i) New 26.11.2 [special.mem.concepts] nothrow-input-iterator
constraints should not mention copying Yes 3 3648(i) C++23 28.5.2.2 [format.string.std] format
should not print bool
with 'c'
Yes 3649(i) TS 4.2 [fund.ts.v3::general.feature.test] [fund.ts.v3] Reinstate and bump __cpp_lib_experimental_memory_resource
feature test macro Yes 3650(i) C++23 27.4.3.1 [basic.string.general] Are std::basic_string
's iterator
and const_iterator
constexpr iterators? Yes 3651(i) New 28.5 [format] Unspecified lifetime guarantees for the format string No 3 3652(i) NAD 17.14.3 [csetjmp.syn] Can we relax the preconditions of longjmp
? Yes 3653(i) New 17.13.2 [coroutine.syn] <coroutine>
is freestanding, but uses std::hash
which is not No 3 3654(i) C++23 28.5.6.7 [format.context] basic_format_context::arg(size_t)
should be noexcept
Yes 3655(i) C++23 22.10.4 [func.require] The INVOKE
operation and union
types Yes 3 3656(i) C++23 22.11.5 [bit.pow.two] Inconsistent bit operations returning a count Yes 3 3657(i) C++23 31.12.6 [fs.class.path] std::hash<std::filesystem::path>
is not enabled Yes 3658(i) New 31.6.3.3.5 [streambuf.pub.put] basic_streambuf::sputn
is both overspecified and underspecified Yes 3 3659(i) C++23 32.5.10 [atomics.flag] Consider ATOMIC_FLAG_INIT
undeprecation Yes 3 3660(i) C++23 24.5.5.2 [common.iter.types] iterator_traits<common_iterator>::pointer
should conform to §[iterator.traits] Yes 3661(i) C++23 32.5.8.7.2 [util.smartptr.atomic.shared] constinit atomic<shared_ptr<T>> a(nullptr);
should work Yes 3662(i) New 27.4.3.7.2 [string.append] basic_string::append/assign(NTBS, pos, n)
suboptimal Yes 3 3663(i) New 27.4.3.3 [string.cons] basic_string(const T&, const Alloc&)
turns moves into copies Yes 3 3664(i) C++23 24.4.4.3 [range.iter.op.distance] LWG 3392 broke std::ranges::distance(a, a+3)
Yes 2 3665(i) New 20.2.9.2 [allocator.traits.types] Is std::allocator_traits<Alloc>::rebind_alloc
SFINAE-friendly? No 3 3666(i) New 25.7.14 [range.join] join_view
's difference type is too small No 2 3667(i) NAD 31.7.6.3 [ostream.formatted] std::cout << &X::f
prints 1
Yes 3668(i) New 31.12.11.2 [fs.dir.itr.members] [recursive_]directory_iterator
constructors refer to undefined options
Yes 3 3669(i) New 4.1.2 [intro.abstract] std::filesystem
operations should be observable behaviour No 3 3670(i) C++23 25.6.4.3 [range.iota.iterator] Cpp17InputIterators don't have integer-class difference types Yes 3671(i) C++23 32.5.12 [stdatomic.h.syn] atomic_fetch_xor
missing from stdatomic.h
Yes 3672(i) C++23 24.5.5.4 [common.iter.access] common_iterator::operator->()
should return by value Yes 3673(i) Resolved 28.3.3.1.3 [locale.cons] §[locale.cons] Ambiguous argument in Throws for locale+name+category constructor Yes 3 3674(i) New 28.3.3.1.4 [locale.members] Removal of requirement for locale names for construction of locales not explained Yes 2 3675(i) New 31.5.2.6 [ios.base.storage] std::ios_base::iword/pword
might be misspecified Yes 4 3676(i) Resolved 28.3.3.1.3 [locale.cons] Name of locale composed using std::locale::none
Yes 3 3677(i) C++23 20.2.8.2 [allocator.uses.construction] Is a cv-qualified pair
specially handled in uses-allocator construction? Yes 2 3678(i) New 30.11.5.1 [time.zone.overview] Constructors of std::chrono::time_zone
might be overly unspecified Yes 4 3679(i) LEWG 25.6.6 [range.istream] Is <ranges>
sufficient for istream_view
? No 3 3680(i) New 22.10.17.4.3 [func.wrap.move.ctor] Constructor of move_only_function
with empty ref
-qualifier is over-constrained Yes 2 3681(i) New 20.5.1 [mem.res.syn] Further considerations on LWG 3679 No 4 3682(i) New 16.4.4.6.1 [allocator.requirements.general] A Cpp17Allocator type can't silently ignore an unsupported alignment No 3 3683(i) C++23 20.5.3 [mem.poly.allocator.class] operator==
for polymorphic_allocator
cannot deduce template argument in common cases Yes 3684(i) New 20.2.10.2 [allocator.members] std::allocator<T>::allocate_at_least
in constant evaluation Yes 3 3685(i) New 25.7.16.2 [range.lazy.split.view] In lazy_split_view
, CTAD doesn't work when given an input_range
input and a tiny-range
pattern Yes 3 3686(i) New 25.7.16.3 [range.lazy.split.outer] In lazy_split_view
, comparing a default-constructed outer-iterator
or inner-iterator
with std::default_sentinel
results in null pointer dereference Yes 3 3687(i) C++23 22.8.7.4 [expected.void.assign] expected<cv void, E>
move constructor should move Yes 3688(i) New 22.8.4 [expected.bad] Exception specifications of copy/move member functions of std::bad_expected_access
No 2 3689(i) New 28.3.4.3.2.3 [facet.num.get.virtuals] num_get
overflow determination unclear and incorrect No 3 3690(i) New 16.4.2.2 [contents] std::make_from_tuple
etc. should find all tuple-like std::get
overloads Yes 3 3691(i) New 23.2.7.1 [associative.reqmts.general] Replacement of keys in associative containers Yes 3 3692(i) C++23 25.7.25.3 [range.zip.iterator] zip_view::iterator
's operator<=>
is overconstrained Yes 3693(i) New 29.7 [c.math] §[c.math] Can any of float/double/long double
overloads be fused into template overloads? No 2 3694(i) New 27.2.2 [char.traits.require] Should traits_type::length
be customizable? No 4 3695(i) NAD 27.1 [strings.general] The standard-layout property of char-like types serves for nothing Yes 4 3696(i) New 31.2.2 [stream.types] "Basic integral types" should not be used Yes 3 3697(i) New 21.3.6.4 [meta.unary.prop] Preconditions of reference_constructs_from_temporary/reference_converts_from_temporary
seem wrong Yes 3 3698(i) Resolved 28.6.11 [re.iter] regex_iterator
and join_view
don't work together very well Yes 2 3699(i) New 31.12.6.5.11 [fs.path.gen] lexically_relative
on UNC drive paths (\\?\C:\...
) results in a default-constructed value No 3 3700(i) Resolved 25.7.14.2 [range.join.view] The const begin
of the join_view
family does not require InnerRng
to be a range Yes 3 3701(i) C++23 28.5.6.4 [format.formatter.spec] Make formatter<remove_cvref_t<const charT[N]>, charT>
requirement explicit Yes 3702(i) C++23 25.7.26.3 [range.zip.transform.iterator] Should zip_transform_view::iterator
remove operator<
? Yes 3703(i) C++23 22.8.7.1 [expected.void.general] Missing requirements for expected<T, E> requires is_void<T>
Yes 2 3704(i) C++23 23.4.6.1 [set.overview] LWG 2059 added overloads that might be ill-formed for sets Yes 3705(i) C++23 27.4.6 [basic.string.hash] Hashability shouldn't depend on basic_string
's allocator Yes 3706(i) New 28.5.6.4 [format.formatter.spec] How does std::format
work with character arrays of unknown bound? No 3 3707(i) C++23 25.7.29.4 [range.chunk.outer.value] chunk_view::outer-iterator::value_type::size
should return unsigned type Yes 3708(i) C++23 25.7.11.3 [range.take.while.sentinel] take_while_view::sentinel
's conversion constructor should move Yes 3709(i) C++23 22.5.3.1 [optional.optional.general] LWG-3703 was underly ambitious Yes 3710(i) C++23 25.7.29.2 [range.chunk.view.input] The end
of chunk_view
for input ranges can be const
Yes 3711(i) C++23 25.7.30.2 [range.slide.view] Missing preconditions for slide_view
constructor Yes 3712(i) C++23 25.7.29.2 [range.chunk.view.input] chunk_view
and slide_view
should not be default_initializable
Yes 3713(i) C++23 26.8.1 [alg.sorting.general] Sorted with respect to comparator (only) Yes 3714(i) NAD 25.7.26.2 [range.zip.transform.view] Non-single-argument constructors for range adaptors should not be explicit
Yes 4 3715(i) C++23 25.5.3.1 [view.interface.general] view_interface::empty
is overconstrained Yes 3716(i) New 24.3.4.11 [iterator.concept.forward] §[iterator.concept.forward][forward.iterators] Two different definitions of multi-pass guarantee No 3 3717(i) C++23 25.7.20.2 [range.common.view] common_view::end
should improve random_access_range
case Yes 3 3718(i) Resolved 28.5.8.1 [format.arg] P2418R2 broke the overload resolution for std::basic_format_arg
Yes 2 3719(i) C++23 31.12.11.1 [fs.class.directory.iterator.general] Directory iterators should be usable with default sentinel Yes 3720(i) C++23 28.5.2.2 [format.string.std] Restrict the valid types of arg-id for width and precision in std-format-spec Yes 2 3721(i) C++23 28.5.2.2 [format.string.std] Allow an arg-id with a value of zero for width in std-format-spec Yes 3 3722(i) New 25.5.7.2 [range.utility.conv.to] ranges::to
reserve
s the wrong size Yes 4 3723(i) C++23 23.6.4.4 [priqueue.members] priority_queue::push_range
needs to append_range
Yes 2 3724(i) C++23 16.3.3.2 [expos.only.entity] decay-copy
should be constrained Yes 3 3725(i) New 24.5.1.6 [reverse.iter.elem] reverse_iterator::operator->
should not use prev
for non-pointer iterators Yes 3 3726(i) NAD 24.5.1.6 [reverse.iter.elem] reverse_iterator::operator->
is underconstrained for non-pointer iterators Yes 3727(i) NAD 24.5.1.6 [reverse.iter.elem] reverse_iterator
/common_iterator
's operator->
should not require the underlying iterator's operator->
to be a const
member function Yes 3728(i) New 22.4.9 [tuple.rel] Can't make neither head nor tail of the description of operator<=>(tuple, tuple)
Yes 4 3729(i) New 25.2 [ranges.syn] std::tuple_element_t<std::ranges::subrange<I, S, K>>
should remove top-level cv-qualifiers Yes 4 3730(i) New 25.7.12.2 [range.drop.view] std::ranges::drop_view
may have different size type from its underlying view Yes 3 3731(i) New 25.7.25.2 [range.zip.view] zip_view
and adjacent_view
are underconstrained Yes 3 3732(i) C++23 23.2.4 [sequence.reqmts] prepend_range
and append_range
can't be amortized constant time Yes 3733(i) C++23 25.5.7.2 [range.utility.conv.to] ranges::to
misuses cpp17-input-iterator
Yes 2 3734(i) C++23 20.3.4.1 [out.ptr.t] Inconsistency in inout_ptr
and out_ptr
for empty case Yes 2 3735(i) NAD 25.7.27.1 [range.adjacent.overview] views::adjacent<0>
should be prohibited Yes 3736(i) C++23 24.2 [iterator.synopsis] move_iterator
missing disable_sized_sentinel_for
specialization Yes 3737(i) C++23 25.7.10.3 [range.take.sentinel] take_view::sentinel
should provide operator-
Yes 3 3738(i) C++23 25.7.10.2 [range.take.view] Missing preconditions for take_view
constructor Yes 3739(i) NAD 25.7.29.2 [range.chunk.view.input] chunk_view::size
should preserve the signedness of the size of the underlying range Yes 3740(i) NAD 25.7.30.2 [range.slide.view] slide_view::size
should preserve the signedness of underlying range's size Yes 3741(i) NAD 30.5.10 [time.duration.alg] std::chrono::abs(duration)
is ill-formed with non-reduced periods Yes 3742(i) C++23 23.2.4 [sequence.reqmts] deque::prepend_range
needs to permute Yes 2 3743(i) C++23 25.5.7.2 [range.utility.conv.to] ranges::to
's reserve
may be ill-formed Yes 3744(i) New 31.12.13.6 [fs.op.copy.symlink] copy_symlink(junction, new_symlink)
's behavior is unclear No 3 3745(i) C++23 32.5.2 [atomics.syn] std::atomic_wait
and its friends lack noexcept
Yes 3746(i) C++23 22.5.9 [optional.comp.with.t] optional
's spaceship with U
with a type derived from optional
causes infinite constraint meta-recursion Yes 3747(i) C++23 26.11.5 [uninitialized.copy] ranges::uninitialized_copy_n
, ranges::uninitialized_move_n
, and ranges::destroy_n
should use std::move
Yes 3748(i) New 24.5.5.6 [common.iter.cmp] common_iterator
and counted_iterator
' operator-
are missing cast to return type Yes 3 3749(i) WP 24.5.5 [iterators.common] common_iterator
should handle integer-class difference types Yes 2 3750(i) C++23 17.3.2 [version.syn] Too many papers bump __cpp_lib_format
Yes 3751(i) C++23 17.3.2 [version.syn] Missing feature macro for flat_set
Yes 3752(i) NAD 27.4.3.8.3 [string.substr] Should string::substr
forward the allocator to the newly created string? Yes 3753(i) C++23 16.3.3.7 [freestanding.item] Clarify entity vs. freestanding entity Yes 2 3754(i) C++23 22.8.6.1 [expected.object.general] Class template expected
synopsis contains declarations that do not match the detailed description Yes 3755(i) C++23 25.7.25.2 [range.zip.view] tuple-for-each
can call user-defined operator,
Yes 3756(i) C++23 17.14.5 [support.signal] Is the std::atomic_flag
class signal-safe? Yes 3 3757(i) C++23 22.2.4 [forward] What's the effect of std::forward_like<void>(x)
? Yes 3758(i) New 23.3.13.3 [vector.capacity] Element-relocating operations of std::vector
and std::deque
should conditionally require Cpp17CopyInsertable in their preconditions No 3 3759(i) C++23 26.7.11 [alg.rotate] ranges::rotate_copy
should use std::move
Yes 3760(i) C++23 25.7.33 [range.cartesian] cartesian_product_view::iterator
's parent_
is never valid Yes 3761(i) C++23 25.7.33.3 [range.cartesian.iterator] cartesian_product_view::iterator::operator-
should pass by reference Yes 3762(i) C++23 25.8.6 [coro.generator.iterator] generator::iterator::operator==
should pass by reference Yes 3763(i) New 25.6.5.3 [range.repeat.iterator] Should range adaptor iterators only provide iterator_category
when its difference_type
is not an integer-class type? Yes 3 3764(i) C++23 22.10.6.5 [refwrap.invoke] reference_wrapper::operator()
should propagate noexcept
Yes 3765(i) C++23 24.2 [iterator.synopsis] const_sentinel
should be constrained Yes 3766(i) C++23 25.5.3.1 [view.interface.general] view_interface::cbegin
is underconstrained Yes 2 3767(i) WP 28.3.3.1.2.1 [locale.category] codecvt<charN_t, char8_t, mbstate_t>
incorrectly added to locale Yes 3 3768(i) NAD 25.2 [ranges.syn] possibly-const-range
is overconstrained Yes 3769(i) C++23 24.5.3 [const.iterators] basic_const_iterator::operator==
causes infinite constraint recursion Yes 1 3770(i) C++23 25.2 [ranges.syn] const_sentinel_t
is missing Yes 3 3771(i) C++23 7.2.1 [fund.ts.v3::func.wrap.func.overview] [fund.ts.v3] remove binders typedefs from function
Yes 3772(i) C++23 25.6.5.2 [range.repeat.view] repeat_view
's piecewise constructor is missing Postconditions Yes 2 3773(i) C++23 25.7.26.1 [range.zip.transform.overview] views::zip_transform
still requires F
to be copy_constructible
when empty pack Yes 3774(i) C++23 23.6.10 [flat.set.syn] <flat_set>
should include <compare>
Yes 3775(i) C++23 16.4.4.6.1 [allocator.requirements.general] Broken dependencies in the Cpp17Allocator requirements Yes 3776(i) NAD 28.5.6.1 [formatter.requirements] Avoid parsing format-spec if it is not present or empty Yes 3 3777(i) Open 25.7.33.2 [range.cartesian.view] Common cartesian_product_view
produces an invalid range if the first range is input and one of the ranges is empty Yes 2 3778(i) C++23 23.3.14.1 [vector.bool.pspc] vector<bool>
missing exception specifications Yes 3779(i) NAD 26.6.18 [alg.fold] ranges::fold_*
can unintentionally const_cast
and reinterpret_cast
Yes 3780(i) Resolved 28.5.2.2 [format.string.std] format
's width estimation is too approximate and not forward compatible Yes 3 3781(i) C++23 23.6.1 [container.adaptors.general] The exposition-only alias templates cont-key-type
and cont-mapped-type
should be removed Yes 3782(i) C++23 17.15.7 [support.c.headers.other] Should <math.h>
declare ::lerp
? Yes 3783(i) New 24.5.5.1 [common.iterator] views::common
may not be a range adaptor object Yes 3 3784(i) C++23 16.4.2.4 [std.modules] std.compat
should not provide ::byte
and its friends Yes 3785(i) C++23 25.5.7.2 [range.utility.conv.to] ranges::to
is over-constrained on the destination type being a range Yes 3786(i) C++23 23.6.8.2 [flat.map.defn] Flat maps' deduction guide needs to default Allocator
to be useful Yes 2 3787(i) Resolved 25.5.7.2 [range.utility.conv.to] ranges::to
's template parameter C
should not be a reference type Yes 3 3788(i) C++23 32.4.4.2 [thread.jthread.cons] jthread::operator=(jthread&&)
postconditions are unimplementable under self-assignment Yes 3 3789(i) NAD 17.6.3.3 [new.delete.array] Precondition of (not replaced) operator delete[]
Yes 3790(i) C++23 29.7.1 [cmath.syn] P1467 accidentally changed nexttoward
's signature Yes 1 3791(i) Resolved 25.7.14.3 [range.join.iterator] join_view::iterator::operator--
may be ill-formed Yes 3 3792(i) C++23 17.3.2 [version.syn] __cpp_lib_constexpr_algorithms
should also be defined in <utility>
Yes 3793(i) New 26.6.5 [alg.foreach] Requirements for some algorithms' Size
template parameters are unclear No 3 3794(i) New 31.12.6.6 [fs.path.itr] std::filesystem::path::iterator::reference
should be allowed to be std::filesystem::path
Yes 3 3795(i) C++23 32.10.7 [futures.unique.future] Self-move-assignment of std::future
and std::shared_future
have unimplementable postconditions Yes 3 3796(i) C++23 25.6.5.2 [range.repeat.view] movable-box
as member should use default-initialization instead of copy-initialization Yes 3797(i) New 25.7.23.2 [range.elements.view] elements_view
insufficiently constrained Yes 2 3798(i) C++23 24.3.2.3 [iterator.traits] Rvalue reference and iterator_category
Yes 3799(i) New 17.15.7 [support.c.headers.other] Should <math.h>
provide 3-argument ::hypot
overloads? No 3 3800(i) NAD 28.6.9.1 [re.results.general] No deduction guide for std::match_results
Yes 3801(i) C++23 25.7.33.3 [range.cartesian.iterator] cartesian_product_view::iterator::distance-from
ignores the size of last underlying range Yes 3802(i) New 23.6.8 [flat.map] flat_foo
allocator-extended constructors lack move semantics No 2 3803(i) C++23 23.6.8 [flat.map] flat_foo
constructors taking KeyContainer
lack KeyCompare
parameter Yes 1 3804(i) New 23.6.8 [flat.map] flat_foo
missing some allocator-extended deduction guides No 2 3805(i) New 22.10 [function.objects] Expression evaluating to a call wrapper is a prvalue, not an object No 4 3806(i) NAD 28.5.6.3 [format.formattable] Should concept formattable<T, charT>
default to char
? Yes 2 3807(i) C++23 17.3.2 [version.syn] The feature test macro for ranges::find_last
should be renamed Yes 3808(i) NAD 17.3.2 [version.syn] Inconsistent feature test macros for ranges algorithms Yes 3809(i) WP 29.5.4.4 [rand.eng.sub] Is std::subtract_with_carry_engine<uint16_t>
supposed to work? Yes 3 3810(i) C++23 28.5.8.3 [format.args] CTAD for std::basic_format_args
Yes 3 3811(i) C++23 25.7.22.1 [range.as.const.overview] views::as_const
on ref_view<T>
should return ref_view<const T>
Yes 3812(i) New 6.1.2.6 [fund.ts.v3::propagate_const.const_observers] [fund.ts.v3] Incorrect constraint on propagate_const
conversion function Yes 3 3813(i) New 23.7.2.2.1 [span.overview] std::span<volatile T, E>
is made ill-formed by P2278R4 when T
is a normal class type Yes 2 3814(i) C++23 20.2.2 [memory.syn] Add freestanding items requested by NB comments Yes 3815(i) Resolved 16.3.3.7 [freestanding.item] Freestanding enumerators specification is lacking Yes 3816(i) C++23 23.6.8.1 [flat.map.overview] flat_map
and flat_multimap
should impose sequence container requirements Yes 3817(i) C++23 23.3.7.5 [forward.list.modifiers] Missing preconditions on forward_list
modifiers Yes 3818(i) C++23 16.3.3 [conventions] Exposition-only concepts are not described in library intro Yes 3819(i) C++23 21.3.6.4 [meta.unary.prop] reference_meows_from_temporary
should not use is_meowible
Yes 3820(i) C++23 25.7.33.3 [range.cartesian.iterator] cartesian_product_view::iterator::prev
is not quite right Yes 3821(i) C++23 20.2.8.2 [allocator.uses.construction] uses_allocator_construction_args
should have overload for pair-like
Yes 2 3822(i) C++23 31.12.13.40 [fs.op.weakly.canonical] Avoiding normalization in filesystem::weakly_canonical
Yes 3823(i) C++23 21.3.6.4 [meta.unary.prop] Unnecessary precondition for is_aggregate
Yes 3824(i) C++23 22.10.15.5 [func.bind.place] Number of bind
placeholders is underspecified Yes 3825(i) C++23 28.5.6.6 [format.parse.ctx] Missing compile-time argument id
check in basic_format_parse_context::next_arg_id
Yes 3826(i) C++23 25.8.5 [coro.generator.promise] Redundant specification [for overload of yield_value
] Yes 3827(i) C++23 17.15.4 [stdalign.h.syn] Deprecate <stdalign.h>
and <stdbool.h>
macros Yes 3828(i) C++23 17.4.1 [cstdint.syn] Sync intmax_t
and uintmax_t
with C2x Yes 3829(i) New 25.7.7.2 [range.as.rvalue.view] as_rvalue_view::end
should improve non-common case Yes 3 3830(i) New 25.7.21.2 [range.reverse.view] reverse_view
should not cache when ranges::next
has constant time complexity Yes 3 3831(i) New 30.12 [time.format] Two-digit formatting of negative year
is ambiguous Yes 3 3832(i) New 25.7.23.3 [range.elements.iterator] Missing change for element_view::iterator
in LWG 3798 Yes 3 3833(i) C++23 28.5.6.4 [format.formatter.spec] Remove specialization template<size_t N> struct formatter<const charT[N], charT>
Yes 2 3834(i) C++23 31.13.2 [cinttypes.syn] Missing constexpr
for std::intmax_t
math functions in <cinttypes>
Yes 3835(i) New 28.6.1 [re.general] Requirements for CharT
in the regex library No 4 3836(i) C++23 22.8.6.2 [expected.object.cons] std::expected<bool, E1>
conversion constructor expected(const expected<U, G>&)
should take precedence over expected(U&&)
with operator bool
Yes 1 3837(i) New 27.4.4.5 [string.erasure] std::erase_if
overloads for non-associative containers should move (and not copy) their predicate object Yes 3 3838(i) New 24.3.2.1 [incrementable.traits] The last specialization of incrementable_traits
is under-constrained Yes 3 3839(i) C++23 28.5.7.2 [format.range.formatter] range_formatter
's set_separator
, set_brackets
, and underlying
functions should be noexcept
Yes 3840(i) Open D.22.1 [depr.fs.path.factory] filesystem::u8path
should be undeprecated Yes 3 3841(i) C++23 17.3.2 [version.syn] <version>
should not be "all freestanding" Yes 3842(i) C++23 30.12 [time.format] Unclear wording for precision in chrono-format-spec Yes 3843(i) C++23 22.8.6.6 [expected.object.obs] std::expected<T,E>::value() &
assumes E
is copy constructible Yes 3844(i) Open 30.12 [time.format] Non-numeric formats for negative durations Yes 3 3845(i) New 25.5.7.2 [range.utility.conv.to] ranges::to
's from_range_t
tag branch has the wrong constraint Yes 4 3846(i) New 25.6.4.3 [range.iota.iterator] iota_view::iterator::operator-
is overconstrained Yes 3 3847(i) C++23 25.5.7.2 [range.utility.conv.to] ranges::to
can still return views Yes 2 3848(i) C++23 25.7.27.2 [range.adjacent.view] adjacent_view
, adjacent_transform_view
and slide_view
missing base
accessor Yes 3849(i) C++23 25.7.33.3 [range.cartesian.iterator] cartesian_product_view::iterator
's default constructor is overconstrained Yes 3850(i) C++23 25.7.22.1 [range.as.const.overview] views::as_const
on empty_view<T>
should return empty_view<const T>
Yes 3851(i) C++23 25.7.29.5 [range.chunk.inner.iter] chunk_view::inner-iterator
missing custom iter_move
and iter_swap
Yes 3852(i) New 25.7.15.3 [range.join.with.iterator] join_with_view::iterator
's iter_move
and iter_swap
should be conditionally noexcept
Yes 3 3853(i) C++23 24.5.3 [const.iterators] basic_const_iterator<volatile int*>::operator->
is ill-formed Yes 3854(i) New 16.4.6.14 [res.on.exception.handling] §[res.on.exception.handling]/3 should not be applied to all standard library types No 3 3855(i) New 25.7.16.2 [range.lazy.split.view] tiny-range
is not quite right Yes 4 3856(i) New 30.12 [time.format] Unclear which conversion specifiers are valid for each chrono type Yes 3 3857(i) C++23 27.3.3.2 [string.view.cons] basic_string_view
should allow explicit conversion when only traits vary Yes 3858(i) NAD 24.5.3.4 [const.iterators.types] basic_const_iterator
is too strict to provide iterator_category
Yes 3859(i) Resolved 24.3.6.4 [projected] std::projected
cannot handle proxy iterator Yes 3 3860(i) C++23 25.2 [ranges.syn] range_common_reference_t
is missing Yes 3861(i) Resolved 23.7.3.4.7 [mdspan.layout.stride] mdspan
layout_stride::mapping
default constructor problem Yes 1 3862(i) C++23 24.2 [iterator.synopsis] basic_const_iterator
's common_type
specialization is underconstrained Yes 3863(i) New 24.5.3.2 [const.iterators.alias] Is input_iterator
guaranteed to have iter_const_reference_t
? No 2 3864(i) New 25.7.25 [range.zip] zip
over range of reference to an abstract type No 4 3865(i) C++23 22.3.3 [pairs.spec] Sorting a range of pair
s Yes 2 3866(i) C++23 22.8.6.7 [expected.object.monadic] Bad Mandates for expected::transform_error
overloads Yes 3867(i) C++23 31.11.3.1 [syncstream.osyncstream.overview] Should std::basic_osyncstream
's move assignment operator be noexcept
? Yes 3868(i) LEWG 26.7.5 [alg.replace] Constrained algorithms should not require output_iterator
Yes 4 3869(i) C++23 19.5.2 [system.error.syn] Deprecate std::errc
constants related to UNIX STREAMS Yes 3870(i) C++23 26.11.1 [specialized.algorithms.general] Remove voidify
Yes 3871(i) C++23 16.4.2.5 [compliance] Adjust note about terminate
Yes 3872(i) C++23 24.5.3 [const.iterators] basic_const_iterator
should have custom iter_move
Yes 3 3873(i) New 25.7.15.2 [range.join.with.view] join_with_view
's const begin
is underconstrained No 3 3874(i) NAD 17.3.2 [version.syn] Rename __cpp_lib_ranges_to_container
to __cpp_lib_ranges_to
Yes 3875(i) C++23 25.6.5 [range.repeat] std::ranges::repeat_view<T, IntegerClass>::iterator
may be ill-formed Yes 3876(i) C++23 23.7.3.4 [mdspan.layout] Default constructor of std::layout_XX::mapping
misses precondition Yes 3877(i) C++23 22.8.6.7 [expected.object.monadic] Incorrect constraints on const
-qualified monadic overloads for std::expected
Yes 3878(i) C++23 31.4.2 [iostream.objects.overview] import std;
should guarantee initialization of standard iostreams objects Yes 3879(i) C++23 23.6.11.6 [flat.set.erasure] erase_if
for flat_{,multi}set
is incorrectly specified Yes 3880(i) C++23 25.7.29.7 [range.chunk.fwd.iter] Clarify operator+=
complexity for {chunk,stride}_view::iterator
Yes 3881(i) C++23 23.6.13 [container.adaptors.format] Incorrect formatting of container adapters backed by std::string
Yes 3882(i) New 22.4.9 [tuple.rel] tuple
relational operators have confused friendships Yes 3 3883(i) New 17.15.7 [support.c.headers.other] §[support.c.headers.other] Ambiguity in the requirements for includes Yes 4 3884(i) WP 23.6.8 [flat.map] flat_foo
is missing allocator-extended copy/move constructors Yes 3885(i) WP 16.4.5.3.2 [zombie.names] 'op
' should be in [zombie.names] Yes 3886(i) WP 22.5.3.1 [optional.optional.general] Monad mo' problems Yes 3 3887(i) WP 17.3.2 [version.syn] Version macro for allocate_at_least
Yes 3888(i) New 26.11.8 [specialized.construct] Most ranges uninitialized memory algorithms are underconstrained Yes 3 3889(i) New 26.11.9 [specialized.destroy] std::(ranges::)destroy_at
should destroy array elements in the decreasing index order Yes 3 3890(i) New 24.3.4.4 [iterator.concept.winc] ABI issue for integer-class types Yes 3 3891(i) New 22.8.6.1 [expected.object.general] LWG 3870 breaks std::expected<cv T, E>
Yes 2 3892(i) WP 28.5.7.2 [format.range.formatter] Incorrect formatting of nested ranges and tuples Yes 2 3893(i) WP 32.5.8.7.2 [util.smartptr.atomic.shared] LWG 3661 broke atomic<shared_ptr<T>> a; a = nullptr;
Yes 3894(i) WP 25.8.5 [coro.generator.promise] generator::promise_type::yield_value(ranges::elements_of<Rng, Alloc>)
should not be noexcept
Yes 3895(i) New 18.3 [concepts.syn] Various relation concepts are missing default values of the second template parameters Yes 3 3896(i) New 25.4.6 [range.refinements] The definition of viewable_range
is not quite right Yes 4 3897(i) WP 20.3.4.3 [inout.ptr.t] inout_ptr
will not update raw pointer to 0 Yes 2 3898(i) New 32.9.3.3 [thread.barrier.class] Possibly unintended preconditions for completion functions of std::barrier
Yes 3 3899(i) WP 25.8.5 [coro.generator.promise] co_yield
ing elements of an lvalue generator
is unnecessarily inefficient Yes 3 3900(i) WP 25.8.5 [coro.generator.promise] The allocator_arg_t
overloads of generator::promise_type::operator new
should not be constrained Yes 3 3901(i) NAD 20.2.8 [allocator.uses] Is uses-allocator construction of a cv-qualified object type still well-formed after LWG 3870? Yes 3902(i) New 22.2.6 [declval] Return type of std::declval<cv void>
should be (cv-unqualified) void
Yes 4 3903(i) WP 23.7.2.2.1 [span.overview] span
destructor is redundantly noexcept
Yes 3904(i) WP 25.7.16.3 [range.lazy.split.outer] lazy_split_view::outer-iterator
's const
-converting constructor isn't setting trailing_empty_
Yes 3905(i) WP 29.3.1 [cfenv.syn] Type of std::fexcept_t
Yes 3906(i) New 32.5.8.5 [atomics.types.pointer] "Undefined address" is undefined No 3 3907(i) New 25.6 [range.factories] Can iterator types of range adaptors and range factories be SCARY? No 3 3908(i) Tentatively NAD 25.7.24.3 [range.enumerate.iterator] enumerate_view::iterator
constructor is explicit Yes 3909(i) Tentatively NAD 99 [ranges.refinements] Issues about viewable_range
Yes 3910(i) New 31.4.2 [iostream.objects.overview] The effects of including <iostream>
on initialization are not yet precisely specified Yes 4 3911(i) New 20.3.1.3.5 [unique.ptr.single.observers] unique_ptr
's operator*
is missing a mandate Yes 3 3912(i) WP 25.7.24.3 [range.enumerate.iterator] enumerate_view::iterator::operator-
should be noexcept
Yes 3913(i) NAD 25.2 [ranges.syn] ranges::const_iterator_t<range R>
fails to accept arrays of unknown bound Yes 3 3914(i) WP 25.2 [ranges.syn] Inconsistent template-head of ranges::enumerate_view
Yes 3915(i) WP 25.4.2 [range.range] Redundant paragraph about expression variations Yes 3916(i) New 20.2.10 [default.allocator] allocator
, polymorphic_allocator
, and containers should forbid cv-qualified types No 3 3917(i) New 20.2.10 [default.allocator] Validity of allocator<void>
and possibly polymorphic_allocator<void>
should be clarified Yes 3 3918(i) WP 26.11.6 [uninitialized.move] std::uninitialized_move/_n
and guaranteed copy elision Yes 3 3919(i) WP 25.7.24 [range.enumerate] enumerate_view
may invoke UB for sized common non-forward underlying ranges Yes 3 3920(i) New 16.4.5.3.4 [extern.names] Bad footnotes claiming external linkage for entities defined as macros No 3 3921(i) New 30.12 [time.format] Is std::chrono::duration<std::int64_t, std::ratio<INT64_MAX - 1, INT64_MAX>>{40}
required to be correctly formatted? No 3 3922(i) New 17.3.5.1 [numeric.limits.general] It's unclear whether numeric_limits
can be specialized by users Yes 3 3923(i) New 17.3.5.1 [numeric.limits.general] The specification of numeric_limits
doesn't clearly distinguish between implementation requirements and user requirements Yes 3 3924(i) New 32.3.1 [thread.stoptoken.intro] Stop token data race avoidance requirements unclear Yes 3 3925(i) WP 28.5.6.3 [format.formattable] Concept formattable
's definition is incorrect Yes 3926(i) New 16.4.5.2.1 [namespace.std] Which namespace std
is the mentioned one? Yes 4 3927(i) WP 23.2.4 [sequence.reqmts] Unclear preconditions for operator[]
for sequence containers Yes 3928(i) New 16.4.5.2.2 [namespace.posix] Non-top-level namespace posix
shouldn't be reserved Yes 3 3929(i) New 21.3.6.4 [meta.unary.prop] Preconditions for type traits should be Mandates Yes 3 3930(i) NAD 21 [meta] Simplify type trait wording Yes 3931(i) New 17.3.2 [version.syn] Too many paper bump __cpp_lib_ranges
Yes 3 3932(i) New 17.12.6 [cmp.alg] Expression-equivalence is sometimes unimplementable when passing prvalue expressions to comparison CPOs No 3 3933(i) New 29.4.3 [complex] P1467R9 accidentally changed the signatures of certain constructors of std::complex
Yes 4 3934(i) New 29.4.3 [complex] std::complex<T>::operator=(const T&)
has no specification Yes 3 3935(i) WP 29.4.3 [complex] template<class X> constexpr complex& operator=(const complex<X>&)
has no specification Yes 3936(i) NAD D [depr] Are implementations allowed to deprecate components not in [depr]? Yes 3937(i) New 31.7.7 [std.manip] I/O manipulators should be specified in terms of base classes No 3 3938(i) WP 22.8.6.7 [expected.object.monadic] Cannot use std::expected
monadic ops with move-only error_type
Yes 3939(i) New 28.5.2.2 [format.string.std] §[format.string.std] char
is not formatted as a character when charT
is wchar_t
No 3 3940(i) WP 22.8.7.6 [expected.void.obs] std::expected<void, E>::value()
also needs E
to be copy constructible Yes 3941(i) Open 32.5.4 [atomics.order] §[atomics.order] inadvertently prohibits widespread implementation techniques No 3 3942(i) New 27.2.4 [char.traits.specializations] Inconsistent use of const char_type&
in standard specializations of std::char_traits
Yes 3 3943(i) New 28.5.6.3 [format.formattable] Clarify lifetime requirements of BasicFormatter and Formatter Yes 3 3944(i) WP 28.5.6.4 [format.formatter.spec] Formatters converting sequences of char
to sequences of wchar_t
Yes 3 3945(i) New 17.14.2 [cstdarg.syn] §[cstdarg.syn] 'Compatible types' are undefined No 3 3946(i) WP 25.2 [ranges.syn] The definition of const_iterator_t
should be reworked Yes 3947(i) WP 25.7.28.2 [range.adjacent.transform.view] Unexpected constraints on adjacent_transform_view::base()
Yes 3948(i) WP 25.2 [ranges.syn] possibly-const-range
and as-const-pointer
should be noexcept
Yes 3949(i) WP 32.5.8.1 [atomics.types.generic.general] std::atomic<bool>
's trivial destructor dropped in C++17 spec wording Yes 3950(i) WP 27.3.2 [string.view.synop] std::basic_string_view
comparison operators are overspecified Yes 3951(i) WP 22.8.6.5 [expected.object.swap] §[expected.object.swap]: Using value()
instead of has_value()
Yes 3952(i) New 24.2 [iterator.synopsis] iter_common_reference_t
does not conform to the definition of indirectly_readable
Yes 3 3953(i) WP 24.5.5.7 [common.iter.cust] iter_move
for common_iterator
and counted_iterator
should return decltype(auto)
Yes 3954(i) New 17.15.1 [support.c.headers.general] Feature-test macros in C headers (<stddef.h>
etc.) No 3 3955(i) New 25.6.5.2 [range.repeat.view] Add noexcept
to several repeat_view[::iterator]
member functions Yes 3 3956(i) WP 30.13 [time.parse] chrono::parse
uses from_stream
as a customization point Yes 3 3957(i) WP 23.2.2.5 [container.alloc.reqmts] §[container.alloc.reqmts] The value category of v
should be claimed Yes 3958(i) Tentatively NAD 25.5.7.2 [range.utility.conv.to] ranges::to
should prioritize the "reserve
" branch Yes 3959(i) New 23.6.8 [flat.map] Should the comparator of std::flat_map
/std::flat_multimap
be copied twice in some operations? No 3960(i) New 30.13 [time.parse] How does chrono::parse
handle duplicated data? Yes 3 3961(i) New 30.13 [time.parse] Does chrono::parse
check format strings? Yes 3 3962(i) New 30.13 [time.parse] What is the "decimal precision of the input"? Yes 3 3963(i) New 23.6.8.2 [flat.map.defn] Different std::flat_map
/std::flat_multimap
specializations should be able to share same nested classes Yes 3 3964(i) New 29.6.3.3 [valarray.transcend] std::atan2
and std::pow
overloads that take two std::valarray
parameters should require the arguments to have the same length Yes 4 3965(i) WP 28.5.6.5 [format.string.escaped] Incorrect example in [format.string.escaped] p3 for formatting of combining characters Yes 3966(i) New 23.6.8.1 [flat.map.overview] The value_type
and reference
members of std::flat_(multi)map::(const_)iterator
are unclear No 3 3967(i) New 21.3.6.4 [meta.unary.prop] The specification for std::is_nothrow_*
traits may be ambiguous in some cases involving noexcept(false)
No 3968(i) New 22.11.8 [bit.endian] std::endian::native
value should be more specific about object representations Yes 4 3969(i) New 26.6.18 [alg.fold] std::ranges::fold_left_first_with_iter
should be more ADL-proof Yes 3 3970(i) WP 23.7.3.2 [mdspan.syn] §[mdspan.syn] Missing definition of full_extent_t
and full_extent
Yes 3971(i) NAD 25.7.15.2 [range.join.with.view] Join ranges of rvalue references with ranges of prvalues Yes 3 3972(i) New 25.7.15.3 [range.join.with.iterator] Issues with join_with_view::iterator
's iter_swap
No 2 3973(i) WP 22.8.6.7 [expected.object.monadic] Monadic operations should be ADL-proof Yes 3974(i) WP 23.7.3.6.3 [mdspan.mdspan.members] mdspan::operator[]
should not copy OtherIndexTypes
Yes 3975(i) WP 28.5.6.7 [format.context] Specializations of basic_format_context
should not be permitted Yes 3 3976(i) New 23.2.2.5 [container.alloc.reqmts] What does it mean for a type to be "allocator aware"? No 3977(i) New 16.3.3.3.3 [bitmask.types] constexpr
and noexcept
for operators for bitmask types Yes 3 3978(i) Resolved 22.4.5 [tuple.creation] The "no effect" requirement for std::ignore
is unimplementable for volatile
bit-fields Yes 4 3979(i) New 22.10.13 [func.not.fn] Should we reject std::bind_front<42>()
and its friends? Yes 4 3980(i) Tentatively NAD 32.5.4 [atomics.order] The read exclusive ownership of an atomic read-modify-write operation and whether its read and write are two operations are unclear Yes 3981(i) Tentatively NAD 25.7.2 [range.adaptor.object] Range adaptor closure object is underspecified for its return type Yes 3982(i) Tentatively NAD 25.4.5 [range.view] is-derived-from-view-interface
should require that T
is derived from view_interface<T>
Yes 3983(i) New 25.5.7.3 [range.utility.conv.adaptors] ranges::to
adaptors are underconstrained Yes 3 3984(i) WP 25.5.7.2 [range.utility.conv.to] ranges::to
's recursion branch may be ill-formed Yes 3 3985(i) New 25.5.7.2 [range.utility.conv.to] ranges::to
should Mandates C
not to be view Yes 3 3986(i) New 24.5.3 [const.iterators] basic_const_iterator
doesn't work with optional
No 3 3987(i) WP 24.7 [iterator.range] Including <flat_foo>
doesn't provide std::begin/end
Yes 3988(i) Open 24.5.3 [const.iterators] Should as_const_view
and basic_const_iterator
provide base()
? Yes 3 3989(i) New 27.3 [string.view] The whole range for an iterator obtained from a std::span
or std::basic_string_view
is not clear No 3 3990(i) WP 22.4.4 [tuple.tuple] Program-defined specializations of std::tuple
and std::variant
can't be properly supported Yes 3991(i) New 22.6.3.4 [variant.assign] variant
's move assignment should not be guaranteed to produce a valueless by exception state Yes 3 3992(i) New 31.8.2.4 [stringbuf.members] basic_stringbuf::str()&&
should enforce 𝒪(1) Yes 3993(i) New 28.5.6.1 [formatter.requirements] The parse
function of a BasicFormatter type needs to be constexpr
Yes 3 3994(i) New 25.7.2 [range.adaptor.object] adaptor(args...)(r)
is not equivalent to std::bind_back(adaptor, args...)(r)
No 4 3995(i) New 23.7.3 [views.multidim] Issue with custom index conversion in <mdspan>
No 3 3996(i) NAD 24.3.6.4 [projected] projected<I, identity>
should just be I
Yes 3997(i) New 28.5.1 [format.syn] std::formatter
specializations should be consistently restricted to supported character types No 4 3998(i) New 28.6.4 [re.const] Constants in std::regex_constants
should be allowed to be enumerators No 3 3999(i) New 32.5.4 [atomics.order] P0439R0 changed the value category of memory order constants Yes 4 4000(i) New 23.6.8.7 [flat.map.modifiers] flat_map::insert_range
's Effects is not quite right Yes 3 4001(i) WP 25.6.4.2 [range.iota.view] iota_view
should provide empty
Yes 4002(i) New 25.6.4.3 [range.iota.iterator] The definition of iota_view::iterator::iterator_concept
should be improved Yes 3 4003(i) Tentatively NAD 25.5.3 [view.interface] view_interface::back
is overconstrained Yes 4004(i) SG1 32.5.4 [atomics.order] The load and store operation in §[atomics.order] p1 is ambiguous No 3 4005(i) New 3.48 [defns.required.behavior] "Required behavior" too narrowly defined No 2 4006(i) Tentatively NAD 25.7.29.4 [range.chunk.outer.value] chunk_view::outer-iterator::value_type
should provide empty
Yes 4007(i) New 22.10.4 [func.require] Mystic prohibition of calling a volatile
-qualified perfect forwarding call wrapper Yes 3 4008(i) New 25.5.7.2 [range.utility.conv.to] §[range.utility.conv.to] ranges::to
may cause infinite recursion if range_value_t<C>
is a non-move-constructible range Yes 3 4009(i) New 25.7.12.2 [range.drop.view] drop_view::begin const
may have 𝒪(n) complexity Yes 4010(i) New 25.5.4.3 [range.subrange.access] subrange::advance
should be improved Yes 3 4011(i) WP 23.7.2.2.6 [span.elem] "Effects: Equivalent to return" in [span.elem] Yes 4012(i) WP 25.7.20.2 [range.common.view] common_view::begin/end
are missing the simple-view
check Yes 4013(i) WP 25.7.16.4 [range.lazy.split.outer.value] lazy_split_view::outer-iterator::value_type
should not provide default constructor Yes 4014(i) WP 29.5.4.4 [rand.eng.sub] LWG 3809 changes behavior of some existing std::subtract_with_carry_engine
code Yes 2 4015(i) Open 22.5.3.8 [optional.monadic] LWG 3973 broke const
overloads of std::optional
monadic operations Yes 1 4016(i) WP 25.5.7 [range.utility.conv] container-insertable
checks do not match what container-inserter
does Yes 4017(i) New 25.7.17.3 [range.split.iterator] Behavior of std::views::split
on an empty range Yes 3 4018(i) New 25.5.7.2 [range.utility.conv.to] ranges::to
's copy branch is underconstrained Yes 3 4019(i) SG9 25.7.21 [range.reverse] Reversing an infinite range leads to an infinite loop No 3 4020(i) New 23.7.3.3.2 [mdspan.extents.expo] extents::index-cast
weirdness Yes 4021(i) New 23.7.3.6.1 [mdspan.mdspan.overview] mdspan::is_always_meow()
should be noexcept
Yes 4022(i) New 30.12 [time.format] Ambiguity in the formatting of negative years with format specifier %C
Yes 4023(i) WP 31.6.3.4 [streambuf.protected] Preconditions of std::basic_streambuf::setg/setp
Yes 4024(i) WP 20.3.2.2.7 [util.smartptr.shared.create] Underspecified destruction of objects created in std::make_shared_for_overwrite/std::allocate_shared_for_overwrite
Yes 2 4025(i) WP 22.8.7.4 [expected.void.assign] Move assignment operator of std::expected<cv void, E>
should not be conditionally deleted Yes 4026(i) New 22.8.6.4 [expected.object.assign] Assignment operators of std::expected
should propagate triviality Yes 2 4027(i) WP 25.2 [ranges.syn] possibly-const-range
should prefer returning const R&
Yes 2 4028(i) New 21.3.8 [meta.rel] std::is_(nothrow_)convertible
should be reworded to avoid dependence on the return
statement Yes 4029(i) New 27.4.3.1 [basic.string.general] basic_string
accidentally fails to meet the reversible container requirements Yes 3 4030(i) WP 26.10.17.1 [numeric.sat.func] Clarify whether arithmetic expressions in [numeric.sat.func] are mathematical or C++ Yes 4031(i) WP 22.8.5 [expected.bad.void] bad_expected_access<void>
member functions should be noexcept
Yes 4032(i) New 20.3.2.2.2 [util.smartptr.shared.const] Possibly invalid types in the constraints of constructors of std::shared_ptr
Yes 4 4033(i) New 16.4.5.3.3 [macro.names] §[macro.names] defining macros after importing the standard library Yes 3 4034(i) New 26.8.9 [alg.min.max] Clarify specification of std::min
and std::max
Yes 4 4035(i) WP 25.6.3.2 [range.single.view] single_view
should provide empty
Yes 4036(i) WP D.11 [depr.c.macros] __alignof_is_defined
is only implicitly specified in C++ and not yet deprecated Yes 4037(i) WP 28.3.4.2.1 [category.ctype.general] Static data members of ctype_base
are not yet required to be usable in constant expressions Yes 4038(i) WP 28.4.2.5 [text.encoding.aliases] std::text_encoding::aliases_view
should have constexpr iterators Yes 4039(i) New 31.7.6.3.5 [ostream.formatted.print] §[ostream.formatted.print]: Inappropriate usage of badbit
in definition of vprint_unicode
/vprint_nonunicode
Yes 4040(i) New 22.4.7 [tuple.helper] Contradictory specification of std::tuple_size
No 3 4041(i) New 18.4.9 [concept.swappable] The requirements on literal type in [concept.swappable] should be removed Yes 4 4042(i) Resolved 31.7.10 [print.fun] std::print
should permit an efficient implementation Yes 3 4043(i) WP 28.4.2.2 [text.encoding.general] "ASCII"
is not a registered character encoding Yes 4044(i) WP 31.7.10 [print.fun] Confusing requirements for std::print
on POSIX platforms Yes 3 4045(i) WP 22.4.4.2 [tuple.cnstr] tuple
can create dangling references from tuple-like
Yes 4046(i) New 23.2.7.2 [associative.reqmts.except] Effects of inserting into or erasing from flat container adaptors when an exception is thrown need to be more permissive No 2 4047(i) New 16.4.5.2.1 [namespace.std] Explicitly specifying template arguments for std::swap
should not be supported No 4 4048(i) New 23.6.11 [flat.set] Inconsistent preconditions for transparent insertion of std::flat_map/std::flat_set
Yes 2 4049(i) New 16.4.2 [organization] C <foo.h>
headers not in freestanding Yes 3 4050(i) New 25.7.10.1 [range.take.overview] Should views::iota(0) | views::take(5)
be views::iota(0, 5)
? Yes 4051(i) New 17.12.2 [cmp.categories] A less hacky and more useful way to compare comparison category types Yes 4052(i) New 29.5.9.6.2 [rand.dist.samp.pconst] Bogus requirements for piecewise_linear_distribution
No 4 4053(i) WP 25.6.5.2 [range.repeat.view] Unary call to std::views::repeat
does not decay the argument Yes 4054(i) WP 25.6.5.1 [range.repeat.overview] Repeating a repeat_view
should repeat the view Yes 4055(i) New 24.4.3 [iterator.operations] §[iterator.operations] std::distance
is missing a precondition Yes 4 4056(i) NAD 22.2.2 [utility.swap] The effects of std::swap
are under-specified Yes 4057(i) New 25.8.6 [coro.generator.iterator] generator::iterator
's operator*
is not noexcept
when it can be Yes 3 4058(i) New 20.2.4 [pointer.conversion] std::to_address()
should be SFINAE-friendly Yes 4059(i) New 25.7.15.3 [range.join.with.iterator] Leaky abstraction in join_with_view
's iterator Yes 3 4060(i) WP 23.7.3.7.7 [mdspan.sub.sub] submdspan
preconditions do not forbid creating invalid pointer Yes 4061(i) WP 28.5.6.7 [format.context] Should std::basic_format_context
be default-constructible/copyable/movable? Yes 4062(i) New 25.3.13 [range.prim.empty] ranges::empty
has no semantic requirements for forward_range
s No 4063(i) New 27.2.4.2 [char.traits.specializations.char] Freestanding std::char_traits<char>::eof
depends on non-freestanding EOF
No 2 4064(i) WP 27.5.1 [cstring.syn] Clarify that std::launder
is not needed when using the result of std::memcpy
Yes 3 4065(i) New 16.4.4.6.1 [allocator.requirements.general] Requirements for fancy pointers might be insufficient for self-referential implementation of containers Yes 3 4066(i) New 25.5.7.2 [range.utility.conv.to] ranges::to
should reserve when sized_sentinel_for
is satisfied Yes 4067(i) New 30.11.7.2 [time.zone.zonedtime.ctor] Inconsistency and potential infinity meta-recursion in std::chrono::zoned_time
's constructors Yes 3 4068(i) New 16.4.5.11 [res.on.requirements] Terminology for objects whose types model a concept No 4069(i) Resolved 32.5.8 [atomics.types.generic] std::atomic<volatile T>
should be ill-formed Yes 2 4070(i) SG16 31.12.6.9.2 [fs.path.fmtr.funcs] Transcoding by std::formatter<std::filesystem::path>
Yes 2 4071(i) WP 22.10.6.6 [refwrap.comparisons] reference_wrapper
comparisons are not SFINAE-friendly Yes 4072(i) WP 22.5.9 [optional.comp.with.t] std::optional
comparisons: constrain harder Yes 1 4073(i) New 25.7.18.2 [range.concat.view] concat_view::size
may overflow No 4 4074(i) WP 25.7.15.2 [range.join.with.view] compatible-joinable-ranges
is underconstrained Yes 4075(i) SG1 16.4.4 [utility.requirements] Thread stability requirement on constructors and destructors No 3 4076(i) WP 17.3.2 [version.syn] concat_view
should be freestanding Yes 4077(i) New 26.12.2 [alg.rand.generate] Unclear preconditions of std::ranges::generate_random
No 2 4078(i) New 28.5.5 [format.functions] What if arguments alias the output buffer in std::format_to
? No 4 4079(i) WP 25.7.18.3 [range.concat.iterator] Missing Preconditions in concat_view::iterator
's conversion constructor Yes 4080(i) New 24.3.2 [iterator.assoc.types] Presumed value and difference types of an iterator type in ranges and non-ranges algorithms No 3 4081(i) New 25.7.18.3 [range.concat.iterator] concat_view::iterator::operator-
is overconstrained Yes 3 4082(i) WP 25.7.18.1 [range.concat.overview] views::concat(r)
is well-formed when r
is an output_range
Yes 4083(i) WP 25.7.7.1 [range.as.rvalue.overview] views::as_rvalue
should reject non-input ranges Yes 4084(i) WP 28.3.4.3.3.3 [facet.num.put.virtuals] std::fixed
ignores std::uppercase
Yes 3 4085(i) WP 26.12.2 [alg.rand.generate] ranges::generate_random
's helper lambda should specify the return type Yes 2 4086(i) NAD 26.12.2 [alg.rand.generate] ranges::generate_random_n
is missing Yes 4087(i) SG16 17.9.3 [exception] Standard exception messages have unspecified encoding Yes 3 4088(i) WP 31.7.6.3.5 [ostream.formatted.print] println
ignores the locale imbued in std::ostream
Yes 4089(i) New 25.7.18.3 [range.concat.iterator] concat_view::iterator
's iter_swap
is overconstrained Yes 3 4090(i) SG16 28.5.2.2 [format.string.std] Underspecified use of locale facets for locale-dependent std::format
Yes 3 4091(i) New 25.7.18.2 [range.concat.view] concat_view
rejects non-movable references Yes 4 4092(i) New 24.5.5.1 [common.iterator] The monotonic version of common_iterator::operator==
is underconstrained Yes 3 4093(i) New 26.6.18 [alg.fold] ranges::fold_left_first_with_iter
incorrectly constructs optional<U>
Yes 3 4094(i) New 26.6.18 [alg.fold] ranges::fold_meow
is overconstrained Yes 3 4095(i) Tentatively NAD 26.4 [algorithm.syn] ranges::fold_meow
should explicitly spell out the return type Yes 4096(i) WP 25.6.4.1 [range.iota.overview] views::iota(views::iota(0))
should be rejected Yes 4097(i) LEWG 25.7.21.1 [range.reverse.overview] views::reverse
should be specialized for some view types Yes 3 4098(i) WP 25.7.27.1 [range.adjacent.overview] views::adjacent<0>
should reject non-forward ranges Yes 4099(i) New 25.7.7.1 [range.as.rvalue.overview] The simple case of views::as_rvalue
and views::common
are not strictly correct Yes 4 4100(i) New 16.4.6.4 [global.functions] Default arguments and signatures of standard library non-member functions Yes 3 4101(i) New 31.7.6.3.2 [ostream.inserters.arithmetic] LWG 117 loses the sign for negative NaN on some architectures Yes 3 4102(i) New 27.3.3.2 [string.view.cons] string_view(Iter, Iter)
constructor breaks existing code No 2 4103(i) New 26.7.9 [alg.unique] ranges::unique_copy
's constraints for the case where result
is an input_iterator
are not quite right Yes 3 4104(i) New 24.5.3 [const.iterators] basic_const_iterator<volatile int*>
is not a contiguous_iterator
No 4 4105(i) WP 26.6.17 [alg.ends.with] ranges::ends_with
's Returns misses difference casting Yes 4106(i) WP 28.5.8.3 [format.args] basic_format_args
should not be default-constructible Yes 4107(i) New 28.5.7.4 [format.range.fmtmap] Map formatter may conflict with user-defined specializations of pair
/tuple
formatters Yes 3 4108(i) SG9 25.7.16.2 [range.lazy.split.view] lazy_split_view
should be sized_range
when pattern is empty tiny-range
Yes 4 4109(i) New 29.5.3.1 [rand.req.genl] Instantiating templates in §[rand] with int8_t
/uint8_t
is undefined behavior Yes 4110(i) New 20.3.2.2.2 [util.smartptr.shared.const] shared_ptr(nullptr_t, Deleter)
is overconstrained, breaking some sensible deleters Yes 4111(i) New 26.8.4 [alg.binary.search] LWG 270 and ranges version of binary search algorithms No 3 4112(i) WP 25.5.2 [range.utility.helpers] has-arrow
should required operator->()
to be const
-qualified Yes 4113(i) WP 21.3.6.4 [meta.unary.prop] Disallow has_unique_object_representations<Incomplete[]>
Yes 4114(i) New 25.7.23.3 [range.elements.iterator] elements_view::iterator::operator*
missing conditional noexcept
specification Yes 3 4115(i) New 24.5.4.6 [move.iter.elem] move_iterator::operator*
should have conditional noexcept
specification Yes 4 4116(i) New 25.7.24.3 [range.enumerate.iterator] enumerate_view::iterator
and cartesian_product_view::iterator
should not always provide iterator_category
Yes 4117(i) New 25.8.6 [coro.generator.iterator] generator::iterator
should provide iterator_concept
Yes 4 4118(i) New 30.12 [time.format] How should duration
formatters format custom rep
types? Yes 3 4119(i) WP 25.8.5 [coro.generator.promise] generator::promise_type::yield_value(ranges::elements_of<R, Alloc>)
's nested generator
may be ill-formed Yes 4120(i) New 24.5.4.2 [move.iterator] move_iterator
should provide iterator_category
only when it models forward_iterator
Yes 3 4121(i) New 25.5.7.1 [range.utility.conv.general] ranges::to
constructs associative containers via c.emplace(c.end(), *it)
Yes 2 4122(i) New 23.3.16.1 [inplace.vector.overview] Ill-formed operator<=>
can cause hard error when instantiating std::inplace_vector
Yes 2 4123(i) New 23.3.5.4 [deque.modifiers] Container effects use "the assignment operator or move assignment operator" Yes 3 4124(i) WP 30.12 [time.format] Cannot format zoned_time
with resolution coarser than seconds Yes 4125(i) New 24.5.4.2 [move.iterator] move_iterator
's default constructor should be constrained Yes 3 4126(i) WP 17.3.2 [version.syn] Some feature-test macros for fully freestanding features are not yet marked freestanding Yes 2 4127(i) New 22.10.18.3 [func.search.bm] The Standard Library should not use predicates of the form pred(*i) != false
Yes 3 4128(i) New 16.4.4.6.1 [allocator.requirements.general] Allocator requirements should not allow rebinding conversions to be explicit Yes 3 4129(i) New 16.4.6.10 [res.on.data.races] Possibly incorrect wording for data race avoidance Yes 4130(i) Open 17.6.5 [ptr.launder] Preconditions for std::launder
might be overly strict Yes 3 4131(i) New 24.7 [iterator.range] Including <optional>
doesn't provide std::begin/end
Yes 3 4132(i) New 23.2.7.1 [associative.reqmts.general] Throws specifications need to include boolean-testable
operations Yes 3 4133(i) New 33.13.1 [exec.as.awaitable] awaitable-receiver
's members are potentially throwing No 1 4134(i) WP 29.5.4.5 [rand.eng.philox] Issue with Philox algorithm specification Yes 1 4135(i) WP 23.3.7.7 [forward.list.erasure] The helper lambda of std::erase
for list
should specify return type as bool
Yes 4136(i) New 29.9.3 [linalg.general] Specify behavior of [linalg] Hermitian algorithms on diagonal with nonzero imaginary part Yes 4137(i) New 29.9.14 [linalg.algs.blas2] Fix Mandates, Preconditions, and Complexity elements of [linalg] algorithms Yes 4138(i) New 21.3.12 [meta.const.eval] is_within_lifetime
should mandate is_object
Yes 4139(i) New 30.11.8 [time.zone.leap] §[time.zone.leap] recursive constraint in <=>
No 3 4140(i) WP 22.9.2.1 [template.bitset.general] Useless default constructors for bit reference types Yes 4141(i) WP 22.5.3.1 [optional.optional.general] Improve prohibitions on "additional storage" Yes 4142(i) WP 28.5.6.6 [format.parse.ctx] format_parse_context::check_dynamic_spec
should require at least one type Yes 4143(i) New 33.7.2 [exec.set.value] execution::set_value/set_error/set_stopped/start
should always return void
Yes 2 4144(i) WP 20.3.1.3.1 [unique.ptr.single.general] Disallow unique_ptr<T&, D>
Yes 4145(i) New 16.4.6.10 [res.on.data.races] Unclear how [res.on.data.races] apply to templated functions No 3 4146(i) New 28.5.6.4 [format.formatter.spec] §[format.formatter.spec]/3 unconditionally enables nonlocking for container adaptors Yes 4147(i) WP 23.2.4 [sequence.reqmts] Precondition on inplace_vector::emplace
Yes 4148(i) WP 20.3.1.3.5 [unique.ptr.single.observers] unique_ptr::operator*
should not allow dangling references Yes 4149(i) New 16.4.5.3.3 [macro.names] User defined macros without standard headers (294 redux) Yes 4150(i) Resolved 33.12.1.4 [exec.run.loop.members] The preconditions on run_loop::run()
are too strict Yes 4151(i) New 23.3.16.5 [inplace.vector.modifiers] Precondition of inplace_vector::swap
Yes 2 4152(i) New 27.2.2 [char.traits.require] The primary template of std::char_traits
is totally underspecified Yes 4 4153(i) WP 29.5.4.5 [rand.eng.philox] Fix extra "-1" for philox_engine::max()
Yes 4154(i) WP 32.10.10.2 [futures.task.members] The Mandates for std::packaged_task
's constructor from a callable entity should consider decaying Yes 3 4155(i) New 16.4.4.4 [nullablepointer.requirements] Cpp17NullablePointer should require that some expression can be contextually converted to bool Yes 3 4156(i) SG16 19.5.3.2 [syserr.errcat.virtuals] error_category
messages have unspecified encoding Yes 3 4157(i) WP 17.12.6 [cmp.alg] The resolution of LWG3465 was damaged by P2167R3 Yes 4158(i) New 32.10.10.2 [futures.task.members] packaged_task::operator=
should abandon its shared state Yes 3 4159(i) New 23.2.5 [container.node] Uses-allocator construction mechanisms should be opted out for node handles Yes 3 4160(i) New 32.10.10.1 [futures.task.general] packaged_task
should reject rvalue reference return types Yes 3 4161(i) New 29.4 [complex.numbers] Some free functions don't automatically work for program-defined std::complex<NonFloatingPoint>
No 3 4162(i) New 26.8.3 [alg.nth.element] Worst time complexity of non-parallel versions of nth_element
is underspecified Yes 3 4163(i) Tentatively NAD 28.3.4.3.2.3 [facet.num.get.virtuals] Can the overload of std::num_get::do_get
for bool
call the overload for long
? No 4164(i) WP 23.3.7.5 [forward.list.modifiers] Missing guarantees for forward_list
modifiers Yes 3 4165(i) New 18.4.9 [concept.swappable] Should swapping a built-in array or std::array
with itself result in UB? No 3 4166(i) New 25.7.18.2 [range.concat.view] concat_view::end()
should be more constrained in order to support noncopyable iterators Yes 4167(i) New 26.8.9 [alg.min.max] Use of "smaller" and "larger" in min
, max
, and minmax
is unclear Yes 3 4168(i) New 20.2.6 [obj.lifetime] std::start_lifetime_as
inadvertently has undefined behavior due to use of std::bit_cast
Yes 4169(i) WP 32.5.8.2 [atomics.types.operations] std::atomic<T>
's default constructor should be constrained Yes 4170(i) WP 24.3.4.14 [iterator.concept.contiguous] contiguous_iterator
should require to_address(I{})
Yes 4171(i) New 24.3.6.3 [indirectcallable.indirectinvocable] P2609R3 breaks code that uses views::zip
and get<T>
No 4172(i) WP 32.6.5.4.2 [thread.lock.unique.cons] unique_lock self-move-assignment is broken Yes 4173(i) New 23 [containers] Better term for "references, pointers and iterators to elements" No 4 4174(i) SG1 32.5.4 [atomics.order] How does [atomics.order] p3 apply when then modification is an initialization? No 3 4175(i) WP 33.5.2 [exec.get.allocator] get_env()
specified in terms of as_const()
but this doesn't work with rvalue senders Yes 4176(i) New 23 [containers] Refer back to container requirements when extending them No 4 4177(i) SG1 32.5.4 [atomics.order] §[atomics.order] p8 "circularly depend on their own computation" is unclear for loop No 4 4178(i) NAD Editorial 24.3.1 [iterator.requirements.general] writable is no longer a term of power Yes 4179(i) WP 26.6.15 [alg.search] Wrong range in [alg.search] Yes 4180(i) New 23.6.12.5 [flat.multiset.modifiers] Inconsistent constraints on flat_foo::emplace
Yes 3 4181(i) New 24.7 [iterator.range] Some ranges have negative ssize
No 3 4182(i) New 17.2.3 [support.types.nullptr] Definition of NULL
is too broad Yes 3 4183(i) New 25.5.4.1 [range.subrange.general] subrange
should provide data()
Yes 4 4184(i) Tentatively NAD 25.3 [range.access] Domain of ranges::cmeow
doesn't match ranges::meow
No 4185(i) New 29.9.7 [linalg.helpers] Ill-formed, no diagnostic required on runtime behavior No 3 4186(i) WP 28.6.6 [re.traits] regex_traits::transform_primary
mistakenly detects typeid
of a function Yes 4187(i) New 22.9.2 [template.bitset] bitset::reference
should be const-assignable Yes 3 4188(i) WP 31.7.6.2.4 [ostream.sentry] ostream::sentry
destructor should handle exceptions Yes 4189(i) WP 17.3.2 [version.syn] cache_latest_view
should be freestanding Yes 4190(i) New 33.9.2 [exec.snd.expos] Specification of completion-signatures-for in [exec.snd.expos]/p39 is recursive Yes 2 4191(i) WP 29.4.10 [cmplx.over] P1467 changed the return type of pow(complex<float>, int)
Yes 4192(i) New 31.5.2.8 [ios.base.cons] §[ios.base.cons] ios_base
members may not have indeterminate values after construction Yes 3 4193(i) New 30.11.2 [time.zone.db] §[time.zone.db] the specification uses the undefined term "thread-safe" No 3 4194(i) Tentatively NAD 32.5.8.5 [atomics.types.pointer] atomic<void*>
should use generic class template Yes 4195(i) New 22.8.6.4 [expected.object.assign] expected<int, int>
isn't specified to be trivially assignable Yes 2 4196(i) WP 26.8.6 [alg.merge] Complexity of inplace_merge()
is incorrect Yes 4 4197(i) New 22.6.7 [variant.visit] Complexity of std::visit
with immediate functions Yes 2 4198(i) WP 33.9.12.7 [exec.schedule.from] schedule_from
isn't starting the schedule sender if decay-copying results throws Yes 1 4199(i) New 33.9.1 [exec.snd.general] constraints on user customizations of standard sender algorithms are incorrectly specified No 1 4200(i) WP 33.8.1 [exec.opstate.general] The operation_state
concept can be simplified Yes 4201(i) WP 33.9.4 [exec.awaitable] with-await-transform::await_transform
should not use a deduced return type Yes 4202(i) WP 33.9.3 [exec.snd.concepts] enable-sender
should be a variable template Yes 1 4203(i) WP 33.9.12.7 [exec.schedule.from] Constraints on get-state
functions are incorrect Yes 1 4204(i) WP 33.9.12.10 [exec.let] specification of as-sndr2(Sig)
in [exec.let] is incomplete Yes 1 4205(i) WP 33.9.12.10 [exec.let] let_[*].transform_env
is specified in terms of the let_*
sender itself instead of its child Yes 1 4206(i) New 99 [exec.syn] Alias template connect_result_t
should be constrained with sender_to
Yes 1 4207(i) New 17.8.2.2 [support.srcloc.cons] Point of reference for source_location
is not specified when used in an default template argument Yes 4208(i) WP 33.9.10 [exec.connect] Wording needs to ensure that in connect(sndr, rcvr)
that rcvr
expression is only evaluated once Yes 4209(i) WP 33.9.5 [exec.domain.default] default_domain::transform_env
should be returning FWD-ENV(env)
Yes 4210(i) New 25.7.34.3 [range.cache.latest.iterator] Issue with cache_latest_view::iterator
's reference type No 3 4211(i) New 30.11.2.1 [time.zone.db.tzdb] IANA time zone database allows links to refer to links Yes 4212(i) New 29.5.4.5 [rand.eng.philox] Make the round states in [rand.eng.philox] explicit Yes 3 4213(i) New 33.9 [exec.snd] Sender spec depends on unspecified order of evaluation No 4214(i) New 25.7.10.1 [range.take.overview] Missing Preconditions for take
/drop
adaptor Yes 4215(i) New 33.12.1 [exec.run.loop] run_loop::finish
should be noexcept
Yes 2 4216(i) New 28.3.4.3.3.3 [facet.num.put.virtuals] num_put::do_put
and void
pointers Yes 3 4217(i) WP 23.7.3.4.2 [mdspan.layout.reqmts] Clarify mdspan
layout mapping requirements for rank == 0
Yes 4218(i) New 24.5.3.5 [const.iterators.ops] Constraint recursion in basic_const_iterator
's relational operators due to ADL + CWG 2369 Yes 2 4219(i) New 23.3.13.6 [vector.erasure] std::vector::erase[_if]
should be based on ranges remove
Yes 4220(i) New 25.7.14.2 [range.join.view] join_view
incorrectly stores inner range Yes 4221(i) New 28.5.7 [format.range] Cannot format const-iterable only ranges No 4222(i) WP 22.8.6.2 [expected.object.cons] expected
constructor from a single value missing a constraint Yes 4223(i) New 23.4.1 [associative.general] Deduction guides for maps are mishandling tuples and references Yes 4224(i) WP 29.5.4.5 [rand.eng.philox] Philox engines should be freestanding Yes 4225(i) New 23.3.5.3 [deque.capacity] What should happen when an exception is thrown on resizing std::deque
, std::forward_list
, or std::list
? No 4226(i) New 25.7.35 [range.to.input] to_input_view::iterator
cannot be compared to its const
sentinel Yes 2 4227(i) WP 33.9.12.12 [exec.when.all] Missing noexcept
operator in [exec.when.all] Yes 4228(i) Tentatively NAD 23.3.14.1 [vector.bool.pspc] Does vector<bool, Allocator>
mandate that Allocator::value_type
is bool
? No 4229(i) New 25.5.7.2 [range.utility.conv.to] std::ranges::to
with union return type Yes 4230(i) New 29.10.8.4 [simd.complex.access] simd<complex>::real/imag
is overconstrained Yes 2 4231(i) WP 29.10.3 [simd.syn] datapar::chunk<N>
should use simd-size-type
instead of size_t
Yes 4232(i) WP 29.10.4 [simd.traits] datapar::resize
does not resize Yes 4233(i) WP 23.3.9.6 [hive.erasure] The helper lambda of std::erase
for hive
should specify return type as bool
Yes 4234(i) WP 24.7 [iterator.range] Including <hive>
doesn't provide std::begin/end
Yes 4235(i) WP 25.7.34.2 [range.cache.latest.view] cache_latest_view
and to_input_view
miss reserve_hint
Yes 2 4236(i) WP 25.7.29.4 [range.chunk.outer.value] chunk_view::outer-iterator::value_type
should provide reserve_hint
Yes 4237(i) New 24.5.3.3 [const.iterators.iterator] The standard library iterator adaptor does not handle iterator_category
correctly No 3 4238(i) New 29.10.9.4 [simd.mask.unary] simd_mask<complex<double>>::operator+/-/~
return a disabled simd
specialization Yes 1 4239(i) WP 23.6.8.7 [flat.map.modifiers] flat_map
's transparent comparator no longer works for string literals Yes 4240(i) New 28.5.6.3 [format.formattable] The formattable type is not a formattable
type Yes 2 4241(i) New 26.6.5 [alg.foreach] ranges::for_each(_n)
should be less constrained Yes 4242(i) WP 24.4.4.3 [range.iter.op.distance] ranges::distance
does not work with volatile iterators Yes 4243(i) Ready 23.7.2.3 [span.objectrep] as_bytes
/as_writable_bytes
is broken with span<volatile T>
Yes 4 4244(i) New 32.5.7.2 [atomics.ref.ops] Whether the spuriously failed comparison applies to compare_exchange_strong
is unclear No 4245(i) WP 24.5.7.1 [counted.iterator] Operators that interact with counted_iterator
and default_sentinel_t
should be noexcept
Yes 4246(i) Tentatively NAD 28.5.7.2 [format.range.formatter] Redundant constraint in range_formatter::format
Yes 4247(i) WP 22.12 [stdbit.h.syn] Header <stdbit.h>
is not yet freestanding Yes 4248(i) New 33.9.2 [exec.snd.expos] Late domain-based dispatching of schedule_from
and continues_on
are flipped Yes 1 4249(i) New 25.7.16.3 [range.lazy.split.outer] The past end issue for lazy_split_view
Yes 4250(i) New 20.4.1.7 [indirect.swap] swap
overloads for indirect
and polymorphic
only found by ADL Yes 4251(i) New 99 [indirect.asgn] Move assignment for indirect
unnecessarily requires copy construction Yes 1 4252(i) New 16.4.6.13 [derivation] Are exposition-only classes considered specified for the purpose of final
? Yes 4253(i) Tentatively Ready 24.5.3.3 [const.iterators.iterator] basic_const_iterator
should provide iterator_type
Yes 4254(i) New 25.7.32.3 [range.stride.iterator] stride_view::iterator
should provide operator->
Yes 4255(i) New 22.10.17.4.3 [func.wrap.move.ctor] move_only_function
constructor should recognize empty copyable_function
s Yes 4256(i) New 22.10.17.6.3 [func.wrap.ref.ctor] Incorrect constrains for function_ref
constructors from nontype_t
Yes 4257(i) New 30.7.9 [time.clock.local] Stream insertion for chrono::local_time
should be constrained Yes 4258(i) New 16.4.4.6.1 [allocator.requirements.general] Size type mismatch in constraints involving Cpp17Allocator No 4259(i) New 27.4.3.8.2 [string.find] P1148R0 changed the return values of searching functions of std::basic_string
on some platforms Yes 4260(i) New 33.2.1 [exec.queryable.general] Query objects must be default constructible Yes 4261(i) New 27.4.3.8.2 [string.find] P1206R7 broke uses of container adaptors with old custom sequence containers No 4262(i) New 26.7.1 [alg.copy] copy_if
, remove_copy
, remove_copy_if
, unique_copy
have too strong preconditions Yes 4263(i) New 28.5 [format] What should std::format_to
etc. behave when the output is overlong? No 4264(i) New 22.10.17.1 [func.wrap.general] Skipping indirection is not allowed for function_ref
Yes 4265(i) New 26.10.16 [numeric.ops.midpoint] std::midpoint
should not accept const bool
Yes 4266(i) Tentatively Ready 23.7.3.4.7 [mdspan.layout.stride] layout_stride::mapping
should treat empty mappings as exhaustive Yes 4267(i) New 22.4.4.2 [tuple.cnstr] Uses-allocator construction is meaningless for tuple of references Yes 4268(i) New 22.10.4 [func.require] function<void()>
suppresses nodiscard
warnings No 4269(i) New 26.7.9 [alg.unique] unique_copy
passes arguments to its predicate backwards Yes 4270(i) New 24.3.6.4 [projected] Diagnose misuse of std::projected::operator*
Yes 4271(i) New 24.3.1 [iterator.requirements.general] Caching range views claim amortized amortized 𝒪(1) runtime complexity for algorithms that are in fact 𝒪(n) Yes 4272(i) New 23.7.3.4 [mdspan.layout] For rank == 0
, layout_stride
is atypically convertible Yes 2 4273(i) New 26.3.6 [execpol] Standard execution policy types should be conventional tag class types Yes 4274(i) Tentatively Ready 30.9.2 [time.hms.members] The chrono::hh_mm_ss
constructor is ill-formed for unsigned durations Yes 4275(i) New 23.7.3.2 [mdspan.syn] std::dynamic_extent
should also be defined in <mdspan>
Yes 4276(i) New 23.3.3.5 [array.zero] front()
and back()
are not hardened for zero-length std::array
s Yes 4277(i) New 26.2 [algorithms.requirements] §[algorithms.requirements] It is unclear what an algorithm is Yes 4278(i) New 33.9.2 [exec.snd.expos] Consider changing how get-domain-early(sndr)
works No 4279(i) New 31.12.13.2 [fs.op.absolute] §[fs.op.absolute] Non-normative encouragement should be Recommended practice No 4280(i) New 29.10.8.7 [simd.loadstore] simd::partial_load
uses undefined identifier T
Yes 4281(i) New 22.5.3.7 [optional.observe] Inconsistency between value_or()
and error_or()
in std::expected
No 4282(i) New 20.2.6 [obj.lifetime] Imprecise Throws: clause in std::relocate
Yes 4283(i) New 20.2.6 [obj.lifetime] std::trivially_relocate
needs stronger preconditions on "nested" objects with dynamic lifetime Yes 4284(i) New 28.5.6.4 [format.formatter.spec] Integer-class types should be formattable Yes 4285(i) New 28.3.4.6.2.2 [locale.time.get.members] time_get::do_get_date
is problematic even after LWG 461 No 4286(i) New 17.3.2 [version.syn] Some more feature-test macros for fully freestanding features are not marked freestanding Yes 4287(i) New 28.3.4.2.5.3 [locale.codecvt.virtuals] §[locale.codecvt.virtuals] do_in
and do_out
could do with better specification Yes 4288(i) New 30.7.2.2 [time.clock.system.members] The Constraints: element in [time.clock.system.members] is probably wrong Yes 4289(i) New 29.5.3.2 [rand.req.seedseq] Seed sequence is overspecified Yes 4290(i) New 20.2.5 [ptr.align] Missing Mandates clauses on is_sufficiently_aligned
Yes 4291(i) New 23.4.3.1 [map.overview] explicit map(const Allocator&)
should be constexpr
Yes 4292(i) New 23.5.3.1 [unord.map.overview] Unordered container local iterators should be constexpr iterators Yes 4293(i) New 23.7.2.2.4 [span.sub] span::subspan/first/last chooses wrong constructor when T is const-qualified bool Yes 4294(i) New 22.9.2.2 [bitset.cons] bitset(const CharT*)
constructor needs to be constrained Yes 4295(i) New 8.2.6 [fund.ts.v3::memory.observer.ptr.special] [fund.ts.v3] experimental::observer_ptr
should have more constexpr Yes 4296(i) New 16.4.4.5 [hash.requirements] Clarify that Cpp17Hash does not imply stateless No 4297(i) New 26.4 [algorithm.syn] Missing permutable
constraint for iterator overloads in Parallel Range Algorithms Yes 4298(i) New 21.4.12 [meta.reflection.extract] §[meta.reflection.extract] Malformed "F noexcept
" type Yes 4299(i) New 22.5.4.7 [optional.ref.monadic] Missing Mandates: part in optional<T&>::transform
Yes 4300(i) New 22.5.4.3 [optional.ref.assign] Missing Returns: element in optional<T&>::emplace
Yes 4301(i) New 32.7.4 [thread.condition.condvar] condition_variable{_any}::wait_{for, until}
should take timeout by value Yes 4302(i) New 29.9.13.8 [linalg.algs.blas1.ssq] Problematic vector_sum_of_squares
wording Yes 4303(i) New 24.4.4.3 [range.iter.op.distance] std::decay_t
in the specification of ranges::distance
is problematic Yes 4304(i) New 22.5.4.6 [optional.ref.observe] std::optional<NonReturnable&>
is ill-formed due to value_or
Yes 4305(i) New 17.12.7 [compare.type] Missing user requirements on type_order
template Yes 4306(i) New 16.4.6.5 [member.functions] Interaction between LWG 2259 and Constraints of member functions No 4307(i) New 25.2 [ranges.syn] Make good use of sized-random-access-range
and bidirectional-common
in <ranges>
Yes 4308(i) New 22.5.4.5 [optional.ref.iterators] std::optional<T&>::iterator
can't be a contiguous iterator for some T
Yes 4309(i) New 32.5.4 [atomics.order] How are two seq_cst
operations ordered in the single total order if these two operations are unsequenced? No 4310(i) New 32.4.3.3 [thread.thread.constr] Is "the completion of the invocation of the constructor" considered as an expression? No 4311(i) New 20.5.3.3 [mem.poly.allocator.mem] Can std::pmr::polymorphic_allocator::construct
just call std::uninitialized_construct_using_allocator
? Yes 4312(i) New 20.2.8.2 [allocator.uses.construction] Const and value category mismatch for allocator_arg_t
/allocator_arg
in the description of uses-allocator construction Yes 4313(i) New 22.4.4.2 [tuple.cnstr] Uses-allocator construction of pair
in tuple
's allocator_arg_t
constructors Yes 4314(i) New 23.7.3.4 [mdspan.layout] Missing move in mdspan
layout mapping::operator()
Yes 4315(i) New 29.9.13.9 [linalg.algs.blas1.nrm2] Insufficient specification of vector_two_norm
and matrix_frob_norm
No 4316(i) New 21.4.13 [meta.reflection.substitute] {can_}substitute
specification is ill-formed No
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4