C++ Standard Library Issues List (Revision R116)

Index by Status and Date

Reference ISO/IEC IS 14882:2011(E)

This document is the Index by Status and Date for the Library Active Issues List, Library Defect Reports and Accepted Issues, and Library Closed Issues List.

Revised 2019-06-17 at 05:09:46 UTC

Ready (6 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2899 Ready 20.5 [tuple] is_(nothrow_)move_constructible and tuple, optional and unique_ptr Yes 2
3158 Ready 20.5.3.1 [tuple.cnstr] tuple(allocator_arg_t, const Alloc&) should be conditionally explicit Yes 3
3187 Ready 20.10.8.2 [allocator.uses.construction] P0591R4 reverted DR 2586 fixes to scoped_allocator_adaptor::construct() Yes
3186 Ready 25.6.8 [alg.remove] ranges removal, partition, and partial_sort_copy algorithms discard useful information Yes 1
3169 Ready 25.7.12 [alg.permutation.generators] ranges permutation generators discard useful information Yes 0
3055 Ready 29.11.7.4.4 [fs.path.concat] path::operator+=(single-character) misspecified Yes 3

Tentatively Ready (11 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3196 Tentatively Ready 20.6.3 [optional.optional] std::optional<T> is ill-formed is T is an array Yes 0
3199 Tentatively Ready 20.9.4 [bitset.operators] istream >> bitset<0> fails Yes
3202 Tentatively Ready 20.14.1 [functional.syn] P0318R1 was supposed to be revised Yes 0
3198 Tentatively Ready 22.7.3.2 [span.cons] Bad constraint on std::span::span() Yes
3208 Tentatively Ready 23.7 [iterator.range] Boolean's expression requirements are ordered inconsistently Yes 0
3191 Tentatively Ready 25.6.13 [alg.random.shuffle] std::ranges::shuffle synopsis does not match algorithm definition Yes 1
3209 Tentatively Ready 27.8.5.2 [time.cal.year.members] Expression in year::ok() returns clause is ill-formed Yes 0
3206 Tentatively Ready 27.8.14.2 [time.cal.ymd.members] year_month_day conversion to sys_days uses not-existing member function Yes 0
3185 Tentatively Ready 20.10.8.2 [allocator.uses.construction] Uses-allocator construction functions missing constexpr and noexcept Yes 0
3183 Tentatively Ready 23.3.4.8 [iterator.concept.sizedsentinel] Normative permission to specialize Ranges variable templates Yes 0
3184 Tentatively Ready 99 [func.bind_front] Inconsistencies in bind_front wording Yes 0

Tentatively NAD (1 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3207 Tentatively NAD 23.7 [iterator.range] N in ssize(const T (&)[N]) should be size_t Yes

New (178 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3217 New 17.3.1 [support.limits.general] <memory> and <execution> should define __cpp_lib_parallel_algorithm Yes
2766 New 20.4.3 [pairs.spec] Swapping non-swappable types Yes 3
3211 New 20.5.3.1 [tuple.cnstr] std::tuple<> should be trivially constructible Yes
3215 New 20.7.3.1 [variant.ctor] variant default constructor has vague constexpr requirements Yes
3210 New 20.11.3.6 [util.smartptr.shared.create] allocate_shared is inconsistent about removing const from the pointer passed to allocator construct and destroy Yes 3
3216 New 20.11.3.6 [util.smartptr.shared.create] Rebinding the allocator before calling construct/destroy in allocate_shared Yes
3195 New 20.11.4.1 [util.smartptr.weak.const] What is the stored pointer value of an empty weak_ptr? Yes 2
3023 New 20.14.15 [func.memfn] Clarify unspecified call wrappers No 3
3205 New 20.15.7.6 [meta.trans.other] decay_t in the new common_type fallback should be remove_cvref_t Yes 3
3219 New 22.3.7.1 [array.overview] std::array overview container requirements are incorrect Yes
3203 New 22.7.3.1 [span.overview] span element access invalidation Yes 2
3212 New 22.7.3.8 [span.tuple] tuple_element_t<1, const span<int, 42>> is const int Yes
3197 New 23.4.2 [iterator.operations] std::prev should not require BidirectionalIterator Yes 3
3213 New 25.5.4 [alg.foreach] for_each_n and copy_n missing requirements for Size Yes
3200 New 25.9.15 [numeric.ops.midpoint] midpoint should not constrain T is complete Yes 2
3201 New 26.8.4 [c.math.lerp] lerp should be marked as noexcept Yes
3221 New 27.8.13.3 [time.cal.ym.nonmembers] Result of year_month arithmetic with months is ambiguous Yes
3218 New 27.12 [time.parse] Modifier for %d parse flag does not match POSIX and format specification Yes
3214 New 28.4.2.1.2 [facet.num.get.virtuals] §[facet.num.get.virtuals] doesn't say what it means for digit grouping to be consistent No
2675 New 29.5.3.6 [ios.base.callback] register_callback can fail No 3
3204 New 30.9 [re.submatch] sub_match::swap only swaps the base class Yes 3
3220 New 31.2 [atomics.syn] P0558 broke conforming C++14 uses of atomic shared_ptr Yes
3047 New 31.7.2 [atomics.types.int] atomic compound assignment operators can cause undefined behavior when corresponding fetch_meow members don't Yes 3
2959 New 21.2.3.3 [char.traits.specializations.char16.t] char_traits<char16_t>::eof is a valid UTF-16 code unit No 3
3078 New 29.11.11 [fs.class.directory.entry] directory_entry, directory_iterator and recursive_directory_iterator perform needless path copies No 3
3056 New 29.11.14.4 [fs.op.copy.file] copy_file() copies which attributes? Yes 3
3193 New 16.4.1.4 [structure.specifications] Mandates: and Expects: elements are not defined for types Yes 3
3194 New 18.4.4 [concept.convertibleto] ConvertibleTo prose does not match code No 1
3192 New 20.10.8.2 [allocator.uses.construction] §[allocator.uses.construction] functions misbehave for const types Yes 3
3190 New 20.10.10.1 [allocator.members] std::allocator::allocate sometimes returns too little storage Yes 3
3046 New 20.14.5 [refwrap] Do not require reference_wrapper to support non-referenceable function types Yes 3
3174 New 20.15.6 [meta.rel] Precondition on is_convertible is too strong Yes 3
2743 New 22.2.4.1 [container.node.overview] p0083r3 node_handle private members missing "exposition only" comment Yes 3
3189 New 22.6.5 [priority.queue] Missing requirement for std::priority_queue No 3
3188 New 23.6.3 [istreambuf.iterator] istreambuf_iterator::pointer should not be unspecified Yes 3
2846 New 26.4.9 [cmplx.over] Undefined phrase "effectively cast" Yes 3
2497 New 29.7.5.1.3 [ostream.sentry] Use of uncaught_exception() Yes 3
2191 New 30.10.1 [re.results.const] Incorrect specification of match_results(match_results&&) Yes 4
3170 New 20.10.10 [default.allocator] is_always_equal added to std::allocator makes the standard library treat derived types as always equal Yes 2
3157 New 16.5.3.5 [allocator.requirements] Allocator destroy and fancy pointer operations must be non-throwing Yes 3
3177 New 16.5.4.2.1 [namespace.std] Limit permission to specialize variable templates to program-defined types Yes 3
3151 New 18.4.4 [concept.convertibleto] ConvertibleTo rejects conversions from array and function types Yes 3
3175 New 18.4.9 [concept.swappable] The CommonReference requirement of concept SwappableWith is not satisfied in the example Yes
3156 New 20.10.11 [specialized.algorithms] ForwardIterator should only mean forward iterator Yes 3
3143 New 20.12.6 [mem.res.monotonic.buffer] monotonic_buffer_resource growth policy is unclear No 2
3152 New 20.15.7.6 [meta.trans.other] common_type and common_reference have flaws in common Yes 3
3176 New 22.2.7 [unord.req] Underspecified behavior of unordered containers when Container::key_equal differs from Pred No 2
3060 New 25.9.7 [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
2154 New 26.6.2.3 [rand.req.urng] What exactly does compile-time complexity imply? No 4
3150 New 26.6.2.3 [rand.req.urng] UniformRandomBitGenerator should validate min and max Yes 3
3172 New 26.8.3 [c.math.hypot3] 3-arg std::hypot is underspecified compared to the 2-arg overload Yes 3
3070 New 29.11.7.4.11 [fs.path.gen] path::lexically_relative causes surprising results if a filename can also be a root-name Yes 2
3073 New 17 [networking.ts::buffer.stream] [networking.ts] (async_)read and (async_)write don't support DynamicBuffer lvalues Yes 3
3142 New 16.5.4.8 [res.on.functions] std::foo<incomplete> should be ill-formed NDR Yes 3
3139 New 17.8.2 [support.contract.cviol] contract_violation's special member functions No 1
3141 New 18.6 [concepts.object] CopyConstructible doesn't preserve source values Yes 2
3166 New 20.4.4 [pair.astuple] No such descriptive element as Value: No 3
3167 New 5.2 [fund.ts.v3::memory.observer.ptr] [fund.ts.v3] Does observer_ptr support function types? No 3
2248 New 17.3.4 [numeric.limits] numeric_limits::is_iec559 misnamed No 4
2714 New 26.4.6 [complex.ops] complex stream extraction underspecified Yes 3
3162 New 19.5.7.2 [syserr.syserr.members] system_error::system_error(error_code ec) not explicit Yes
3159 New 20.11.1.2 [unique.ptr.single] §[unique.ptr.single] requirements on deleter may be too strict No 3
3044 New 16.5.3.5 [allocator.requirements] Strange specification of max_size() for an allocator Yes 3
3146 New 20.14.5.5 [refwrap.helpers] Excessive unwrapping in std::ref/cref Yes 3
2939 New 20.15.2 [meta.type.synop] Some type-completeness constraints of traits are overspecified No 2
3099 New 20.15.2 [meta.type.synop] is_assignable<Incomplete&, Incomplete&> Yes
3123 New 27.5 [time.duration] duration constructor from representation shouldn't be effectively non-throwing Yes 3
3126 New 30.9 [re.submatch] There's no std::sub_match::compare(string_view) overload Yes 3
3136 New 3.2.2.2.1 [fund.ts.v3::propagate_const.class_type_requirements] [fund.ts.v3] LFTSv3 awkward wording in propagate_const requirements Yes 3
3135 New 3.3.1 [fund.ts.v3::meta.type.synop] [fund.ts.v3] LFTSv3 contains two redundant alias templates No 3
3124 New 13.7.5 [networking.ts::async.exec.ctx.globals] [networking.ts] Unclear how execution_context is intended to store services Yes 3
3118 New 29.5.4.2 [fpos.operations] fpos equality comparison unspecified No 4
3117 New 32.6.10 [futures.task] Missing packaged_task deduction guides Yes 3
3069 New 20.7.3.3 [variant.assign] Move assigning variant's subobject corrupts data Yes 3
3105 New 16 [library] T1 is convertible to T2 No 3
3086 New 17.6.2.1 [new.delete.single] Possible problem in §[new.delete.single] Yes 3
3053 New 19.5.3.1 [syserr.errcode.overview] Prohibit error_code construction from rvalues of error_category Yes 3
3088 New 22.3.9.6 [forwardlist.ops] forward_list::merge behavior unclear when passed *this Yes 3
3110 New 23.3.1 [iterator.requirements.general] Contiguous Iterators should always be Random-Access Yes 3
3107 New 23.6.3 [istreambuf.iterator] istreambuf_iterator has public exposition-only member Yes 4
3108 New 23.6.3.1 [istreambuf.iterator.proxy] istreambuf_iterator::proxy::operator* should be const Yes 3
3089 New 25.6.1 [alg.copy] copy_n should require non-overlapping ranges Yes 3
3093 New 26.8.2 [c.math.abs] LWG 2294/2192 missed a std::abs overload No 3
3066 New 26.8.6 [sf.cmath] "report a domain error" in [sf.cmath]/1 is underspecified No 3
3090 New 27.5.1 [time.duration.cons] What is §[time.duration.cons]p4's "no overflow is induced in the conversion" intended to mean? No 3
3098 New 29.11.7.4.9 [fs.path.decompose] Misleading example for filesystem::path::filename() Yes 3
3109 New D.8.2 [depr.strstreambuf] strstreambuf is copyable No 4
3095 New D.8.2.3 [depr.strstreambuf.virtuals] strstreambuf refers to nonexistent member of fpos, fpos::offset Yes 4
3072 New 16.2.4 [networking.ts::buffer.reqmts.dynamicbuffer] [networking.ts] DynamicBuffer object lifetimes underspecified Yes 3
3084 New 17.5 [support.start.term] Termination in C++ is unclear No 3
3091 New 27.9.5 [time.tod.subsecond] subsecond-precision time_of_day and durations that seconds cannot convert to No 2
3097 New 29.8.2.4 [stringbuf.virtuals] basic_stringbuf seekoff effects trigger undefined behavior and have contradictory returns No 3
3063 New 20.10.11 [specialized.algorithms] Parallel algorithms in <memory> are underspecified No 3
3064 New 20.10.11 [specialized.algorithms] How do uninitialized memory algorithms obtain pointer without undefined behavior? No 3
3059 New 22.2 [container.requirements] Wrong requirements for map-like associative container assignment? No 3
2703 New 28.4.2.2.2 [facet.num.put.virtuals] No provision for fill-padding when boolalpha is set No 3
2352 New 26.6.7.1 [rand.util.seedseq] Is a default-constructed std::seed_seq intended to produce a predictable .generate()? No 2
2947 New 29.11.9.1 [fs.enum.path.format] Clarify several filesystem terms No 3
3028 New 22.2.1 [container.requirements.general] Container requirements tables should distinguish const and non-const variables Yes 3
3019 New 19.5.2.4 [syserr.errcat.derived] Presentation of "program defined classes derived from error_category" [syserr.errcat.derived] unclear and contains mistakes No 3
3018 New 20.11.3 [util.smartptr.shared] shared_ptr of function type Yes 3
3032 New 25.7.7 [alg.heap.operations] ValueSwappable requirement missing for push_heap and make_heap Yes 3
3006 New 29.8.2.1 [stringbuf.cons] Constructing a basic_stringbuf from a string — where does the allocator come from? No 3
3021 New 16.2.2 [networking.ts::buffer.reqmts.constbuffersequence] [networking.ts] Relax pointer equivalence requirement for ConstBufferSequence Yes 3
3027 New 16.2.4 [networking.ts::buffer.reqmts.dynamicbuffer] [networking.ts] DynamicBuffer prepare exception specification Yes 3
2751 New 20.11.3.2 [util.smartptr.shared.dest] shared_ptr deleter not specified to observe expired weak_ptr instances No 4
2713 New 22.5 [unord] More missing allocator-extended constructors for unordered containers Yes 3
2949 New 16 [library] Unclear complexity requirements: space vs. time No 4
2881 New 20.7.3 [variant.variant] Adopt section III of P0308R0 No 3
2906 New 20.11.3.1 [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
2957 New 20.14.14.3 [func.bind.bind] bind's specification doesn't apply the cv-qualification of the call wrapper to the callable object Yes 3
2997 New 22.3.10.5 [list.ops] LWG 491 and the specification of {forward_,}list::unique Yes 3
2963 New 25 [algorithms] Algorithms with underspecified iterator requirements No 3
2923 New 26.8.1 [cmath.syn] noexcept is inconsistently applied across headers which import components of the C standard library No 4
2983 New 28.4.6.2.2 [locale.money.put.virtuals] money_put::do_put underspecified Yes 3
2984 New 29.7.7 [ext.manip] put_money(99) is unnecessarily undefined Yes 3
2986 New 30.13 [re.grammar] Handling of multi-character collating elements by the regex FSM is underspecified No 4
2987 New 30.13 [re.grammar] Relationship between traits_inst.lookup_collatename and the regex FSM is underspecified with regards to ClassAtomCollatingElement No 3
2933 New 20.5.3.4 [tuple.creation] PR for LWG 2773 could be clearer Yes 3
2392 New 16.3.17 [defns.ntcts] "character type" is used but not defined No 3
2815 New 17.5 [support.start.term] quick_exit can deadlock Yes 3
2507 New D.14 [depr.locale.stdcvt] codecvt_mode should be a bitmask type No 3
2478 New D.15.1 [depr.conversions.string] Unclear how wstring_convert uses cvtstate No 4
2481 New D.15.1 [depr.conversions.string] wstring_convert should be more precise regarding "byte-error string" etc. No 4
2479 New D.15.2 [depr.conversions.buffer] Unclear how wbuffer_convert uses cvtstate No 4
2480 New D.15.2 [depr.conversions.buffer] Error handling of wbuffer_convert unclear No 4
2858 New 23.5.1 [reverse.iterators] LWG 2472: actually an incompatibility with C++03 Yes 4
2528 New 20.5.3.1 [tuple.cnstr] Order of std::tuple construction unspecified No 3
2818 New 16.5.1.1 [contents] "::std::" everywhere rule needs tweaking No 2
2461 New 16.5.3.5 [allocator.requirements] Interaction between allocators and container exception safety guarantees No 3
2695 New 16.5.5.5 [member.functions] "As if" unclear in [member.functions] No 3
2737 New 17.6.2.1 [new.delete.single] Consider relaxing object size restrictions for single-object allocation functions No 3
2303 New 17.6.2.3 [new.delete.placement] Explicit instantiation of std::vector<UserType> broken? No 3
2508 New 17.6.2.4 [new.delete.dataraces] §[new.delete.dataraces] wording needs to be updated No 3
2453 New 17.10 [support.initlist] §[iterator.range] and now [iterator.container] aren't available via <initializer_list> No 3
2493 New 17.10 [support.initlist] initializer_list supports incomplete classes No 4
2413 New 19.3 [assertions] assert macro is overconstrained No 4
2599 New 20.2.6 [declval] Library incomplete type permission phrase is unclear No 3
2472 New 20.5.3.8 [tuple.rel] Heterogeneous comparisons in the standard library can result in ambiguities No 3
2746 New 20.6.3 [optional.optional] Inconsistency between requirements for emplace between optional and variant No 3
2811 New 20.6.3.1 [optional.ctor] "Selected constructor" wording is incorrect for optional/variant/any No 3
2421 New 20.10.6 [ptr.align] Non-specification of handling zero size in std::align [ptr.align] No 3
2594 New 20.11.3 [util.smartptr.shared] Contradicting definition of empty shared_ptr on shared_ptr(nullptr, d) Yes 3
2848 New 20.12.5.2 [mem.res.pool.options] Pass-through threshold for pool allocator No 3
2491 New 20.14.7 [comparisons] std::less<T*> in constant expression Yes 3
2547 New 20.14.7 [comparisons] Container requirements (and other library text) should say "strict total order", not just "total order" No 3
2774 New 20.14.16.2.1 [func.wrap.func.con] std::function construction vs assignment No 3
2845 New 20.15.1 [meta.rqmts] enable_if, result_of, common_type and aligned_storage do not meet the definition of TransformationTrait No 3
2496 New 20.15.4.3 [meta.unary.prop] Certain hard-to-avoid errors not in the immediate context are not allowed to be triggered by the evaluation of type traits No 3
2827 New 20.15.4.3 [meta.unary.prop] is_trivially_constructible and non-trivial destructors No 3
2513 New 21.1 [strings.general] Missing requirements for basic_string::value_type No 4
2237 New 21.5 [c.strings] <cuchar> macros No 4
2269 New 22.2.1 [container.requirements.general] Container iterators and argument-dependent lookup No 4
2705 New 22.2.3 [sequence.reqmts] Questionable precondition on Sequence containers a.assign(n, t) Yes 3
2362 New 22.2.6 [associative.reqmts] unique, associative emplace() should not move/copy the mapped_type constructor arguments when no insertion happens No 3
2844 New 22.2.6 [associative.reqmts] Stability of a_uniq.insert(i, j) No 3
2335 New 22.3.7 [array] array<array<int, 3>, 4> should be layout-compatible with int[4][3] No 3
2375 New 23.3.1 [iterator.requirements.general] Is [iterator.requirements.general]/9 too broadly applied? No 3
2595 New 23.5.1.1 [reverse.iterator] reverse_iterator::operator[]'s return type revisited Yes 3
2366 New 23.6.3 [istreambuf.iterator] istreambuf_iterator end-of-stream equality No 3
2457 New 23.7 [iterator.range] std::begin() and std::end() do not support multi-dimensional arrays correctly No 3
2267 New 25.7.1.4 [partial.sort.copy] partial_sort_copy underspecified for ranges of two different types No 3
2423 New 26.7.5 [template.slice.array] Missing specification slice_array, gslice_array, mask_array, indirect_array copy constructor Yes 4
2847 New 26.8.1 [cmath.syn] sin(float) should call sinf(float) No 3
2592 New 27.2 [time.syn] Require that chrono::duration_casts from smaller durations to larger durations do not overflow Yes 4
2295 New 28.3.1.2 [locale.cons] Locale name when the provided Facet is a nullptr No 3
2702 New 28.4.2.2.2 [facet.num.put.virtuals] num_put::do_put(..., bool) performs ill-formed do_put call No 3
2691 New 28.4.6.3 [locale.moneypunct] money_base::space and do_put: U+0020 versus fill Yes 3
2504 New 29.6.3 [streambuf] basic_streambuf is not an abstract class No 3
2498 New 29.7.4.5 [istream.rvalue] operator>>(basic_istream&&, T&&) returns basic_istream&, but should probably return basic_istream&& No 3
2342 New 29.7.5.1 [ostream] User conversion to wchar_t const* or to wchar_t not invoked for operator<< Yes 4
2490 New 30 [re] <regex> needs lots of noexcept No 3
2431 New 30.3 [re.req] Missing regular expression traits requirements No 3
2216 New 30.11.4 [re.alg.replace] regex_replace(basic_string) allocator handling No 3
2546 New 30.13 [re.grammar] Implementability of locale-sensitive UnicodeEscapeSequence matching No 4
2819 New 32.2.5 [thread.req.lockable] Unspecified Return type: elements No 3
2564 New 4.2 [fund.ts.v2::func.wrap.func] [fund.ts.v2] std::experimental::function constructors taking allocator arguments may throw exceptions Yes 3
2561 New 5.3.4 [fund.ts.v2::optional.object.swap] [fund.ts.v2] Incorrect exception specifications for 'swap' in C++ Extensions for Library Fundamentals No 3

Open (92 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2227 Open 22.2.6 [associative.reqmts] Stateful comparison objects in associative containers No 3
3003 Open 32.6.6 [futures.promise] <future> still has type-erased allocators in promise Yes 2
3171 Open 29.11.11 [fs.class.directory.entry] LWG 2989 breaks directory_entry stream insertion Yes 2
2195 Open 30.10 [re.results] Missing constructors for match_results Yes 3
2820 Open 17.4 [cstdint] Clarify <cstdint> macros Yes 3
2206 Open 22.2.3 [sequence.reqmts] Inaccuracy in initializer_list constructor requirements Yes 3
1175 Open 22.2.7 [unord.req] unordered complexity Yes 3
1238 Open 25 [algorithms] Defining algorithms taking iterator for range No 3
2741 Open 25.7.4 [alg.partitions] is_partitioned requirements need updating No 3
1203 Open 29.7.5.5 [ostream.rvalue] More useful rvalue stream insertion Yes 2
3168 Open 16.4.1.4 [structure.specifications] Expects: element should be specified in one place Yes 2
3036 Open 20.12.3 [mem.poly.allocator.class] polymorphic_allocator::destroy is extraneous Yes 3
3161 Open 22.6.6 [stack] Container adapters mandate use of emplace_back but don't require it Yes
3149 Open 18.4.12 [concept.defaultconstructible] DefaultConstructible should require default initialization Yes 2
3155 Open 20.5.3.1 [tuple.cnstr] tuple<any, any>{allocator_arg_t, an_allocator} Yes 3
1521 Open 22.2.1 [container.requirements.general] Requirements on internal pointer representations in containers Yes 3
2157 Open 22.3.7.5 [array.zero] How does std::array<T,0> initialization work when T is not default-constructible? Yes 3
3050 Open 27.5.1 [time.duration.cons] Conversion specification problem in chrono::duration constructor Yes 3
423 Open 29 [input.output] Effects of negative streamsize in iostreams Yes 3
2931 Open 23.4.2 [iterator.operations] Missed optimization opportunity with single-argument std::next No 3
2860 Open 17.6.4 [ptr.launder] launder and base class subobjects Yes 2
2994 Open 21.2 [char.traits] Needless UB for basic_string and basic_string_view Yes 3
3103 Open 22.7.3.3 [span.sub] Errors in taking subview of span should be ill-formed where possible Yes 3
3057 Open 29.11.14.3 [fs.op.copy] Correct copy_options handling Yes 2
2859 Open 17.6.4 [ptr.launder] Definition of reachable in [ptr.launder] misses pointer arithmetic from pointer-interconvertible object Yes 2
2730 Open 17.3.4 [numeric.limits] numeric_limits primary template definition No 3
3121 Open 20.5.3.1 [tuple.cnstr] tuple constructor constraints for UTypes&&... overloads Yes 2
2116 Open 20.15.4.3 [meta.unary.prop] is_nothrow_constructible and destructors No 3
2962 Open 23.3.5.2 [input.iterators] Iterators of Containers of move-only types do not model InputIterator Yes 2
3061 Open 25.7.11 [alg.3way] What is the return type of compare_3way? Yes 2
3092 Open 16.4.2.2.4 [bitmask.types] Unclear semantics of enum class bitmask types Yes 2
2839 Open 16.5.5.15 [lib.types.movedfrom] Self-move-assignment of library types, again Yes 2
3011 Open 19.3 [assertions] Requirements for assert(E) inconsistent with C No 2
2833 Open 20.7.3.1 [variant.ctor] Library needs to specify what it means when it declares a function constexpr Yes 2
3120 Open 20.12.6.2 [mem.res.monotonic.buffer.mem] Unclear behavior of monotonic_buffer_resource::release() Yes 2
3081 Open 20.19.3 [charconv.from.chars] Floating point from_chars API does not distinguish between overflow and underflow Yes 2
3082 Open 20.19.3 [charconv.from.chars] from_chars specification regarding floating point rounding is inconsistent Yes 2
3085 Open 21.2.1 [char.traits.require] char_traits::copy precondition too weak Yes 2
2321 Open 22.2.1 [container.requirements.general] Moving containers should (usually) be required to preserve iterators Yes 3
2158 Open 22.3.11.3 [vector.capacity] Conditional copy/move in std::vector Yes 3
2524 Open 26.6.8.4.2 [rand.dist.pois.exp] generate_canonical can occasionally return 1.0 No 2
3125 Open 27.5.10 [time.duration.io] duration streaming precondition should be a SFINAE condition Yes 2
2381 Open 28.4.2.1.2 [facet.num.get.virtuals] Inconsistency in parsing floating point numbers Yes 2
2708 Open 29.11.13.1 [fs.rec.dir.itr.members] recursive_directory_iterator::recursion_pending() is incorrectly specified Yes 2
2220 Open 30.12.2.2 [re.tokiter.comp] Under-specification of operator== for regex_token_iterator Yes 3
2363 Open 32.4.3.5.1 [thread.sharedtimedmutex.class] Defect in 30.4.1.4.1 [thread.sharedtimedmutex.class] Yes 2
2762 Open 20.11.1.2.4 [unique.ptr.single.observers] unique_ptr operator*() should be noexcept Yes 3
523 Open 30 [re] regex case-insensitive character ranges are unimplementable as specified No
1396 Open 30.8 [re.regex] regex should support allocators No 1451
2471 Open 25.6.1 [alg.copy] copy_n's number of InputIterator increments unspecified No 3
2146 Open 16.5.3.1 [utility.arg.requirements] Are reference types Copy/Move-Constructible/Assignable or Destructible? No 2
2829 Open 20.6.3.5 [optional.observe] LWG 2740 leaves behind vacuous words No 2
2173 Open 25 [algorithms] The meaning of operator + in the description of the algorithms Yes 4
2286 Open 29.8.2.4 [stringbuf.virtuals] stringbuf::underflow() underspecified Yes 4
2823 Open 22.3.7.1 [array.overview] std::array initialization is still not permissive enough Yes 3
3049 Open 25.2 [algorithms.requirements] Missing wording allowing algorithms to use copies of function objects as substitutes for their parameters Yes 3
2731 Open 32.4.4.1 [thread.lock.guard] Existence of lock_guard<MutexTypes...>::mutex_type typedef unclear Yes 3
2990 Open 20.6.3 [optional.optional] optional::value_type is not always a value type Yes 3
484 Open 23.3.5.2 [input.iterators] Convertible to T No 2
3029 Open 25.7.7.2 [pop.heap] pop_heap over-constrains input Yes 3
2414 Open 16.5.5.8 [reentrancy] Member function reentrancy should be implementation-defined Yes 3
2512 Open 28.4.5.1.2 [locale.time.get.virtuals] Y2K bites; what is an "unambiguous year identifier"? No 4
2894 Open 20.14.4 [func.invoke] The function template std::apply() is required to be constexpr, but std::invoke() isn't Yes 3
1422 Open 22.3.12 [vector.bool] vector<bool> iterators are not random access No 3
2262 Open 20.11.1.2 [unique.ptr.single] Requirement for unique_ptr<T>::get_deleter()(p) to be able to destroy the unique_ptr Yes 3
2136 Open 16.4.1 [structure] Postconditions vs. exceptions No 3
2114 Open 16.5.3.3 [nullablepointer.requirements] Incorrect "contextually convertible to bool" requirements Yes 3
2398 Open 17.7.2 [type.info] type_info's destructor shouldn't be required to be virtual Yes 3
2088 Open 17.9.4 [exception.terminate] std::terminate problem No 3
2289 Open 20.4.2 [pairs.pair] constexpr guarantees of defaulted functions still insufficient Yes 3
2348 Open 20.9.2 [template.bitset] charT('1') is not the wide equivalent of '1' Yes 3
2290 Open 20.15 [meta] Top-level "SFINAE"-based constraints should get a separate definition in Clause 17 Yes 3
2077 Open 20.15.4.3 [meta.unary.prop] Further incomplete constraints for type traits No 3
2358 Open 20.15.4.3 [meta.unary.prop] Apparently-bogus definition of is_empty type trait Yes 3
2238 Open 21.5 [c.strings] Problematic iterator-pair constructor of containers No 3
2215 Open 22.2.6 [associative.reqmts] (unordered) associative container functors should be CopyConstructible Yes 3
2198 Open 22.2.7 [unord.req] max_load_factor(z) makes no strong guarantees, but bans useful behavior Yes 3
2189 Open 22.2.7.1 [unord.req.except] Throwing swap breaks unordered containers' state No 3
1213 Open 23.3 [iterator.requirements] Meaning of valid and singular iterator underspecified No 4
2035 Open 23.3.5.3 [output.iterators] Output iterator requirements are broken Yes 3
2038 Open 23.3.5.3 [output.iterators] Missing definition for incrementable iterator No 3
2115 Open 26.7.8 [template.mask.array] Undefined behaviour for valarray assignments with mask_array index? No 4
2383 Open 27.5.8 [time.duration.literals] Overflow cannot be ill-formed for chrono::duration integer literals No 3
2117 Open 28.4.2.2.2 [facet.num.put.virtuals] ios_base manipulators should have showgrouping/noshowgrouping No 3
2214 Open 29.5.5.2 [basic.ios.cons] Clarify basic_ios::init call restrictions Yes 4
2349 Open 29.7.4.2.1 [istream.formatted.reqmts] Clarify input/output function rethrow behavior Yes 3
2331 Open 30.5.1 [re.synopt] regex_constants::collate's effects are inaccurately summarized Yes 3
2338 Open 30.7 [re.traits] §[re.traits]/7 expects of locale facets something not guaranteed by [locale.facet]/4 Yes 3
2137 Open 30.8.2 [re.regex.assign] Misleadingly constrained post-condition in the presence of exceptions Yes 3
2265 Open 31.4 [atomics.order] 29.3p9 appears to rule out some acceptable executions No 4
2530 Open 32.6.5 [futures.state] Clarify observable side effects of releasing a shared state No 3
2532 Open 32.6.6 [futures.promise] Satisfying a promise at thread exit Yes 3

LEWG (27 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2095 LEWG 32.6.6 [futures.promise] promise and packaged_task missing constructors needed for uses-allocator construction Yes 4
3138 LEWG 17.8.2 [support.contract.cviol] There is no such thing as assertion-level No 2
3165 LEWG 21.3.2 [basic.string] All starts_with() overloads should be called "begins_with" Yes 2
2307 LEWG 22 [containers] Should the Standard Library use explicit only when necessary? No 2
2690 LEWG 20.14.4 [func.invoke] invoke<R> Yes
2152 LEWG 16.5.3.2 [swappable.requirements] Instances of standard container types are not swappable Yes 3
2153 LEWG 20.2.2 [utility.swap] Narrowing of the non-member swap contract Yes 2
3052 LEWG 20.7.7 [variant.visit] visit is underconstrained Yes 2
3068 LEWG 21.4.2 [string.view.template] Forbid assigning an rvalue basic_string to basic_string_view Yes 2
3114 LEWG 16 [networking.ts::buffer] [networking.ts] Permit efficient composition when using DynamicBuffer Yes
2985 LEWG 25.6.10 [alg.reverse] std::reverse should be permitted to be vectorized Yes
2991 LEWG 20.7.3.1 [variant.ctor] variant copy constructor missing noexcept(see below) Yes
2922 LEWG 20.15.2 [meta.type.synop] The *_constant<> templates do not make use of template<auto> No
2883 LEWG 21.4 [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 LEWG 22 [containers] Relational operators for containers should sfinae; if the underlying type is not comparable, neither should the container be No
2885 LEWG 22 [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
2973 LEWG 25.7.5 [alg.merge] inplace_merge exact comparison count complexity prohibits useful real-world optimizations Yes
2814 LEWG 4.2.1 [fund.ts.v2::func.wrap.func.con] [fund.ts.v2] to_array should take rvalue reference as well Yes 3
1484 LEWG 32.3.2 [thread.thread.class] Need a way to join a thread with a timeout No
1488 LEWG 32.4 [thread.mutex] Improve interoperability between the C++0x and C1x threads APIs No
936 LEWG 32.4.3 [thread.mutex.requirements] Mutex type overspecified No 961
961 LEWG 32.4.3 [thread.mutex.requirements] Various threading bugs #11 No 936
1493 LEWG 32.4.3 [thread.mutex.requirements] Add mutex, recursive_mutex, is_locked function No
532 LEWG 20.5.3.8 [tuple.rel] Tuple comparison Yes 348
2825 LEWG 20.6.3 [optional.optional] LWG 2756 breaks class template argument deduction for optional No 2
1025 LEWG 20.14.18 [unord.hash] The library should provide more specializations for std::hash No
1459 LEWG 31.4 [atomics.order] Overlapping evaluations are allowed No 1458

EWG (3 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2089 EWG 20.10.10.1 [allocator.members] std::allocator::construct should use uniform initialization Yes 2
2813 EWG 20.14.16.2.1 [func.wrap.func.con] std::function should not return dangling references Yes 2
2432 EWG 17.10 [support.initlist] initializer_list assignability Yes 2

Core (1 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2452 Core 20.15 [meta] is_constructible, etc. and default arguments No 3

SG1 (4 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2334 SG1 31.7.1 [atomics.types.operations] atomic's default constructor requires "uninitialized" state even for types with non-trivial default-constructor Yes
2506 SG1 6.8.2 [intro.multithread] Underspecification of atomics No 3
2533 SG1 99 [concurr.ts::futures.unique_future] [concurr.ts] Constrain threads where future::then can run a continuation No
2236 SG1 31.2 [atomics.syn] kill_dependency unconditionally noexcept No

Deferred (1 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2202 Deferred 32.6.9 [futures.async] Missing allocator support by async No 4

Tentatively Resolved (6 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2292 Tentatively Resolved 16.4.1.4 [structure.specifications] Find a better phrasing for "shall not participate in overload resolution" No 3
2155 Tentatively Resolved 17.13 [support.runtime] Macro __bool_true_false_are_defined should be removed No 4
3178 Tentatively Resolved 25.5.10 [mismatch] std::mismatch is missing an upper bound No 0
2808 Tentatively Resolved 29.5.4.2 [fpos.operations] Requirements for fpos and stateT No 4
2832 Tentatively Resolved 29.5.4.2 [fpos.operations] §[fpos.operations] strange requirement for P(i) No 3
2999 Tentatively Resolved 99 [thread.decaycopy] §[thread.decaycopy] issue No 3

Pending NAD Editorial (4 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2178 Pending NAD Editorial 16.5.3.5 [allocator.requirements] Allocator requirement changes not mentioned Annex C Yes 3
2126 Pending NAD Editorial 32.4.3 [thread.mutex.requirements] Several specification problems in regard to mutex requirements Yes
2134 Pending NAD Editorial 32.4.3.2 [thread.mutex.requirements.mutex] Redundant Mutex requirement? Yes
2125 Pending NAD Editorial 32.4.3.3 [thread.timedmutex.requirements] TimedMutex specification problem Yes

Pending NAD (2 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2302 Pending NAD 17.6.2.3 [new.delete.placement] Passing null pointer to placement new Yes 2
2382 Pending NAD 16.5.5.8 [reentrancy] Unclear order of container update versus object destruction on removing an object Yes 2

NAD Future (3 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2654 NAD Future 1 [filesys.ts::fs.scope] [filesys.ts] [PDTS] Concerns with security and testability Yes
2611 NAD Future 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] Lack of relative() operation function Yes
2612 NAD Future 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] uintmax_t too small for large file sizes Yes

WP (134 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3182 WP 18.4.2 [concept.same] Specification of Same could be clearer Yes 0
3112 WP 19.5.7.2 [syserr.syserr.members] system_error and filesystem_error constructors taking a string may not be able to meet their postconditions Yes 0
3040 WP 21.4.2.6 [string.view.ops] basic_string_view::starts_with Effects are incorrect Yes 0
3087 WP 22.3.10.5 [list.ops] One final &x in §[list.ops] Yes 3
3077 WP 22.3.11.5 [vector.modifiers] (push|emplace)_back should invalidate the end iterator Yes 3
3144 WP 22.7.3.1 [span.overview] span does not have a const_pointer typedef Yes 0
3101 WP 22.7.3.2 [span.cons] span's Container constructors need another constraint Yes 1
3179 WP 24.5.3.1 [range.subrange.ctor] subrange should always model Range Yes 0
3180 WP 25.4 [algorithm.syn] Inconsistently named return type for ranges::minmax_element Yes 0
3133 WP 26.2 [numeric.requirements] Modernizing numeric type requirements Yes 0
3012 WP 31.7 [atomics.types.generic] atomic<T> is unimplementable for non-is_trivially_copy_constructible T Yes 2
3119 WP 99 [defns.program.defined.spec] Program-definedness of closure types Yes 2
3173 WP 99 [range.view.ref] Enable CTAD for ref-view Yes 0
3153 WP 18.4.6 [concept.common] Common and common_type have too little in common Yes 0
3154 WP 18.4.6 [concept.common] Common and CommonReference have a common defect Yes 0
3148 WP 16.5.1.3 [compliance] <concepts> should be freestanding Yes 0
3132 WP 16.5.4.3.2 [macro.names] Library needs to ban macros named expects or ensures Yes 0
3147 WP 16.5.4.3.2 [macro.names] Definitions of "likely" and "unlikely" are likely to cause problems Yes 0
3122 WP 17.3.1 [support.limits.general] __cpp_lib_chrono_udls was accidentally dropped Yes 0
3137 WP 17.3.1 [support.limits.general] Header for __cpp_lib_to_chars Yes 0
3054 WP 20.10.11.5 [uninitialized.copy] uninitialized_copy appears to not be able to meet its exception-safety guarantee Yes 2
2996 WP 20.11.3 [util.smartptr.shared] Missing rvalue overloads for shared_ptr operations Yes
3008 WP 20.11.3.6 [util.smartptr.shared.create] make_shared (sub)object destruction semantics are not specified Yes 2
3037 WP 20.12.3 [mem.poly.allocator.class] polymorphic_allocator and incomplete types Yes 2
3038 WP 20.12.3.2 [mem.poly.allocator.mem] polymorphic_allocator::allocate should not allow integer overflow to create vulnerabilities Yes 2
3116 WP 20.13.4 [allocator.adaptor.members] OUTERMOST_ALLOC_TRAITS needs remove_reference_t Yes 0
3140 WP 20.15.7.6 [meta.trans.other] COMMON_REF is unimplementable as specified Yes 0
3025 WP 22.4.4.1 [map.overview] Map-like container deduction guides should use pair<Key, T>, not pair<const Key, T> Yes 2
3031 WP 25.7 [alg.sorting] Algorithms and predicates with non-const reference arguments Yes 2
3145 WP 27.7.5 [time.clock.file] file_clock breaks ABI for C++17 implementations Yes 1
3131 WP 27.12 [time.parse] addressof all the things Yes 0
3130 WP 29 [input.output] §[input.output] needs many addressof Yes 0
2995 WP 29.8.2.1 [stringbuf.cons] basic_stringbuf default constructor forbids it from using SSO capacity Yes 3
2943 WP 29.9.2.3 [filebuf.members] Problematic specification of the wide version of basic_filebuf::open Yes 2
3127 WP 29.10.3.1 [syncstream.osyncstream.overview] basic_osyncstream::rdbuf needs a const_cast Yes 0
2936 WP 29.11.7.4.8 [fs.path.compare] Path comparison is defined in terms of the generic format Yes 2
3096 WP 29.11.7.4.11 [fs.path.gen] path::lexically_relative is confused by trailing slashes Yes 2
3065 WP 29.11.7.7 [fs.path.nonmember] LWG 2989 missed that all path's other operators should be hidden friends as well Yes 2
2682 WP 29.11.14.3 [fs.op.copy] filesystem::copy() won't create a symlink to a directory Yes 2
2183 WP 30.10.1 [re.results.const] Muddled allocator requirements for match_results constructors Yes 3
2184 WP 30.10.1 [re.results.const] Muddled allocator requirements for match_results assignments Yes 3
3129 WP 30.12.2.1 [re.tokiter.cnstr] regex_token_iterator constructor uses wrong pointer arithmetic Yes 0
3160 WP 31.6 [atomics.ref.generic] atomic_ref() = delete; should be deleted Yes 0
2412 WP 32.6.6 [futures.promise] promise::set_value() and promise::get_future() should not race Yes 3
3128 WP D.8.5.3 [depr.strstream.oper] strstream::rdbuf needs a const_cast Yes 0
2697 WP 99 [concurr.ts::futures.unique_future] [concurr.ts] Behavior of future/shared_future unwrapping constructor when given an invalid future Yes 2
2960 WP 3.3 [fund.ts.v3::meta] [fund.ts.v3] nonesuch is insufficiently useless Yes 2
2139 WP 16.5.4.2.1 [namespace.std] What is a user-defined type? Yes 4
2970 WP 20.7.7 [variant.visit] Return type of std::visit misspecified Yes 2
3080 WP 20.19.3 [charconv.from.chars] Floating point from_chars pattern specification breaks round-tripping Yes 0
3076 WP 21.3.2.2 [string.cons] basic_string CTAD ambiguity Yes
3102 WP 22.7.3.1 [span.overview] Clarify span iterator and const_iterator behavior Yes 0
3100 WP 22.7.3.2 [span.cons] Unnecessary and confusing "empty span" wording Yes 0
3062 WP 25.3.5 [algorithms.parallel.overloads] Unnecessary decay_t in is_execution_policy_v should be remove_cvref_t Yes 0
3058 WP 25.9.11 [adjacent.difference] Parallel adjacent_difference shouldn't require creating temporaries Yes 3
3074 WP 26.7.3 [valarray.nonmembers] Non-member functions for valarray should only deduce from the valarray Yes 0
3104 WP 27.5.5 [time.duration.nonmember] Fixing duration division Yes 0
3094 WP 27.5.10 [time.duration.io] §[time.duration.io]p4 makes surprising claims about encoding Yes 0
3083 WP 29.5.3.5 [ios.base.storage] What should ios::iword(-1) do? Yes 0
3067 WP 29.11.13.1 [fs.rec.dir.itr.members] recursive_directory_iterator::pop must invalidate Yes 0
3079 WP 99 [fs.op.create_directory] LWG 2935 forgot to fix the existing_p overloads of create_directory Yes 0
3071 WP 17.9 [networking.ts::buffer.read.until] [networking.ts] read_until still refers to "input sequence" Yes 0
3035 WP 20.10.10 [default.allocator] std::allocator's constructors should be constexpr Yes 0
3005 WP 20.11.3.6 [util.smartptr.shared.create] Destruction order of arrays by make_shared/allocate_shared only recommended? Yes 0
3007 WP 20.11.3.6 [util.smartptr.shared.create] allocate_shared should rebind allocator to cv-unqualified value_type for construction Yes 0
2843 WP 20.12.2.2 [mem.res.private] Unclear behavior of std::pmr::memory_resource::do_allocate() Yes 3
2969 WP 20.12.3.2 [mem.poly.allocator.mem] polymorphic_allocator::construct() shouldn't pass resource() Yes 2
2975 WP 20.12.3.2 [mem.poly.allocator.mem] Missing case for pair construction in scoped and polymorphic allocators Yes 3
3000 WP 20.12.6.2 [mem.res.monotonic.buffer.mem] monotonic_memory_resource::do_is_equal uses dynamic_cast unnecessarily Yes 0
3041 WP 20.14.5.1 [refwrap.const] Unnecessary decay in reference_wrapper Yes 0
3034 WP 20.15.7.6 [meta.trans.other] P0767R1 breaks previously-standard-layout types Yes 0
3075 WP 21.3.2 [basic.string] basic_string needs deduction guides from basic_string_view Yes
2946 WP 21.3.2.2 [string.cons] LWG 2758's resolution missed further corrections Yes 2
3004 WP 21.3.2.4 [string.capacity] §[string.capacity] and §[vector.capacity] should specify time complexity for capacity() Yes 0
3017 WP 22.3.9.6 [forwardlist.ops] list splice functions should use addressof Yes 0
2164 WP 22.3.11.5 [vector.modifiers] What are the semantics of vector.emplace(vector.begin(), vector.back())? Yes 2
3048 WP 25.9.5 [transform.reduce] transform_reduce(exec, first1, last1, first2, init) discards execution policy Yes 0
3051 WP 26.8.1 [cmath.syn] Floating point classifications were inadvertently changed in P0175 Yes 0
2243 WP 29.7.4.3 [istream.unformatted] istream::putback problem Yes 3
2989 WP 29.11.7.6 [fs.path.io] path's stream insertion operator lets you insert everything under the sun Yes 2
3013 WP 29.11.12.1 [fs.dir.itr.members] (recursive_)directory_iterator construction and traversal should not be noexcept Yes 0
3015 WP 29.11.14.3 [fs.op.copy] copy_options::unspecified underspecified Yes 3
3045 WP 31.7.3 [atomics.types.float] atomic<floating-point> doesn't have value_type or difference_type Yes 0
3039 WP 32.3.2.2 [thread.thread.constr] Unnecessary decay in thread and packaged_task Yes 0
3030 WP 32.4.5 [thread.lock.algorithm] Who shall meet the requirements of try_lock? Yes 0
2851 WP 99 [fs.enum.file_type] std::filesystem enum classes are now underspecified Yes 2
3043 WP 99 [fs.filesystem_error.members] Bogus postcondition for filesystem_error constructor Yes 0
2849 WP 99 [fs.op.copy_file] Why does !is_regular_file(from) cause copy_file to report a "file already exists" error? Yes 2
3014 WP 99 [fs.op.copy_file] More noexcept issues with filesystem operations Yes
2816 WP 99 [fs.op.resize_file] resize_file has impossible postcondition Yes 3
3026 WP 99 [fs.op.weakly_canonical] filesystem::weakly_canonical still defined in terms of canonical(p, base) Yes 0
3009 WP 99 [iterator.container] Including <string_view> doesn't provide std::size/empty/data Yes 0
3042 WP D.9 [depr.meta.types] is_literal_type_v should be inline Yes 0
3010 WP 13.11.1 [networking.ts::async.uses.executor.trait] [networking.ts] uses_executor says "if a type T::executor_type exists" Yes 0
3020 WP 16.2 [networking.ts::buffer.reqmts] [networking.ts] Remove spurious nested value_type buffer sequence requirement Yes 0
2779 WP 16.2.1 [networking.ts::buffer.reqmts.mutablebuffersequence] [networking.ts] Relax requirements on buffer sequence iterators Yes
3002 WP 18.9.4 [networking.ts::socket.acceptor.ops] [networking.ts] basic_socket_acceptor::is_open() isn't noexcept Yes 0
2965 WP 99 [fs.filesystem_error.members] Non-existing path::native_string() in filesystem_error::what() specification Yes 0
2980 WP D.12 [depr.util.smartptr.shared.atomic] Cannot compare_exchange empty pointers Yes
2950 WP 17.2.5 [support.types.byteops] std::byte operations are misspecified Yes 1
2958 WP 20.4.2 [pairs.pair] Moves improperly defined as deleted Yes 2
3024 WP 20.7.3.1 [variant.ctor] variant's copies must be deleted instead of disabled via SFINAE Yes
2948 WP 20.11.1 [unique.ptr] unique_ptr does not define operator<< for stream output Yes 0
2944 WP 20.11.1.2.1 [unique.ptr.single.ctor] LWG 2905 accidentally removed requirement that construction of the deleter doesn't throw an exception Yes 0
2964 WP 20.11.3.9 [util.smartptr.shared.cast] Apparently redundant requirement for dynamic_pointer_cast Yes 0
3001 WP 20.11.4 [util.smartptr.weak] weak_ptr::element_type needs remove_extent_t Yes 0
2981 WP 20.14.5 [refwrap] Remove redundant deduction guides from standard library Yes 0
2993 WP 20.14.5 [refwrap] reference_wrapper<T> conversion from T&& Yes 3
2972 WP 20.15.4.3 [meta.unary.prop] What is is_trivially_destructible_v<int>? Yes
2979 WP 20.15.7.6 [meta.trans.other] aligned_union should require complete object types Yes 0
2978 WP 21.3.5 [basic.string.hash] Hash support for pmr::string and friends Yes 0
2977 WP 22.2.7 [unord.req] unordered_meow::merge() has incorrect Throws: clause Yes 0
2953 WP 22.3.8.4 [deque.modifiers] LWG 2853 should apply to deque::erase too Yes 0
2998 WP 22.3.10.5 [list.ops] Requirements on function objects passed to {forward_,}list-specific algorithms Yes 0
2982 WP 22.5.6.1 [unord.set.overview] Making size_type consistent in associative container deduction guides Yes 2
2952 WP 23.3.2.3 [iterator.traits] iterator_traits should work for pointers to cv T Yes 0
2870 WP 26.4.7 [complex.value.ops] Default value of parameter theta of polar should be dependent Yes
2988 WP 31.2 [atomics.syn] Clause 32 cleanup missed one typename Yes 0
2941 WP 32.2.4 [thread.req.timing] §[thread.req.timing] wording should apply to both member and namespace-level functions Yes 0
2976 WP 32.6.10 [futures.task] Dangling uses_allocator specialization for packaged_task Yes 3
2935 WP 99 [fs.op.create_directories] What should create_directories do when p already exists but is not a directory? Yes 0
2945 WP 99 [optional.comp_with_t] Order of template parameters in optional comparisons Yes 2
2593 WP 16.5.3.5 [allocator.requirements] Moved-from state of Allocators Yes 4
2954 WP 16.5.4 [constraints] Specialization of the convenience variable templates should be prohibited Yes
2974 WP 20.4.4 [pair.astuple] Diagnose out of bounds tuple_element/variant_alternative Yes
2942 WP 20.11.4.5 [util.smartptr.weak.obs] LWG 2873's resolution missed weak_ptr::owner_before Yes
2961 WP 20.12.4 [mem.res.global] Bad postcondition for set_default_resource Yes
2783 WP 22.6.4.1 [queue.defn] stack::emplace() and queue::emplace() should return decltype(auto) Yes 2
2932 WP 25.3.3 [algorithms.parallel.exec] Constraints on parallel algorithm implementations are underspecified Yes
2444 WP 25.7.7.4 [sort.heap] Inconsistent complexity for std::sort_heap Yes 3
2597 WP 26.4.8 [complex.transcendentals] std::log misspecified for complex numbers Yes 3
2966 WP 29.11.7.4.6 [fs.path.native.obs] Incomplete resolution of US 74 Yes
2937 WP 29.11.14.12 [fs.op.equivalent] Is equivalent("existing_thing", "not_existing_thing") an error? Yes 0
2940 WP D.9 [depr.meta.types] result_of specification also needs a little cleanup Yes 3

C++17 (283 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2436 C++17 22.2.6 [associative.reqmts] Comparators for associative containers should always be CopyConstructible Yes 2
2569 C++17 20.15.8 [meta.logical] conjunction and disjunction requirements are too strict Yes 2
2587 C++17 20.15.8 [meta.logical] "Convertible to bool" requirement in conjunction and disjunction Yes 3
2224 C++17 16.5.4.10 [res.on.objects] Ambiguous status of access to non-live objects Yes 2
2233 C++17 20.14.16.1 [func.wrap.badcall] bad_function_call::what() unhelpful Yes 3
2591 C++17 20.14.16.2.5 [func.wrap.func.targ] std::function's member template target() should not lead to undefined behaviour Yes 3
2354 C++17 22.4.4.1 [map.overview] Unnecessary copying when inserting into maps with braced-init syntax Yes 2
2578 C++17 23.3 [iterator.requirements] Iterator requirements should reference iterator traits Yes 3
2353 C++17 23.4.2 [iterator.operations] std::next is over-constrained Yes 4
2872 C++17 16.3 [definitions] Add definition for direct-non-list-initialization Yes
2679 C++17 16.4.1.4 [structure.specifications] Inconsistent Use of Effects and Equivalent To Yes 3
2710 C++17 16.4.1.4 [structure.specifications] "Effects: Equivalent to ..." doesn't count "Synchronization:" as determined semantics Yes 0
2380 C++17 16.5.1.2 [headers] May <cstdlib> provide long ::abs(long) and long long ::abs(long long)? Yes 2
2428 C++17 16.5.2.2 [using.headers] "External declaration" used without being defined Yes 0
2170 C++17 16.5.3.1 [utility.arg.requirements] Aggregates cannot be DefaultConstructible Yes 2
2016 C++17 16.5.3.5 [allocator.requirements] Allocators must be no-throw swappable Yes 2
2260 C++17 16.5.3.5 [allocator.requirements] Missing requirement for Allocator::pointer Yes 3
2384 C++17 16.5.3.5 [allocator.requirements] Allocator's deallocate function needs better specification Yes 3
2447 C++17 16.5.3.5 [allocator.requirements] Allocators and volatile-qualified value types Yes 4
2455 C++17 16.5.3.5 [allocator.requirements] Allocator default construction should be allowed to throw Yes
2466 C++17 16.5.3.5 [allocator.requirements] allocator_traits::max_size() default behavior is incorrect Yes 3
2467 C++17 16.5.3.5 [allocator.requirements] is_always_equal has slightly inconsistent default Yes 0
2470 C++17 16.5.3.5 [allocator.requirements] Allocator's destroy function should be allowed to fail to instantiate Yes
2129 C++17 16.5.4.2.1 [namespace.std] User specializations of std::initializer_list Yes 3
2340 C++17 16.5.4.6 [replacement.functions] Replacement allocation functions declared as inline Yes 2
2468 C++17 16.5.4.9 [res.on.arguments] Self-move-assignment of library types Yes 2
2133 C++17 16.5.5.4 [global.functions] Attitude to overloaded comma for iterators Yes 3
2795 C++17 16.5.5.4 [global.functions] §[global.functions] provides incorrect example of ADL use Yes
2259 C++17 16.5.5.5 [member.functions] Issues in 17.6.5.5 rules for member functions Yes 3
2866 C++17 16.5.5.11 [derivation] Incorrect derived classes constraints Yes
2709 C++17 17.2 [support.types] offsetof is unnecessarily imprecise Yes 2
2422 C++17 17.3.4.1 [numeric.limits.members] std::numeric_limits<T>::is_modulo description: "most machines" errata Yes 2
2458 C++17 17.6 [support.dynamic] N3778 and new library deallocation signatures Yes 2
2510 C++17 17.6 [support.dynamic] Tag types should not be DefaultConstructible Yes 2
2425 C++17 17.6.2 [new.delete] operator delete(void*, size_t) doesn't invalidate pointers sufficiently Yes 0
2378 C++17 17.6.3.1 [bad.alloc] Behaviour of standard exception types Yes 0
2111 C++17 17.9.4.4 [terminate] Which unexpected/terminate handler is called from the exception handling runtime? Yes 3
2483 C++17 17.9.7 [except.nested] throw_with_nested() should use is_final Yes 2
2484 C++17 17.9.7 [except.nested] rethrow_if_nested() is doubly unimplementable Yes 2
2784 C++17 17.9.7 [except.nested] Resolution to LWG 2484 is missing "otherwise, no effects" and is hard to parse Yes 0
2855 C++17 17.9.7 [except.nested] std::throw_with_nested("string_literal") Yes 0
2234 C++17 19.3 [assertions] assert() should allow usage in constant expressions Yes 2
2559 C++17 19.3 [assertions] Error in LWG 2234's resolution Yes 0
2212 C++17 20.2 [utility] tuple_size for const pair request <tuple> header Yes 3
2729 C++17 20.4.2 [pairs.pair] Missing SFINAE on std::pair::operator= Yes 2
2773 C++17 20.5.1 [tuple.general] Making std::ignore constexpr Yes 0
2796 C++17 20.5.1 [tuple.general] tuple should be a literal type Yes 2
2312 C++17 20.5.3.1 [tuple.cnstr] tuple's constructor constraints need to be phrased more precisely Yes 2
2549 C++17 20.5.3.1 [tuple.cnstr] Tuple EXPLICIT constructor templates that take tuple parameters end up taking references to temporaries and will create dangling references Yes 2
2770 C++17 20.5.3.6 [tuple.helper] tuple_size<const T> specialization is not SFINAE compatible and breaks decomposition declarations Yes 1
2485 C++17 20.5.3.7 [tuple.elem] get() should be overloaded for const tuple&& Yes 1
2857 C++17 20.6 [optional] {variant,optional,any}::emplace should return the constructed value Yes 1
2756 C++17 20.6.3 [optional.optional] C++ WP optional<T> should 'forward' T's implicit conversions Yes 1
2900 C++17 20.6.3 [optional.optional] The copy and move constructors of optional are not constexpr Yes
2842 C++17 20.6.3.1 [optional.ctor] in_place_t check for optional::optional(U&&) should decay U Yes 0
2748 C++17 20.6.3.4 [optional.swap] swappable traits for optionals Yes 0
2740 C++17 20.6.3.5 [optional.observe] constexpr optional<T>::operator-> Yes 0
2736 C++17 20.6.4 [optional.nullopt] nullopt_t insufficiently constrained Yes 2
2806 C++17 20.6.5 [optional.bad.access] Base class of bad_optional_access Yes 1
2901 C++17 20.7.3 [variant.variant] Variants cannot properly support allocators Yes 0
2903 C++17 20.7.3.1 [variant.ctor] The form of initialization for the emplace-constructors is not specified Yes
2904 C++17 20.7.3.3 [variant.assign] Make variant move-assignment more exception safe Yes
2749 C++17 20.7.3.6 [variant.swap] swappable traits for variants Yes 1
2789 C++17 20.8.3 [any.class] Equivalence of contained objects Yes 0
2744 C++17 20.8.3.1 [any.cons] any's in_place constructors Yes 0
2768 C++17 20.8.4 [any.nonmembers] any_cast and move semantics Yes 0
2769 C++17 20.8.4 [any.nonmembers] Redundant const in the return type of any_cast(const any&) Yes 0
2250 C++17 20.9.2.1 [bitset.cons] Follow-up On Library Issue 2207 Yes 3
2377 C++17 20.10.6 [ptr.align] std::align requirements overly strict Yes 0
2433 C++17 20.10.11 [specialized.algorithms] uninitialized_copy()/etc. should tolerate overloaded operator& Yes 0
2296 C++17 20.10.11.2 [specialized.addressof] std::addressof should be constexpr Yes 3
2598 C++17 20.10.11.2 [specialized.addressof] addressof works on temporaries Yes 3
2361 C++17 20.11.1.2 [unique.ptr.single] Apply 2299 resolution throughout library Yes
2801 C++17 20.11.1.2.1 [unique.ptr.single.ctor] Default-constructibility of unique_ptr Yes 2
2905 C++17 20.11.1.2.1 [unique.ptr.single.ctor] is_constructible_v<unique_ptr<P, D>, P, D const &> should be false when D is not copy constructible Yes
2520 C++17 20.11.1.3.1 [unique.ptr.runtime.ctor] N4089 broke initializing unique_ptr<T[]> from a nullptr Yes 2
2376 C++17 20.11.2 [util.smartptr.weak.bad] bad_weak_ptr::what() overspecified Yes
2365 C++17 20.11.3 [util.smartptr.shared] Missing noexcept in shared_ptr::shared_ptr(nullptr_t) Yes
2411 C++17 20.11.3 [util.smartptr.shared] shared_ptr is only contextually convertible to bool Yes 0
2873 C++17 20.11.3 [util.smartptr.shared] Add noexcept to several shared_ptr related functions Yes
2399 C++17 20.11.3.1 [util.smartptr.shared.const] shared_ptr's constructor from unique_ptr should be constrained Yes 0
2415 C++17 20.11.3.1 [util.smartptr.shared.const] Inconsistency between unique_ptr and shared_ptr Yes 2
2495 C++17 20.11.3.1 [util.smartptr.shared.const] There is no such thing as an Exception Safety element Yes 0
2685 C++17 20.11.3.1 [util.smartptr.shared.const] shared_ptr deleters must not not throw on move construction Yes 0
2802 C++17 20.11.3.1 [util.smartptr.shared.const] shared_ptr constructor requirements for a deleter Yes 2
2874 C++17 20.11.3.1 [util.smartptr.shared.const] Constructor shared_ptr::shared_ptr(Y*) should be constrained Yes
2875 C++17 20.11.3.1 [util.smartptr.shared.const] shared_ptr::shared_ptr(Y*, D, […]) constructors should be constrained Yes
2876 C++17 20.11.3.1 [util.smartptr.shared.const] shared_ptr::shared_ptr(const weak_ptr<Y>&) constructor should be constrained Yes
2434 C++17 20.11.3.5 [util.smartptr.shared.obs] shared_ptr::use_count() is efficient Yes 0
2572 C++17 20.11.3.5 [util.smartptr.shared.obs] The remarks for shared_ptr::operator* should apply to cv-qualified void as well Yes 0
2696 C++17 20.11.3.6 [util.smartptr.shared.create] Interaction between make_shared and enable_shared_from_this is underspecified Yes 2
2908 C++17 20.11.3.7 [util.smartptr.shared.cmp] The less-than operator for shared pointers could do more Yes
2400 C++17 20.11.3.10 [util.smartptr.getdeleter] shared_ptr's get_deleter() should use addressof() Yes 0
2724 C++17 20.12.2 [mem.res.class] The protected virtual member functions of memory_resource should be private Yes 4
2476 C++17 20.13.1 [allocator.adaptor.syn] scoped_allocator_adaptor is not assignable Yes 0
2782 C++17 20.13.3 [allocator.adaptor.cnstr] scoped_allocator_adaptor constructors must be constrained Yes 0
2586 C++17 20.13.4 [allocator.adaptor.members] Wrong value category used in scoped_allocator_adaptor::construct() Yes 0
2219 C++17 20.14.3 [func.require] INVOKE-ing a pointer to member with a reference_wrapper as the object expression Yes 2
2387 C++17 20.14.3 [func.require] More nested types that must be accessible and unambiguous Yes
2486 C++17 20.14.3 [func.require] mem_fn() should be required to use perfect forwarding Yes 0
2807 C++17 20.14.4 [func.invoke] std::invoke should use std::is_nothrow_callable Yes 3
2435 C++17 20.14.5.4 [refwrap.invoke] reference_wrapper::operator()'s Remark should be deleted Yes 4
2450 C++17 20.14.7 [comparisons] (greater|less|greater_equal|less_equal)<void> do not yield a total order for pointers Yes 2
2562 C++17 20.14.7 [comparisons] Consistent total ordering of pointers by comparison functors Yes 3
2487 C++17 20.14.14.3 [func.bind.bind] bind() should be const-overloaded, not cv-overloaded Yes 2
2545 C++17 20.14.14.3 [func.bind.bind] Simplify wording for bind without explicitly specified return type Yes 3
2488 C++17 20.14.14.4 [func.bind.place] Placeholders should be allowed and encouraged to be constexpr Yes 2
2489 C++17 20.14.15 [func.memfn] mem_fn() should be noexcept Yes 0
2062 C++17 20.14.16.2 [func.wrap.func] Effect contradictions w/o no-throw guarantee of std::function swaps Yes 2
2385 C++17 20.14.16.2 [func.wrap.func] function::assign allocator argument doesn't make sense Yes 2
2393 C++17 20.14.16.2 [func.wrap.func] std::function's Callable definition is broken Yes 2
2401 C++17 20.14.16.2 [func.wrap.func] std::function needs more noexcept Yes 0
2420 C++17 20.14.16.2 [func.wrap.func] function<void(ArgTypes...)> does not discard the return value of the target object Yes 1
2565 C++17 20.14.16.2.1 [func.wrap.func.con] std::function's move constructor should guarantee nothrow for reference_wrappers and function pointers Yes 0
2781 C++17 20.14.16.2.1 [func.wrap.func.con] Contradictory requirements for std::function and std::reference_wrapper Yes 0
2850 C++17 20.14.16.2.1 [func.wrap.func.con] std::function move constructor does unnecessary work Yes 0
2119 C++17 20.14.18 [unord.hash] Missing hash specializations for extended integer types Yes 3
2582 C++17 20.15 [meta] §[res.on.functions]/2's prohibition against incomplete types shouldn't apply to type traits Yes 0
2514 C++17 20.15.1 [meta.rqmts] Type traits must not be final Yes 3
2581 C++17 20.15.2 [meta.type.synop] Specialization of <type_traits> variable templates should be prohibited Yes 0
2336 C++17 20.15.4.3 [meta.unary.prop] is_trivially_constructible/is_trivially_assignable traits are always false Yes 3
2367 C++17 20.15.4.3 [meta.unary.prop] pair and tuple are not correctly implemented for is_constructible with no args Yes 3
2560 C++17 20.15.4.3 [meta.unary.prop] is_constructible underspecified when applied to a function type Yes 0
2738 C++17 20.15.4.3 [meta.unary.prop] is_constructible with void types Yes
2911 C++17 20.15.4.3 [meta.unary.prop] An is_aggregate type trait is needed Yes
2101 C++17 20.15.7 [meta.trans] Some transformation types can produce impossible types Yes 3
2396 C++17 20.15.7.6 [meta.trans.other] underlying_type doesn't say what to do for an incomplete enumeration type Yes 0
2408 C++17 20.15.7.6 [meta.trans.other] SFINAE-friendly common_type/iterator_traits is missing in C++14 Yes
2460 C++17 20.15.7.6 [meta.trans.other] LWG issue 2408 and value categories Yes 2
2557 C++17 20.15.8 [meta.logical] Logical operator traits are broken in the zero-argument case Yes 0
2567 C++17 20.15.8 [meta.logical] Specification of logical operator traits uses BaseCharacteristic, which is defined only for UnaryTypeTraits and BinaryTypeTraits Yes 2
2063 C++17 21.3.2 [basic.string] Contradictory requirements for string move assignment Yes 3
2760 C++17 21.3.2.1 [string.require] non-const basic_string::data should not invalidate iterators Yes
2861 C++17 21.3.2.1 [string.require] basic_string should require that charT match traits::char_type Yes
2583 C++17 21.3.2.2 [string.cons] There is no way to supply an allocator for basic_string(str, pos) Yes 0
2742 C++17 21.3.2.2 [string.cons] Inconsistent string interface taking string_view Yes 1
2834 C++17 21.3.2.4 [string.capacity] Resolution LWG 2223 is missing wording about end iterators Yes 0
2475 C++17 21.3.2.5 [string.access] Allow overwriting of std::basic_string terminator with charT() to allow cleaner interoperation with legacy APIs Yes 3
2788 C++17 21.3.2.6.2 [string.append] basic_string range mutators unintentionally require a default constructible allocator Yes 2
2579 C++17 21.3.2.6.3 [string.assign] Inconsistency wrt Allocators in basic_string assignment vs. basic_string::assign Yes 0
2758 C++17 21.3.2.6.3 [string.assign] std::string{}.assign("ABCDE", 0, 1) is ambiguous Yes 1
2771 C++17 21.3.2.7.4 [string.compare] Broken Effects of some basic_string::compare functions in terms of basic_string_view Yes 1
2403 C++17 21.3.4 [string.conversions] stof() should call strtof() and wcstof() Yes 2
2778 C++17 21.4 [string.view] basic_string_view is missing constexpr Yes 0
2826 C++17 21.4.2.2 [string.view.iterators] string_view iterators use old wording Yes 0
2777 C++17 21.4.2.6 [string.view.ops] basic_string_view::copy should use char_traits::copy Yes 0
2755 C++17 21.4.4 [string.view.io] §[string.view.io] uses non-existent basic_string_view::to_string function Yes 0
2482 C++17 21.5 [c.strings] §[c.strings] Table 73 mentions nonexistent functions Yes
2261 C++17 22.2 [container.requirements] Are containers required to use their 'pointer' type internally? Yes 2
2218 C++17 22.2.1 [container.requirements.general] Unclear how containers use allocator_traits::construct() Yes 3
2448 C++17 22.2.1 [container.requirements.general] Non-normative Container destructor specification Yes 0
2794 C++17 22.2.1 [container.requirements.general] Missing requirements for allocator pointers Yes 0
2266 C++17 22.2.3 [sequence.reqmts] vector and deque have incorrect insert requirements Yes 2
2698 C++17 22.2.3 [sequence.reqmts] Effect of assign() on iterators/pointers/references Yes 0
2542 C++17 22.2.6 [associative.reqmts] Missing const requirements for associative containers Yes 1
2156 C++17 22.2.7 [unord.req] Unordered containers' reserve(n) reserves for n-1 elements Yes 3
2540 C++17 22.2.7 [unord.req] unordered_multimap::insert hint iterator Yes 3
2550 C++17 22.2.7 [unord.req] Wording of unordered container's clear() method complexity Yes 2
2427 C++17 22.3.1 [sequences.general] Container adaptors as sequence containers, redux Yes 0
2310 C++17 22.3.7.1 [array.overview] Public exposition only member in std::array Yes 4
2590 C++17 22.3.7.1 [array.overview] Aggregate initialization for std::array Yes 0
2364 C++17 22.3.8.4 [deque.modifiers] deque and vector pop_back don't specify iterator invalidation requirements Yes 0
2477 C++17 22.3.8.4 [deque.modifiers] Inconsistency of wordings in std::vector::erase() and std::deque::erase() Yes 0
2585 C++17 22.3.9.5 [forwardlist.modifiers] forward_list::resize(size_type, const value_type&) effects incorrect Yes 0
2824 C++17 22.3.10.5 [list.ops] list::sort should say that the order of elements is unspecified if an exception is thrown Yes 0
2160 C++17 22.3.11.3 [vector.capacity] Unintended destruction ordering-specification of resize Yes 1
2223 C++17 22.3.11.3 [vector.capacity] shrink_to_fit effect on iterator validity Yes 2
2596 C++17 22.3.11.4 [vector.data] vector::data() should use addressof Yes 0
2853 C++17 22.3.11.5 [vector.modifiers] Possible inconsistency in specification of erase in [vector.modifiers] Yes 0
2059 C++17 22.4.4 [map] C++0x ambiguity problem with map::erase Yes 3
2469 C++17 22.4.4.3 [map.access] Wrong specification of Requires clause of operator[] for map and unordered_map Yes 3
2464 C++17 22.4.4.4 [map.modifiers] try_emplace and insert_or_assign misspecified Yes 2
2571 C++17 22.4.4.4 [map.modifiers] §[map.modifiers]/2 imposes nonsensical requirement on insert(InputIterator, InputIterator) Yes 0
2076 C++17 22.4.6.2 [set.cons] Bad CopyConstructible requirement in set constructors Yes 3
2230 C++17 22.5 [unord] "see below" for initializer-list constructors of unordered containers Yes 4
2566 C++17 22.6 [container.adaptors] Requirements on the first template parameter of container adaptors Yes 0
2684 C++17 22.6.5 [priority.queue] priority_queue lacking comparator typedef Yes 0
2537 C++17 22.6.5.3 [priqueue.cons.alloc] Constructors for priority_queue taking allocators should call make_heap Yes 0
2437 C++17 23.3.5.1 [iterator.iterators] iterator_traits<OutIt>::reference can and can't be void Yes 3
2519 C++17 23.3.5.6 [random.access.iterators] Iterator operator-= has gratuitous undefined behaviour Yes 2
2106 C++17 23.5.3 [move.iterators] move_iterator wrapping iterators returning prvalues Yes 3
2576 C++17 23.6 [stream.iterators] istream_iterator and ostream_iterator should use std::addressof Yes 0
2793 C++17 23.6.1.1 [istream.iterator.cons] Awkward conflation of trivial special members of istream_iterator Yes
2804 C++17 23.6.1.1 [istream.iterator.cons] Unconditional constexpr default constructor for istream_iterator Yes 0
2878 C++17 23.6.1.1 [istream.iterator.cons] Missing DefaultConstructible requirement for istream_iterator default constructor Yes
2790 C++17 23.6.3 [istreambuf.iterator] Missing specification of istreambuf_iterator::operator-> Yes 3
2544 C++17 23.6.3.2 [istreambuf.iterator.cons] istreambuf_iterator(basic_streambuf<charT, traits>* s) effects unclear when s is 0 Yes 3
2812 C++17 23.7 [iterator.range] Range access is available with <string_view> Yes 0
2727 C++17 25.1 [algorithms.general] Parallel algorithms with constexpr specifier Yes 0
2718 C++17 25.3.3 [algorithms.parallel.exec] Parallelism bug in [algorithms.parallel.exec] p2 Yes
2747 C++17 25.5.4 [alg.foreach] Possibly redundant std::move in [alg.foreach] Yes 0
2404 C++17 25.5.10 [mismatch] mismatch()'s complexity needs to be updated Yes 0
2689 C++17 25.6.1 [alg.copy] Parallel versions of std::copy and std::move shouldn't be in order Yes 0
2439 C++17 25.6.9 [alg.unique] unique_copy() sometimes can't fall back to reading its output Yes 3
2716 C++17 25.6.12 [alg.random.sample] Specification of shuffle and sample disallows lvalue URNGs Yes 0
2492 C++17 25.7 [alg.sorting] Clarify requirements for comp Yes 0
2166 C++17 25.7.7 [alg.heap.operations] Heap property underspecified? Yes 3
2239 C++17 25.7.8 [alg.min.max] min/max/minmax requirements Yes 3
2325 C++17 25.7.8 [alg.min.max] minmax_element()'s behavior differing from max_element()'s should be noted Yes 3
2369 C++17 25.7.8 [alg.min.max] constexpr max(initializer_list) vs max_element Yes 3
2688 C++17 25.7.9 [alg.clamp] clamp misses preconditions and has extraneous condition on result Yes 0
2687 C++17 25.9.7 [exclusive.scan] {inclusive,exclusive}_scan misspecified Yes 1
2759 C++17 25.9.13 [numeric.ops.gcd] gcd / lcm and bool for the WP Yes
2837 C++17 25.9.13 [numeric.ops.gcd] gcd and lcm should support a wider range of input values Yes 0
2699 C++17 26.2 [numeric.requirements] Missing restriction in [numeric.requirements] Yes 3
2459 C++17 26.4.7 [complex.value.ops] std::polar should require a non-negative rho Yes 0
2181 C++17 26.6.2.2 [rand.req.seedseq] Exceptions from seed sequence operations Yes 3
2440 C++17 26.6.7.1 [rand.util.seedseq] seed_seq::size() should be noexcept Yes 0
2168 C++17 26.6.8.2.2 [rand.dist.uni.real] Inconsistent specification of uniform_real_distribution constructor Yes 3
2406 C++17 26.6.8.3.4 [rand.dist.bern.negbin] negative_binomial_distribution should reject p == 1 Yes 3
2192 C++17 26.8 [c.math] Validity and return type of std::abs(0u) is unclear Yes 2
2735 C++17 26.8 [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
2739 C++17 27.6.5 [time.point.nonmember] Issue with time_point non-member subtraction with an unsigned duration Yes 0
2694 C++17 28.3.1.1.2 [locale.facet] Application of LWG 436 accidentally deleted definition of "facet" Yes 3
2394 C++17 28.3.1.3 [locale.members] locale::name specification unclear — what is implementation-defined? Yes 3
1169 C++17 28.4.2.1.2 [facet.num.get.virtuals] num_get not fully compatible with strto* Yes 3
2462 C++17 29.5.3 [ios.base] std::ios_base::failure is overspecified Yes 3
2244 C++17 29.7.4.3 [istream.unformatted] Issue on basic_istream::seekg Yes 3
2328 C++17 29.7.4.5 [istream.rvalue] Rvalue stream extraction should use perfect forwarding Yes 3
2221 C++17 29.7.5 [output.streams] No formatted output operator for nullptr Yes 3
2534 C++17 29.7.5.5 [ostream.rvalue] Constrain rvalue stream operators Yes 3
2785 C++17 29.7.8 [quoted.manip] quoted should work with basic_string_view Yes 0
2676 C++17 29.9 [file.streams] Provide filesystem::path overloads for File-based streams Yes 2
2473 C++17 29.9.2.4 [filebuf.virtuals] basic_filebuf's relation to C FILE semantics Yes 2
2680 C++17 29.11 [filesystems] Add "Equivalent to" to filesystem Yes 2
2707 C++17 29.11.7 [fs.class.path] path construction and assignment should have "string_type&&" overloads Yes 0
2711 C++17 29.11.7.4.1 [fs.path.construct] path is convertible from approximately everything under the sun Yes 1
2664 C++17 29.11.7.4.3 [fs.path.append] operator/ (and other append) semantics not useful if argument has root Yes 2
2732 C++17 29.11.7.4.3 [fs.path.append] Questionable specification of path::operator/= and path::append Yes 2
2667 C++17 29.11.7.4.9 [fs.path.decompose] path::root_directory() description is confusing Yes 0
2674 C++17 29.11.7.5 [fs.path.itr] Bidirectional iterator requirement on path::iterator is very expensive Yes 2
2726 C++17 29.11.12.1 [fs.dir.itr.members] [recursive_]directory_iterator::increment(error_code&) is underspecified Yes 0
2706 C++17 29.11.13 [fs.class.rec.dir.itr] Error reporting for recursive_directory_iterator::pop() is under-specified Yes 0
2669 C++17 29.11.13.1 [fs.rec.dir.itr.members] recursive_directory_iterator effects refers to non-existent functions Yes 0
2704 C++17 29.11.13.1 [fs.rec.dir.itr.members] recursive_directory_iterator's members should require '*this is dereferenceable' Yes 1
2956 C++17 29.11.14.2 [fs.op.canonical] filesystem::canonical() still defined in terms of absolute(p, base) Yes 1
2671 C++17 29.11.14.3 [fs.op.copy] Errors in Copy Yes 0
2681 C++17 29.11.14.3 [fs.op.copy] filesystem::copy() cannot copy symlinks Yes 2
2683 C++17 29.11.14.3 [fs.op.copy] filesystem::copy() says "no effects" Yes 3
2722 C++17 29.11.14.12 [fs.op.equivalent] equivalent incorrectly specifies throws clause Yes 3
2725 C++17 29.11.14.13 [fs.op.exists] filesystem::exists(const path&, error_code&) error reporting Yes 1
2719 C++17 29.11.14.26 [fs.op.permissions] permissions function should not be noexcept due to narrow contract Yes 0
2720 C++17 29.11.14.26 [fs.op.permissions] permissions function incorrectly specified for symlinks Yes 2
2673 C++17 29.11.14.35 [fs.op.status] status() effects cannot be implemented as specified Yes 0
2728 C++17 29.11.14.35 [fs.op.status] status(p).permissions() and symlink_status(p).permissions() are not specified Yes 0
2503 C++17 30.5.1 [re.synopt] multiline option should be added to syntax_option_type Yes 2
2217 C++17 30.9.2 [re.submatch.op] operator==(sub_match, string) slices on embedded '\0's Yes 2
2589 C++17 30.10 [re.results] match_results can't satisfy the requirements of a container Yes 3
2273 C++17 30.11.2 [re.alg.match] regex_match ambiguity Yes 2
2584 C++17 30.13 [re.grammar] <regex> ECMAScript IdentityEscape is ambiguous Yes 2
2441 C++17 31.7 [atomics.types.generic] Exact-width atomic typedefs should be provided Yes 0
2426 C++17 31.7.1 [atomics.types.operations] Issue about compare_exchange Yes 1
2309 C++17 32.4.3.2 [thread.mutex.requirements.mutex] mutex::lock() should not throw device_or_resource_busy Yes 0
2577 C++17 32.4.4.3.1 [thread.lock.unique.cons] {shared,unique}_lock should use std::addressof Yes 0
2442 C++17 32.4.6.2 [thread.once.callonce] call_once() shouldn't DECAY_COPY() Yes
2276 C++17 32.6 [futures] Missing requirement on std::promise::set_exception Yes
2523 C++17 32.6.6 [futures.promise] std::promise synopsis shows two set_value_at_thread_exit()'s for no apparent reason Yes 0
2752 C++17 32.6.9 [futures.async] "Throws:" clauses of async and packaged_task are unimplementable Yes 3
2921 C++17 32.6.10 [futures.task] packaged_task and type-erased allocators Yes
2407 C++17 32.6.10.1 [futures.task.members] packaged_task(allocator_arg_t, const Allocator&, F&&) should neither be constrained nor explicit Yes
2868 C++17 99 [any.bad_any_cast] Missing specification of bad_any_cast::what() Yes
2890 C++17 99 [defns.obj.state] The definition of 'object state' applies only to class types Yes
2127 C++17 99 [depr.storage.iterator] Move-construction with raw_storage_iterator Yes 3
2454 C++17 99 [depr.storage.iterator] Add raw_storage_iterator::base() member Yes 0
2072 C++17 99 [depr.temporary.buffer] Unclear wording about capacity of temporary buffers Yes 3
2723 C++17 99 [fs.class.directory_iterator] Do directory_iterator and recursive_directory_iterator become the end iterator upon error? Yes 0
2787 C++17 99 [fs.class.file_status] §[fs.file_status.cons] doesn't match class definition Yes 0
2678 C++17 99 [fs.enum.file_type] std::filesystem enum classes overspecified Yes 3
2712 C++17 99 [fs.op.copy_file] copy_file(from, to, ...) has a number of unspecified error conditions Yes 2
2672 C++17 99 [fs.op.is_empty] Should is_empty use error_code in its specification? Yes 3
2721 C++17 99 [fs.op.remove_all] remove_all has incorrect post conditions Yes 3
2670 C++17 99 [fs.op.system_complete] system_complete refers to undefined variable 'base' Yes 0
2767 C++17 99 [func.not_fn] not_fn call_wrapper can form invalid types Yes 0
2531 C++17 99 [futures.unique_future] future::get should explicitly state that the shared state is released Yes 3
2556 C++17 99 [futures.unique_future] Wide contract for future::share() Yes 3
2765 C++17 99 [ios::Init] Did LWG 1123 go too far? Yes 0
2934 C++17 99 [optional.comp_with_t] optional<const T> doesn't compare with T Yes
2686 C++17 99 [system_error.syn] Why is std::hash specialized for error_code, but not error_condition? Yes 3
2786 C++17 C.4.8 [diff.cpp14.utilities] Annex C should mention shared_ptr changes for array support Yes 0
2536 C++17 D.6 [depr.c.headers] What should <complex.h> do? Yes 2
2835 C++17 D.6 [depr.c.headers] LWG 2536 seems to misspecify <tgmath.h> Yes 0
2838 C++17 D.9 [depr.meta.types] is_literal_type specification needs a little cleanup Yes 0
2438 C++17 D.10.1 [depr.iterator.basic] std::iterator inheritance shouldn't be mandated Yes 3

C++14 (149 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2284 C++14 20.10.9 [allocator.traits] Inconsistency in allocator_traits::max_size Yes
2172 C++14 D.12 [depr.util.smartptr.shared.atomic] Does atomic_compare_exchange_* accept v == nullptr arguments? Yes
2275 C++14 20.5.3.4 [tuple.creation] [CD] Why is forward_as_tuple not constexpr? Yes
2177 C++14 22.2.1 [container.requirements.general] Requirements on Copy/MoveInsertable Yes
2278 C++14 27.2 [time.syn] User-defined literals for Standard Library types Yes
2359 C++14 30.5.1 [re.synopt] How does regex_constants::nosubs affect basic_regex::mark_count()? Yes 0
2175 C++14 D.15.1 [depr.conversions.string] wstring_convert and wbuffer_convert validity Yes
2176 C++14 D.15.1 [depr.conversions.string] Special members for wstring_convert and wbuffer_convert Yes
2314 C++14 20.3.1 [intseq.general] apply() should return decltype(auto) and use decay_t before tuple_size Yes 0
2313 C++14 20.5.3.6 [tuple.helper] tuple_size should always derive from integral_constant<size_t, N> Yes 2
2316 C++14 20.11.4.5 [util.smartptr.weak.obs] weak_ptr::lock() should be atomic Yes 0
2346 C++14 20.15.3 [meta.help] integral_constant's member functions should be marked noexcept Yes 0
2317 C++14 20.15.5 [meta.unary.prop.query] The type property queries should be UnaryTypeTraits returning size_t Yes 0
2193 C++14 22 [containers] Default constructors for standard library containers are explicit Yes 1
2182 C++14 22.2.1 [container.requirements.general] Container::[const_]reference types are misleadingly specified Yes 0
2308 C++14 22.2.1 [container.requirements.general] Clarify container destructor requirements w.r.t. std::array Yes 0
2320 C++14 22.2.1 [container.requirements.general] select_on_container_copy_construction() takes allocators, not containers Yes 0
2322 C++14 22.2.6 [associative.reqmts] Associative(initializer_list, stuff) constructors are underspecified Yes 0
2304 C++14 22.2.7 [unord.req] Complexity of count in unordered associative containers Yes 0
2323 C++14 22.3.11.3 [vector.capacity] vector::resize(n, t)'s specification should be simplified Yes 0
2339 C++14 25.7.2 [alg.nth.element] Wording issue in nth_element Yes 0
2357 C++14 25.7.4 [alg.partitions] Remaining "Assignable" requirement Yes 0
2293 C++14 28.4.2.2.2 [facet.num.put.virtuals] Wrong facet used by num_put::do_put Yes 0
2341 C++14 29.7.5.1.4 [ostream.seeks] Inconsistency between basic_ostream::seekp(pos) and basic_ostream::seekp(off, dir) Yes 0
2330 C++14 30.5.1 [re.synopt] regex("meow", regex::icase) is technically forbidden but should be permitted Yes 0
2306 C++14 30.10 [re.results] match_results::reference should be value_type&, not const value_type& Yes 4
2205 C++14 30.11.2 [re.alg.match] Problematic postconditions of regex_match and regex_search Yes 0
2213 C++14 30.11.4 [re.alg.replace] Return value of std::regex_replace Yes 0
2104 C++14 32.4.4.3 [thread.lock.unique] unique_lock move-assignment should not be noexcept Yes
2186 C++14 32.6.9 [futures.async] Incomplete action on async/launch::deferred Yes
2324 C++14 99 [back.insert.iter.cons] Insert iterator constructors should use addressof() Yes 0
2300 C++14 22.4.4 [map] [CD] Redundant sections for map and multimap members should be removed Yes
2229 C++14 D.14 [depr.locale.stdcvt] Standard code conversion facets underspecified Yes
2174 C++14 D.15.1 [depr.conversions.string] wstring_convert::converted() should be noexcept Yes
2225 C++14 16.5.2.2 [using.headers] Unrealistic header inclusion checks required Yes
2291 C++14 16.5.3.4 [hash.requirements] std::hash is vulnerable to collision DoS attack Yes
2065 C++14 16.5.3.5 [allocator.requirements] Minimal allocator interface Yes
2081 C++14 16.5.3.5 [allocator.requirements] Allocator requirements should include CopyConstructible Yes
2147 C++14 16.5.3.5 [allocator.requirements] Unclear hint type in Allocator's allocate function Yes
2162 C++14 16.5.3.5 [allocator.requirements] allocator_traits::max_size missing noexcept Yes
2263 C++14 16.5.3.5 [allocator.requirements] Comparing iterators and allocator pointers with different const-character Yes 1
2112 C++14 16.5.5 [conforming] User-defined classes that cannot be derived from Yes 1
2013 C++14 16.5.5.6 [constexpr.functions] Do library implementers have the freedom to add constexpr? Yes
2044 C++14 16.5.5.7 [algorithm.stable] No definition of "Stable" for copy algorithms Yes
2099 C++14 17.13 [support.runtime] Unnecessary constraints of va_start() usage Yes
2145 C++14 19.5.2 [syserr.errcat] error_category default constructor Yes
2109 C++14 19.5.6 [syserr.hash] Incorrect requirements for hash specializations Yes
2301 C++14 20.5.3.4 [tuple.creation] Why is std::tie not constexpr? Yes 2
2103 C++14 20.10.10 [default.allocator] std::allocator_traits<std::allocator<T>>::propagate_on_container_move_assignment Yes
2047 C++14 20.11.1.2.3 [unique.ptr.single.asgn] Incorrect "mixed" move-assignment semantics of unique_ptr Yes
2246 C++14 20.11.1.2.3 [unique.ptr.single.asgn] unique_ptr assignment effects w.r.t. deleter Yes
2169 C++14 20.11.1.3.4 [unique.ptr.runtime.modifiers] Missing reset() requirements in unique_ptr specialization Yes
2083 C++14 20.11.4 [util.smartptr.weak] const-qualification on weak_ptr::owner_before Yes
2315 C++14 20.11.4 [util.smartptr.weak] weak_ptr should be movable Yes 2
2203 C++14 20.13.4 [allocator.adaptor.members] scoped_allocator_adaptor uses wrong argument types for piecewise construction Yes
2048 C++14 20.14 [function.objects] Unnecessary mem_fn overloads Yes
2149 C++14 20.14 [function.objects] Concerns about 20.8/5 Yes
2010 C++14 20.14.14.1 [func.bind.isbind] is_* traits for binding operations can't be meaningfully specialized Yes
2021 C++14 20.14.14.3 [func.bind.bind] Further incorrect usages of result_of Yes
2132 C++14 20.14.16.2.1 [func.wrap.func.con] std::function ambiguity Yes 2
2148 C++14 20.14.18 [unord.hash] Hashing enums should be supported directly by std::hash Yes
2015 C++14 20.15.4 [meta.unary] Incorrect pre-conditions for some type traits Yes
2247 C++14 20.15.4.1 [meta.unary.cat] Type traits and std::nullptr_t Yes
2049 C++14 20.15.4.3 [meta.unary.prop] is_destructible is underspecified Yes
2196 C++14 20.15.4.3 [meta.unary.prop] Specification of is_*[copy/move]_[constructible/assignable] unclear for non-referencable types Yes
2197 C++14 20.15.4.3 [meta.unary.prop] Specification of is_[un]signed unclear for non-arithmetic types Yes
2298 C++14 20.15.4.3 [meta.unary.prop] [CD] is_nothrow_constructible is always false because of create<> Yes
2141 C++14 20.15.7.6 [meta.trans.other] common_type trait produces reference types Yes
2144 C++14 20.17 [type.index] Missing noexcept specification in type_index Yes
2064 C++14 21.3.2 [basic.string] More noexcept issues in basic_string Yes
2268 C++14 21.3.2 [basic.string] Setting a default argument in the declaration of a member function assign of std::basic_string Yes
2003 C++14 21.3.2.1 [string.require] String exception inconsistency in erase. Yes 0
2069 C++14 21.3.2.2 [string.cons] Inconsistent exception spec for basic_string move constructor Yes
2235 C++14 21.3.2.2 [string.cons] Undefined behavior without proper requirements on basic_string constructors Yes
2207 C++14 21.3.2.5 [string.access] basic_string::at should not have a Requires clause Yes
2011 C++14 21.3.3.4 [string.io] Unexpected output required of strings Yes
2009 C++14 21.3.4 [string.conversions] Reporting out-of-bound values on numeric string conversions Yes
2105 C++14 22.2.1 [container.requirements.general] Inconsistent requirements on const_iterator's value_type Yes
2211 C++14 22.2.1 [container.requirements.general] Replace ambiguous use of "Allocator" in container requirements Yes
2257 C++14 22.2.1 [container.requirements.general] Simplify container requirements with the new algorithms Yes
2200 C++14 22.2.2 [container.requirements.dataraces] Data race avoidance for all containers, not only for sequences Yes
2231 C++14 22.2.3 [sequence.reqmts] DR 704 removes complexity guarantee for clear() Yes
1214 C++14 22.2.6 [associative.reqmts] Insufficient/inconsistent key immutability requirements for associative containers Yes
2258 C++14 22.2.6 [associative.reqmts] a.erase(q1, q2) unable to directly return q2 Yes 0
2299 C++14 22.2.6 [associative.reqmts] [CD] Effects of inaccessible key_compare::is_transparent type are not clear Yes 1
2356 C++14 22.2.7 [unord.req] Stability of erasure in unordered associative containers Yes 2
2209 C++14 22.3 [sequences] assign() overspecified for sequence containers Yes
2210 C++14 22.3 [sequences] Missing allocator-extended constructor for allocator-aware containers Yes
2045 C++14 22.3.9.6 [forwardlist.ops] forward_list::merge and forward_list::splice_after with unequal allocators Yes
2123 C++14 22.3.9.6 [forwardlist.ops] merge() allocator requirements for lists versus forward lists Yes
2222 C++14 22.3.9.6 [forwardlist.ops] Inconsistency in description of forward_list::splice_after single-element overload Yes
2122 C++14 22.3.10.5 [list.ops] merge() stability for lists versus forward lists Yes
2033 C++14 22.3.11.3 [vector.capacity] Preconditions of reserve, shrink_to_fit, and resize functions Yes
2252 C++14 22.3.11.5 [vector.modifiers] Strong guarantee on vector::push_back() still broken with C++11? Yes
2187 C++14 22.3.12 [vector.bool] vector<bool> is missing emplace and emplace_back member functions Yes
2005 C++14 22.4.4.4 [map.modifiers] unordered_map::insert(T&&) protection should apply to map too Yes
2050 C++14 22.5 [unord] Unordered associative containers do not use allocator_traits to define member types Yes
2194 C++14 22.6 [container.adaptors] Impossible container requirements for adaptor types Yes
2061 C++14 23.2 [iterator.synopsis] make_move_iterator and arrays Yes
2128 C++14 23.2 [iterator.synopsis] Absence of global functions cbegin/cend Yes
2285 C++14 23.5.1 [reverse.iterators] make_reverse_iterator Yes
2360 C++14 23.5.1.1 [reverse.iterator] reverse_iterator::operator*() is unimplementable Yes 1
2280 C++14 23.7 [iterator.range] begin/end for arrays should be constexpr and noexcept Yes
2150 C++14 25.5.6 [alg.find.end] Unclear specification of find_end Yes
2039 C++14 25.6.1 [alg.copy] Issues with std::reverse and std::copy_if Yes
2110 C++14 25.6.8 [alg.remove] remove can't swap but note says it might Yes
2074 C++14 25.6.10 [alg.reverse] Off by one error in std::reverse_copy Yes
2163 C++14 25.7.2 [alg.nth.element] nth_element requires inconsistent post-conditions Yes
2350 C++14 25.7.8 [alg.min.max] min, max, and minmax should be constexpr Yes 1
2180 C++14 26.6.7.1 [rand.util.seedseq] Exceptions from std::seed_seq operations Yes
2058 C++14 26.7 [numarray] valarray and begin/end Yes
2071 C++14 26.7.2.3 [valarray.assign] std::valarray move-assignment Yes
2086 C++14 26.8 [c.math] Overly generic type support for math functions Yes
2094 C++14 27.5.1 [time.duration.cons] duration conversion overflow shouldn't participate in overload resolution Yes
2028 C++14 28.4.7.1 [locale.messages] messages_base::catalog overspecified Yes
2087 C++14 29.5 [iostreams.base] iostream_category() and noexcept Yes
2143 C++14 29.5.3 [ios.base] ios_base::xalloc should be thread-safe Yes
2085 C++14 29.7.4.3 [istream.unformatted] Wrong description of effect 1 of basic_istream::ignore Yes
2272 C++14 29.7.8 [quoted.manip] quoted should use char_traits::eq for character comparison Yes
2344 C++14 29.7.8 [quoted.manip] quoted()'s interaction with padding is unclear Yes 1
2329 C++14 30.4 [re.syn] regex_match()/regex_search() with match_results should forbid temporary strings Yes 2
2053 C++14 30.5 [re.const] Errors in regex bitmask types Yes
1450 C++14 30.5.2 [re.matchflag] Contradiction in regex_constants Yes 3
2018 C++14 30.7 [re.traits] [CD] regex_traits::isctype Returns clause is wrong Yes
2271 C++14 30.7 [re.traits] regex_traits::lookup_classname specification unclear Yes
2332 C++14 30.12 [re.iter] regex_iterator/regex_token_iterator should forbid temporary regexes Yes 2
2130 C++14 31.4 [atomics.order] Missing ordering constraints Yes
2138 C++14 31.9 [atomics.flag] atomic_flag::clear should not accept memory_order_consume Yes
2159 C++14 31.9 [atomics.flag] atomic_flag initialization Yes
2091 C++14 32.4.3.3 [thread.timedmutex.requirements] Misplaced effect in m.try_lock_for() Yes
2288 C++14 32.4.3.4 [thread.sharedmutex.requirements] Inconsistent requirements for shared mutexes Yes
2080 C++14 32.4.6 [thread.once] Specify when once_flag becomes invalid Yes
2140 C++14 32.5 [thread.condition] Meaning of notify_all_at_thread_exit synchronization requirement? Yes
2190 C++14 32.5 [thread.condition] Condition variable specification Yes
2093 C++14 32.5.3 [thread.condition.condvar] Throws clause of condition_variable::wait with predicate Yes
2135 C++14 32.5.3 [thread.condition.condvar] Unclear requirement for exceptions thrown in condition_variable::wait() Yes
2092 C++14 32.5.4 [thread.condition.condvarany] Vague Wording for condition_variable_any Yes
2056 C++14 32.6.1 [futures.overview] future_errc enums start with value 0 (invalid value for broken_promise) Yes
2102 C++14 32.6.1 [futures.overview] Why is std::launch an implementation-defined type? Yes
2098 C++14 32.6.6 [futures.promise] Minor Inconsistency between promise::set_value and promise::set_value_at_thread_exit Yes
2078 C++14 32.6.9 [futures.async] Throw specification of async() incomplete Yes
2100 C++14 32.6.9 [futures.async] timed waiting functions cannot timeout if launch::async policy used Yes
2120 C++14 32.6.9 [futures.async] What should async do if neither 'async' nor 'deferred' is set in policy? Yes
2067 C++14 32.6.10 [futures.task] packaged_task should have deleted copy c'tor with const parameter Yes
2097 C++14 32.6.10.1 [futures.task.members] packaged_task constructors should be constrained Yes
2142 C++14 32.6.10.1 [futures.task.members] packaged_task::operator() synchronization too broad? Yes
2096 C++14 99 [futures.unique_future] Incorrect constraints of future::get in regard to MoveAssignable Yes
2185 C++14 99 [futures.unique_future] Missing throws clause for future/shared_future::wait_for/wait_until Yes
2188 C++14 99 [reverse.iter.opref] Reverse iterator does not fully support targets that overload operator& Yes 1

C++11 (322 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
878 C++11 22.3.9 [forwardlist] forward_list preconditions Yes
1126 C++11 23.6.3.3 [istreambuf.iterator.ops] istreambuff_iterator::equal needs a const & parameter Yes
1030 C++11 D.12 [depr.util.smartptr.shared.atomic] Missing requirements for smart-pointer safety API Yes
1339 C++11 20.10.11.7 [uninitialized.fill] uninitialized_fill_n should return the end of its range Yes
1134 C++11 26.8 [c.math] Redundant specification of <stdint.h>, <fenv.h>, <tgmath.h>, and maybe <complex.h> Yes
1474 C++11 31.7.1 [atomics.types.operations] weak compare-and-exchange confusion Yes 1470, 1475, 1476, 1477
1368 C++11 99 [depr.uncaught] Thread safety of std::uncaught_exception() Yes
1362 C++11 16.5.4.9 [res.on.arguments] Description of binding to rvalue-references should use the new 'xvalue' vocabulary Yes
1418 C++11 22.3.8.3 [deque.capacity] Effects of resize(size()) on a deque Yes
991 C++11 D.15.1 [depr.conversions.string] Provide allocator for wstring_convert Yes
1252 C++11 D.15.2 [depr.conversions.buffer] wbuffer_convert::state_type inconsistency Yes
1195 C++11 16 [library] "Diagnostic required" wording is insufficient to prevent UB Yes
1349 C++11 16 [library] swap should not throw Yes
1354 C++11 16.3.7 [defns.deadlock] The definition of deadlock excludes cases involving a single thread Yes
997 C++11 16.4.1.4 [structure.specifications] "Effects: Equivalent to" is underspecified Yes
1065 C++11 16.5.1.1 [contents] Allow inline namespaces within namespace std for implementations Yes
1264 C++11 16.5.1.3 [compliance] quick_exit support for freestanding implementations Yes
1360 C++11 16.5.1.3 [compliance] Add <atomic> to free-standing implementations Yes
724 C++11 16.5.3.1 [utility.arg.requirements] DefaultConstructible is not defined Yes
753 C++11 16.5.3.1 [utility.arg.requirements] Move constructor in draft Yes
1309 C++11 16.5.3.1 [utility.arg.requirements] Missing expressions for Move/CopyConstructible Yes
1332 C++11 16.5.3.4 [hash.requirements] Let Hash objects throw! Yes
752 C++11 16.5.3.5 [allocator.requirements] Allocator complexity requirement Yes
1157 C++11 16.5.4.2.1 [namespace.std] Local types can now instantiate templates Yes
2014 C++11 16.5.4.3.2 [macro.names] More restrictions on macro names Yes
1004 C++11 16.5.4.8 [res.on.functions] Clarify "throws an exception" Yes
1204 C++11 16.5.4.9 [res.on.arguments] Global permission to move Yes
1095 C++11 16.5.4.10 [res.on.objects] Shared objects and the library wording unclear Yes
1178 C++11 16.5.5.2 [res.on.headers] Header dependencies Yes
1066 C++11 17 [language.support] Use [[noreturn]] attribute in the library Yes
1097 C++11 17.2 [support.types] #define __STDCPP_THREADS Yes
1363 C++11 17.2 [support.types] offsetof should be marked noexcept Yes
993 C++11 17.5 [support.start.term] _Exit needs better specification Yes
1144 C++11 17.5 [support.start.term] "thread safe" is undefined Yes
1006 C++11 17.6.2 [new.delete] operator delete in garbage collected implementation Yes
1524 C++11 17.6.2.4 [new.delete.dataraces] Allocation functions are missing happens-before requirements and guarantees Yes
994 C++11 17.6.3.3 [new.handler] quick_exit should terminate well-defined Yes
471 C++11 17.9.2 [exception] result of what() implementation-defined Yes
1130 C++11 17.9.6 [propagation] copy_exception name misleading Yes
819 C++11 17.9.7 [except.nested] rethrow_if_nested Yes
1136 C++11 17.9.7 [except.nested] Incomplete specification of nested_exception::rethrow_nested() Yes
1216 C++11 17.9.7 [except.nested] LWG 1066 Incomplete? Yes
1370 C++11 17.9.7 [except.nested] throw_with_nested should not use perfect forwarding Yes
894 C++11 17.13 [support.runtime] longjmp and destructors Yes
1237 C++11 19.5 [syserr] Constrained error_code/error_condition members Yes
890 C++11 19.5.2 [syserr.errcat] Improving <system_error> initialization Yes
1372 C++11 19.5.2.5 [syserr.errcat.objects] Adopt recommended practice for standard error categories Yes
1103 C++11 19.5.7.2 [syserr.syserr.members] system_error constructor postcondition overly strict Yes
1255 C++11 20.2 [utility] declval should be added to the library Yes
939 C++11 20.2.4 [forward] Problem with std::identity and reference-to-temporaries Yes
296 C++11 20.4 [pairs] Missing descriptions and requirements of pair operators Yes
811 C++11 20.4 [pairs] pair of pointers no longer works with literal 0 Yes
885 C++11 20.4 [pairs] pair assignment Yes
886 C++11 20.5.3.1 [tuple.cnstr] tuple construction Yes
1384 C++11 20.5.3.4 [tuple.creation] Function pack_arguments is poorly named Yes
1385 C++11 20.5.3.4 [tuple.creation] tuple_cat should be a single variadic signature Yes
1386 C++11 20.5.3.4 [tuple.creation] pack_arguments overly complex Yes
1118 C++11 20.5.3.6 [tuple.helper] tuple query APIs do not support cv-qualification Yes
1191 C++11 20.5.3.7 [tuple.elem] tuple get API should respect rvalues Yes
1335 C++11 20.5.3.8 [tuple.rel] Insufficient requirements for tuple::operator<() Yes
853 C++11 20.9.2 [template.bitset] to_string needs updating with zero and one Yes
1113 C++11 20.9.2 [template.bitset] bitset::to_string could be simplified Yes
1227 C++11 20.9.2 [template.bitset] <bitset> synopsis overspecified Yes
1250 C++11 20.9.2 [template.bitset] <bitset> still overspecified Yes
1325 C++11 20.9.2.1 [bitset.cons] bitset Yes
907 C++11 20.9.2.2 [bitset.members] Bitset's immutable element retrieval is inconsistently defined Yes
1073 C++11 20.10 [memory] Declaration of allocator_arg should be constexpr Yes
1401 C++11 20.10 [memory] Provide support for unique_ptr<T> == nullptr Yes
1402 C++11 20.10 [memory] nullptr constructors for smart pointers should be constexpr Yes
1404 C++11 20.10.3 [pointer.traits] pointer_traits should have a size_type member Yes
1098 C++11 20.10.5 [util.dynamic.safety] definition of get_pointer_safety() Yes
1408 C++11 20.10.5 [util.dynamic.safety] Allow recycling of pointers after undeclare_no_pointers Yes
1403 C++11 20.10.7 [allocator.tag] Inconsistent definitions for allocator_arg Yes
1285 C++11 20.10.9.2 [allocator.traits.members] allocator_traits call to new Yes
1286 C++11 20.10.9.2 [allocator.traits.members] allocator_traits::select_on_container_copy_construction type-o Yes
866 C++11 20.10.11 [specialized.algorithms] Qualification of placement new-expressions Yes
999 C++11 20.10.11 [specialized.algorithms] Taking the address of a function Yes
970 C++11 20.10.11.2 [specialized.addressof] addressof overload unneeded Yes
1193 C++11 20.11.1.1 [unique.ptr.dltr] default_delete cannot be instantiated with incomplete types Yes
854 C++11 20.11.1.1.2 [unique.ptr.dltr.dflt] default_delete converting constructor underspecified Yes
1517 C++11 20.11.1.1.2 [unique.ptr.dltr.dflt] default_delete's default constructor should be trivial Yes
938 C++11 20.11.1.1.3 [unique.ptr.dltr.dflt1] default_delete<T[]>::operator() should only accept T* Yes
1303 C++11 20.11.1.2 [unique.ptr.single] shared_ptr, unique_ptr, and rvalue references v2 Yes
1021 C++11 20.11.1.2.3 [unique.ptr.single.asgn] Allow nullptr_t assignments to unique_ptr Yes
998 C++11 20.11.1.2.5 [unique.ptr.single.modifiers] Smart pointer referencing its owner Yes
821 C++11 20.11.1.3.4 [unique.ptr.runtime.modifiers] Minor cleanup : unique_ptr Yes
758 C++11 20.11.3 [util.smartptr.shared] shared_ptr and nullptr Yes
896 C++11 20.11.3 [util.smartptr.shared] Library thread safety issue Yes
881 C++11 20.11.3.1 [util.smartptr.shared.const] shared_ptr conversion issue Yes
925 C++11 20.11.3.1 [util.smartptr.shared.const] shared_ptr's explicit conversion from unique_ptr Yes
899 C++11 20.11.3.2 [util.smartptr.shared.dest] Adjusting shared_ptr for nullptr_t Yes
711 C++11 20.11.3.5 [util.smartptr.shared.obs] Contradiction in empty shared_ptr Yes
1262 C++11 20.11.3.7 [util.smartptr.shared.cmp] std::less<std::shared_ptr<T>> is underspecified Yes
1256 C++11 20.11.4 [util.smartptr.weak] weak_ptr comparison functions should be removed Yes
1231 C++11 20.11.4.5 [util.smartptr.weak.obs] weak_ptr comparisons incompletely resolved Yes
949 C++11 20.11.5 [util.smartptr.ownerless] owner_less Yes
1316 C++11 20.13 [allocator.adaptor] scoped_allocator_adaptor operator== has no definition Yes
1294 C++11 20.14.3 [func.require] Difference between callable wrapper and forwarding call wrapper unclear Yes
1295 C++11 20.14.3 [func.require] Contradictory call wrapper requirements Yes
1520 C++11 20.14.3 [func.require] INVOKE on member data pointer with too many arguments Yes
987 C++11 20.14.5 [refwrap] reference_wrapper and function types Yes
2017 C++11 20.14.5 [refwrap] std::reference_wrapper makes incorrect usage of std::result_of Yes
2022 C++11 20.14.5 [refwrap] reference_wrapper<T>::result_type is underspecified Yes
688 C++11 20.14.5.1 [refwrap.const] reference_wrapper, cref unsafe, allow binding to rvalues Yes
1071 C++11 20.14.14.1 [func.bind.isbind] is_bind_expression should derive from integral_constant<bool> Yes
817 C++11 20.14.14.3 [func.bind.bind] bind needs to be moved Yes
920 C++11 20.14.15 [func.memfn] Ref-qualification support in the library Yes 1230
1070 C++11 20.14.16.2 [func.wrap.func] Ambiguous move overloads in function Yes
1240 C++11 20.14.16.2 [func.wrap.func] Deleted comparison functions of std::function not needed Yes
1399 C++11 20.14.16.2 [func.wrap.func] function does not need an explicit default constructor Yes
1287 C++11 20.14.16.2.1 [func.wrap.func.con] std::function requires CopyConstructible target object Yes
1288 C++11 20.14.16.2.1 [func.wrap.func.con] std::function assignment from rvalues Yes
1292 C++11 20.14.16.2.1 [func.wrap.func.con] std::function should support all callable types Yes
1400 C++11 20.14.16.2.1 [func.wrap.func.con] FCD function does not need an explicit default constructor Yes
1333 C++11 20.14.16.2.4 [func.wrap.func.inv] Missing forwarding during std::function invocation Yes
978 C++11 20.14.18 [unord.hash] Hashing smart pointers Yes
1182 C++11 20.14.18 [unord.hash] Unfortunate hash dependencies Yes
1245 C++11 20.14.18 [unord.hash] std::hash<string> & co Yes
1114 C++11 20.15 [meta] Type traits underspecified Yes
1019 C++11 20.15.3 [meta.help] Make integral_constant objects useable in integral-constant-expressions Yes
931 C++11 20.15.4.3 [meta.unary.prop] type trait extent<T, I> Yes
1131 C++11 20.15.4.3 [meta.unary.prop] C++0x does not need alignment_of Yes
975 C++11 20.15.6 [meta.rel] is_convertible cannot be instantiated for non-convertible types Yes
1187 C++11 20.15.7.6 [meta.trans.other] std::decay Yes
921 C++11 20.16.3 [ratio.ratio] Rational Arithmetic should use template aliases Yes
1388 C++11 20.16.3 [ratio.ratio] LWG 1281 incorrectly accepted Yes
948 C++11 20.16.4 [ratio.arithmetic] ratio arithmetic tweak Yes
1170 C++11 21.1 [strings.general] String char-like types no longer PODs Yes
876 C++11 21.3.2 [basic.string] basic_string access operations should give stronger guarantees Yes
847 C++11 21.3.2.1 [string.require] string exception safety guarantees Yes
1192 C++11 21.3.2.3 [string.iterators] basic_string missing definitions for cbegin / cend / crbegin / crend Yes
1323 C++11 21.3.2.6.6 [string.replace] basic_string::replace should use const_iterator Yes
1261 C++11 21.3.4 [string.conversions] Insufficent overloads for to_string / to_wstring Yes
774 C++11 22 [containers] Member swap undefined for most containers Yes
868 C++11 22 [containers] Default construction and value-initialization Yes
883 C++11 22 [containers] swap circular definition Yes
704 C++11 22.2 [container.requirements] MoveAssignable requirement for container value type overly strict Yes
861 C++11 22.2 [container.requirements] Incomplete specification of EqualityComparable for std::forward_list Yes
1416 C++11 22.2 [container.requirements] forward_list::erase_after should not be allowed to throw Yes
1034 C++11 22.2.1 [container.requirements.general] Clarify generality of Container Requirement tables Yes
1319 C++11 22.2.1 [container.requirements.general] Containers should require an iterator that is at least a Forward Iterator Yes
149 C++11 22.2.3 [sequence.reqmts] Insert should return iterator to first element inserted Yes
1037 C++11 22.2.3 [sequence.reqmts] Unclear status of match_results as library container Yes
1038 C++11 22.2.3 [sequence.reqmts] Sequence requirement table needs to reference several new containers Yes
1039 C++11 22.2.3 [sequence.reqmts] Sequence container back function should also support const_iterator Yes
1234 C++11 22.2.3 [sequence.reqmts] "Do the right thing" and NULL Yes
982 C++11 22.2.6 [associative.reqmts] Wrong complexity for initializer_list assignment in Table 85 Yes
1040 C++11 22.2.6 [associative.reqmts] Clarify possible sameness of associative container's iterator and const_iterator Yes
1253 C++11 22.2.6 [associative.reqmts] invalidation of iterators and emplace vs. insert inconsistence in assoc. containers Yes
869 C++11 22.2.7 [unord.req] Bucket (local) iterators and iterating past end Yes
870 C++11 22.2.7 [unord.req] Do unordered containers not support function pointers for predicate/hasher? Yes
981 C++11 22.2.7 [unord.req] Unordered container requirements should add initializer_list support Yes
1189 C++11 22.2.7 [unord.req] Awkward interface for changing the number of buckets in an unordered associative container Yes
1197 C++11 22.2.7 [unord.req] Can unordered containers have bucket_count() == 0? Yes
1306 C++11 22.3.7 [array] pointer and const_pointer for <array> Yes
1417 C++11 22.3.7.5 [array.zero] front/back on a zero-sized array should be undefined Yes
1276 C++11 22.3.9 [forwardlist] forwardlist missing allocator constructors Yes
2042 C++11 22.3.9.3 [forwardlist.iter] Comparing forward_list::before_begin() to forward_list::end() Yes
1278 C++11 22.3.9.5 [forwardlist.modifiers] Inconsistent return values for forward_list::insert_after Yes
1340 C++11 22.3.9.5 [forwardlist.modifiers] Why does forward_list::resize take the object to be copied by value? Yes
898 C++11 22.3.9.6 [forwardlist.ops] Small contradiction in n2723 to forward to committee Yes
1133 C++11 22.3.9.6 [forwardlist.ops] Does N2844 break current specification of list::splice? Yes
1310 C++11 22.3.9.6 [forwardlist.ops] forward_list splice_after from lvalues Yes
1420 C++11 22.3.10.3 [list.capacity] Effects of resize(size()) on a list Yes
1207 C++11 22.3.10.5 [list.ops] Underspecified std::list operations? Yes
1215 C++11 22.3.10.5 [list.ops] list::merge with unequal allocators Yes
1525 C++11 22.3.11.3 [vector.capacity] Effects of resize(size()) on a vector Yes
1312 C++11 22.3.11.4 [vector.data] vector::data no longer returns a raw pointer Yes
814 C++11 22.3.12 [vector.bool] vector<bool>::swap(reference, reference) not defined Yes
1254 C++11 22.3.12 [vector.bool] Misleading sentence in vector<bool>::flip Yes
1284 C++11 22.3.12 [vector.bool] vector<bool> initializer_list constructor missing an allocator argument Yes
1423 C++11 22.4.4 [map] map constructor accepting an allocator as single parameter should be explicit Yes
2007 C++11 22.4.4.3 [map.access] Incorrect specification of return value for map<>::at() Yes
1424 C++11 22.4.5 [multimap] multimap constructor accepting an allocator as a single parameter should be explicit Yes
1425 C++11 22.4.6 [set] set constructor accepting an allocator as a single parameter should be explicit Yes
1426 C++11 22.4.7 [multiset] multiset constructor accepting an allocator as a single parameter should be explicit Yes
676 C++11 22.5 [unord] Moving the unordered containers Yes
1427 C++11 22.5.4 [unord.map] unordered_map constructor accepting an allocator as a single parameter should be explicit Yes
1519 C++11 22.5.4 [unord.map] bucketsize() const only for unordered set Yes
1428 C++11 22.5.5 [unord.multimap] unordered_multimap constructor accepting an allocator as a single parameter should be explicit Yes
1429 C++11 22.5.6 [unord.set] unordered_set constructor accepting an allocator as a single parameter should be explicit Yes
1430 C++11 22.5.7 [unord.multiset] unordered_multiset constructor accepting an allocator as a single parameter should be explicit Yes
1194 C++11 22.6 [container.adaptors] Unintended queue constructor Yes
1198 C++11 22.6 [container.adaptors] Container adaptor swap: member or non-member? Yes
1199 C++11 22.6 [container.adaptors] Missing extended copy constructor in container adaptors Yes
765 C++11 23.3.4 [iterator.concepts] More on iterator validity Yes
1079 C++11 23.3.5.6 [random.access.iterators] UK-265: RandomAccessIterator's operator- has nonsensical effects clause Yes
1011 C++11 23.4.2 [iterator.operations] next/prev wrong iterator type Yes
1012 C++11 23.5.1.3 [reverse.iter.cons] reverse_iterator default ctor should value initialize Yes
788 C++11 23.6.1 [istream.iterator] Ambiguity in [istream.iterator] Yes
838 C++11 23.6.1 [istream.iterator] Can an end-of-stream iterator become a non-end-of-stream one? Yes
1280 C++11 23.6.1.1 [istream.iterator.cons] Initialization of stream iterators Yes
659 C++11 23.6.3 [istreambuf.iterator] istreambuf_iterator should have an operator->() Yes
1205 C++11 25 [algorithms] Some algorithms could more clearly document their handling of empty ranges Yes
1110 C++11 25.5.4 [alg.foreach] Is for_each overconstrained? Yes
1338 C++11 25.5.13 [alg.search] LWG 1205 incorrectly applied Yes
1206 C++11 25.6.2 [alg.move] Incorrect requires for move_backward and copy_backward Yes
865 C++11 25.6.6 [alg.fill] More algorithms that throw away information Yes
1241 C++11 25.6.9 [alg.unique] unique_copy needs to require EquivalenceRelation Yes
1432 C++11 25.6.13 [alg.random.shuffle] random_shuffle signatures are inconsistent Yes 1433
556 C++11 25.7 [alg.sorting] Is Compare a BinaryPredicate? Yes
498 C++11 25.7.4 [alg.partitions] Requirements for partition() and stable_partition() too strong Yes
780 C++11 25.7.5 [alg.merge] std::merge() specification incorrect/insufficient Yes
539 C++11 25.9.6 [partial.sum] partial_sum and adjacent_difference should mention requirements Yes
871 C++11 25.9.12 [numeric.iota] Iota's requirements on T are too strong Yes
860 C++11 26 [numerics] Floating-Point State Yes
1435 C++11 26.4.7 [complex.value.ops] Unclear returns specifications for C99 complex number functions Yes
1137 C++11 26.4.9 [cmplx.over] Return type of conj and proj Yes
1522 C++11 26.4.9 [cmplx.over] conj specification is now nonsense Yes
1436 C++11 26.6.3 [rand.eng] Random number engine constructor concerns Yes
1437 C++11 26.6.3.2 [rand.eng.mers] Mersenne twister meaningless for word sizes less than two Yes
1438 C++11 26.6.4.2 [rand.adapt.disc] No definition for base() Yes
1439 C++11 26.6.8.6.2 [rand.dist.samp.pconst] Return from densities() functions? Yes
1440 C++11 26.6.8.6.3 [rand.dist.samp.plinear] Incorrect specification for piecewise_linear_distribution Yes
630 C++11 26.7.2.2 [valarray.cons] arrays of valarray Yes
1208 C++11 26.7.2.2 [valarray.cons] valarray initializer_list constructor has incorrect effects Yes
430 C++11 26.7.2.5 [valarray.sub] valarray subset operations Yes
1441 C++11 26.8 [c.math] Floating-point test functions are incorrectly specified Yes
954 C++11 27.3 [time.clock.req] Various threading bugs #4 Yes
956 C++11 27.3 [time.clock.req] Various threading bugs #6 Yes
934 C++11 27.5 [time.duration] duration is missing operator% Yes
1171 C++11 27.5 [time.duration] duration types should be literal Yes
1177 C++11 27.5 [time.duration] Improve "diagnostic required" wording Yes
974 C++11 27.5.1 [time.duration.cons] duration<double> should not implicitly convert to duration<int> Yes
1271 C++11 27.5.5 [time.duration.nonmember] CR undefined in duration operators Yes
2004 C++11 27.5.5 [time.duration.nonmember] duration::operator* has template parameters in funny order Yes
2020 C++11 27.5.5 [time.duration.nonmember] Time utility arithmetic constexpr functions have invalid effects Yes
957 C++11 27.7.1 [time.clock.system] Various threading bugs #7 Yes
1298 C++11 28.2 [locale.syn] Missing specialization of ctype_byname<char> Yes
2019 C++11 28.3.3.1 [classification] isblank not supported by std::locale Yes
473 C++11 28.4.1.1 [locale.ctype] underspecified ctype calls Yes
427 C++11 28.4.2.1.2 [facet.num.get.virtuals] Stage 2 and rationale of DR 221 Yes
2041 C++11 28.4.2.1.2 [facet.num.get.virtuals] Stage 2 accumulate incompatibilty Yes
671 C++11 28.4.2.2.2 [facet.num.put.virtuals] precision of hexfloat Yes
1152 C++11 28.4.2.2.2 [facet.num.put.virtuals] Expressions parsed differently than intended Yes
836 C++11 28.4.6.1.2 [locale.money.get.virtuals] Effects of money_base::space and money_base::none on money_get Yes 670
1257 C++11 29.5 [iostreams.base] Header <ios> still contains a concept_map Yes
1249 C++11 29.5.5.2 [basic.ios.cons] basic_ios default ctor Yes
835 C++11 29.5.5.3 [basic.ios.members] Tying two streams together (correction to DR 581) Yes
1104 C++11 29.5.5.3 [basic.ios.members] basic_ios::move should accept lvalues Yes
1183 C++11 29.5.5.3 [basic.ios.members] basic_ios::set_rdbuf may break class invariants Yes
1094 C++11 29.5.5.4 [iostate.flags] Replace "unspecified-bool-type" by "explicit operator bool() const" in I/O library Yes
565 C++11 29.6.3.4.5 [streambuf.virt.put] xsputn inefficient Yes
911 C++11 29.7.4 [input.streams] I/O streams and move/swap semantic Yes
696 C++11 29.7.4.2.2 [istream.formatted.arithmetic] istream::operator>>(int&) broken Yes
810 C++11 29.7.7 [ext.manip] Missing traits dependencies in operational semantics of extended manipulators Yes
1299 C++11 29.7.7 [ext.manip] Confusing typo in specification for get_time Yes
1448 C++11 29.8.2.3 [stringbuf.members] Concerns about basic_stringbuf::str(basic_string) postconditions Yes
564 C++11 29.8.2.4 [stringbuf.virtuals] stringbuf seekpos underspecified Yes
1449 C++11 29.8.3 [istringstream] Incomplete specification of header <cinttypes> Yes
900 C++11 29.9.3.2 [ifstream.assign] Stream move-assignment Yes
984 C++11 29.12 [c.files] Does <cinttypes> have macro guards? Yes
1337 C++11 30.7 [re.traits] Swapped arguments in regex_traits::isctype Yes
723 C++11 30.8 [re.regex] basic_regex should be moveable Yes
2029 C++11 30.8 [re.regex] Missing 'noexcept' on basic_regex move-assignment operator Yes
1014 C++11 30.8.1 [re.regex.construct] basic_regex should be created/assigned from initializer lists Yes
2001 C++11 30.8.2 [re.regex.assign] Class template basic_regex uses non existent string_type Yes
1180 C++11 30.9.1 [re.submatch.members] Missing string_type member typedef in class sub_match Yes
1181 C++11 30.9.2 [re.submatch.op] Invalid sub_match comparison operators Yes
1209 C++11 30.10.1 [re.results.const] match_results should be moveable Yes
727 C++11 30.11.4 [re.alg.replace] regex_replace() doesn't accept basic_strings with custom traits and allocators Yes
909 C++11 30.12.2 [re.tokiter] regex_token_iterator should use initializer_list Yes
716 C++11 30.13 [re.grammar] Production in [re.grammar] not actually modified Yes
1478 C++11 31.7.1 [atomics.types.operations] Clarify race conditions in atomics initialization Yes
1479 C++11 31.10 [atomics.fences] Fence functions should be extern "C" Yes
1480 C++11 31.10 [atomics.fences] Atomic fences don't have synchronizes with relation Yes
1089 C++11 32 [thread] Unify "Throws: Nothing." specifications Yes
1108 C++11 32.2.2 [thread.req.exception] thread.req.exception overly constrains implementations Yes
1158 C++11 32.2.4 [thread.req.timing] Encouragement to use monotonic clock Yes
1277 C++11 32.3.2.1 [thread.thread.id] std::thread::id should be trivially copyable Yes
891 C++11 32.3.2.2 [thread.thread.constr] std::thread, std::call_once issue Yes
929 C++11 32.3.2.2 [thread.thread.constr] Thread constructor Yes
967 C++11 32.3.2.2 [thread.thread.constr] Various threading bugs #17 Yes
963 C++11 32.3.2.5 [thread.thread.member] Various threading bugs #13 Yes
1033 C++11 32.3.2.5 [thread.thread.member] thread::join() effects? Yes
888 C++11 32.3.3 [thread.thread.this] this_thread::yield too strong Yes
1487 C++11 32.3.3 [thread.thread.this] Clock related operations exception specifications conflict Yes
1044 C++11 32.4 [thread.mutex] Empty tag types should be constexpr literals Yes
960 C++11 32.4.3 [thread.mutex.requirements] Various threading bugs #10 Yes
968 C++11 32.4.3 [thread.mutex.requirements] Various threading bugs #18 Yes
1218 C++11 32.4.3 [thread.mutex.requirements] mutex destructor synchronization Yes
893 C++11 32.4.3.2.1 [thread.mutex.class] std::mutex issue Yes 905
1045 C++11 32.4.4.3.1 [thread.lock.unique.cons] Remove unnecessary preconditions from unique_lock constructor Yes
962 C++11 32.4.4.3.2 [thread.lock.unique.locking] Various threading bugs #12 Yes
1159 C++11 32.4.4.3.2 [thread.lock.unique.locking] Unclear spec for resource_deadlock_would_occur Yes 1219
986 C++11 32.4.5 [thread.lock.algorithm] Generic try_lock contradiction Yes
1494 C++11 32.4.6.2 [thread.once.callonce] Term "are serialized" not defined Yes
859 C++11 32.5 [thread.condition] Monotonic Clock is Conditionally Supported? Yes
1220 C++11 32.5 [thread.condition] What does condition_variable wait on? Yes
1222 C++11 32.5 [thread.condition] condition_variable incorrect effects for exception safety Yes
1497 C++11 32.5 [thread.condition] lock() postcondition can not be generally achieved Yes
857 C++11 32.5.3 [thread.condition.condvar] condition_variable::time_wait return bool error prone Yes
965 C++11 32.5.3 [thread.condition.condvar] Various threading bugs #15 Yes
1221 C++11 32.5.3 [thread.condition.condvar] condition_variable wording Yes
1267 C++11 32.5.4 [thread.condition.condvarany] Incorrect wording for condition_variable_any::wait_for Yes
1518 C++11 32.6 [futures] Waiting for deferred functions Yes
2032 C++11 32.6.9 [futures.async] Incorrect synchronization clause of async function Yes
2030 C++11 32.6.10 [futures.task] packaged_task::result_type should be removed Yes
1514 C++11 32.6.10.1 [futures.task.members] packaged_task constructors need review Yes
2008 C++11 32.6.10.1 [futures.task.members] Conflicting Error Conditions for packaged_task::operator() Yes
2027 C++11 32.6.10.1 [futures.task.members] Initialization of the stored task of a packaged_task Yes
2000 C++11 32.6.10.2 [futures.task.nonmembers] Missing definition of packaged_task specialization of uses_allocator Yes
1431 C++11 99 [alg.is_permutation] is_permutation must be more restrictive Yes
943 C++11 99 [atomics.types.address] ssize_t undefined Yes
1247 C++11 99 [auto.ptr] auto_ptr is overspecified Yes
1334 C++11 99 [back.insert.iter.op=] Insert iterators are broken for some proxy containers compared to C++03 Yes
1414 C++11 99 [char.traits.specializations.char16_t] Fixing remaining dead links to POS_T and OFF_T Yes 1444
1516 C++11 99 [depr.auto.ptr] No specification for which header contains auto_ptr Yes
1279 C++11 99 [depr.base] forbid [u|bi]nary_function specialization Yes
1367 C++11 99 [exception.unexpected] Deprecate library support for checking dynamic exception specifications Yes
904 C++11 99 [func.ret] result_of argument types Yes
1270 C++11 99 [func.ret] result_of should be moved to <type_traits> Yes
2031 C++11 99 [futures.unique_future] std::future<>::share() only applies to rvalues Yes
1123 C++11 99 [ios::Init] No requirement that standard streams be flushed Yes
419 C++11 99 [istream::sentry] istream extractors not setting failbit if eofbit is already set Yes
872 C++11 99 [move.iter.op.index] move_iterator::operator[] has wrong return type Yes
1381 C++11 99 [pair.range] Replace pair's range support by proper range facility Yes
1138 C++11 99 [string.op+] Unusual return value for operator+ Yes
990 C++11 99 [time.clock.monotonic] monotonic_clock::is_monotonic must be true Yes
951 C++11 99 [time.traits.is_fp] Various threading bugs #1 Yes
1387 C++11 99 [tuple.range] Range support by tuple should be removed Yes
922 C++11 B [implimits] §[func.bind.place] Number of placeholders Yes

CD1 (363 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
228 CD1 28.4 [locale.categories] Incorrect specification of "..._byname" facets Yes
201 CD1 17.3 [support.limits] Numeric limits terminology wrong Yes
559 CD1 17.3.4 [numeric.limits] numeric_limits<const T> Yes
416 CD1 17.3.5 [climits.syn] definitions of XXX_MIN and XXX_MAX macros in climits Yes
420 CD1 29.9 [file.streams] is std::FILE a complete type? Yes
444 CD1 29.9 [file.streams] Bad use of casts in fstream Yes
460 CD1 29.9 [file.streams] Default modes missing from basic_fstream member specifications Yes
425 CD1 99 [depr.temporary.buffer] return value of std::get_temporary_buffer Yes
551 CD1 D.6 [depr.c.headers] <ccomplex> Yes
413 CD1 29.7.4.2.3 [istream.extractors] Proposed resolution to LDR#64 still wrong Yes
182 CD1 16 [library] Ambiguous references to size_t Yes
230 CD1 16 [library] Assignable specified without also specifying CopyConstructible Yes
336 CD1 16 [library] Clause 17 lack of references to deprecated headers Yes
262 CD1 16.4.2.2.4 [bitmask.types] Bitmask operator ~ specified incorrectly Yes
229 CD1 16.5.1.1 [contents] Unqualified references of other library entities Yes
310 CD1 16.5.1.2 [headers] Is errno a macro? Yes
456 CD1 16.5.1.2 [headers] Traditional C header files are overspecified Yes
465 CD1 16.5.1.2 [headers] Contents of <ciso646> Yes
672 CD1 16.5.3.1 [utility.arg.requirements] Swappable requirements need updating Yes
258 CD1 16.5.3.5 [allocator.requirements] Missing allocator requirement Yes
274 CD1 16.5.3.5 [allocator.requirements] a missing/impossible allocator requirement Yes
401 CD1 16.5.3.5 [allocator.requirements] incorrect type casts in table 32 in lib.allocator.requirements Yes
402 CD1 16.5.3.5 [allocator.requirements] wrong new expression in [some_]allocator::construct Yes
120 CD1 16.5.4.3 [reserved.names] Can an implementor add specializations? Yes
226 CD1 16.5.4.3 [reserved.names] User supplied specializations or overloads of namespace std function templates Yes
232 CD1 16.5.4.3 [reserved.names] "depends" poorly defined in 17.4.3.1 Yes
422 CD1 16.5.4.3 [reserved.names] explicit specializations of member functions of class templates Yes
294 CD1 16.5.4.3.2 [macro.names] User defined macros and standard headers Yes
404 CD1 16.5.4.6 [replacement.functions] May a replacement allocation function be declared inline? Yes
611 CD1 16.5.4.8 [res.on.functions] Standard library templates and incomplete types Yes
225 CD1 16.5.5.4 [global.functions] std:: algorithms use of other unqualified algorithms Yes
306 CD1 17.2 [support.types] offsetof macro and non-POD types Yes
449 CD1 17.2 [support.types] Library Issue 306 Goes Too Far Yes
497 CD1 17.3.4.1 [numeric.limits.members] meaning of numeric_limits::traps for floating point types Yes
612 CD1 17.3.4.1 [numeric.limits.members] numeric_limits::is_modulo insufficiently defined Yes
184 CD1 17.3.4.2 [numeric.special] numeric_limits<bool> wording problems Yes
613 CD1 17.3.4.2 [numeric.special] max_digits10 missing from numeric_limits Yes
593 CD1 17.4 [cstdint] __STDC_CONSTANT_MACROS Yes
206 CD1 17.6.2.1 [new.delete.single] operator new(size_t, nothrow) may become unlinked to ordinary operator new if ordinary version replaced Yes
319 CD1 17.6.2.1 [new.delete.single] Storage allocation wording confuses "Required behavior", "Requires" Yes
298 CD1 17.6.2.2 [new.delete.array] ::operator delete[] requirement incorrect/insufficient Yes
266 CD1 17.9.3 [bad.exception] bad_exception::~bad_exception() missing Effects clause Yes
744 CD1 17.9.6 [propagation] What is the lifetime of an exception pointed to by an exception_ptr? Yes
746 CD1 17.9.6 [propagation] current_exception may fail with bad_alloc Yes
820 CD1 17.9.6 [propagation] current_exception()'s interaction with throwing copy ctors Yes
829 CD1 17.9.6 [propagation] current_exception wording unclear about exception type Yes
619 CD1 17.13 [support.runtime] Longjmp wording problem Yes
254 CD1 19.2 [std.exceptions] Exception types in clause 19 are constructed from std::string Yes
288 CD1 19.4 [errno] <cerrno> requirements missing macro EILSEQ Yes
804 CD1 19.5 [syserr] Some problems with classes error_code/error_condition Yes
805 CD1 19.5 [syserr] posix_error::posix_errno concerns Yes
698 CD1 19.5.7.1 [syserr.syserr.overview] system_error needs const char* constructors Yes
312 CD1 20 [utilities] Table 27 is missing headers Yes
700 CD1 20.2.4 [forward] N1856 defines struct identity Yes
808 CD1 20.2.4 [forward] §[forward] incorrect redundant specification Yes
265 CD1 20.4 [pairs] std::pair::pair() effects overly restrictive Yes
706 CD1 20.4 [pairs] make_pair() should behave as make_tuple() wrt. reference_wrapper() Yes
522 CD1 20.5 [tuple] Tuple doesn't define swap Yes
807 CD1 20.5.3.1 [tuple.cnstr] tuple construction should not fail unless its element's construction fails Yes
775 CD1 20.5.3.6 [tuple.helper] Tuple indexing should be unsigned? Yes
693 CD1 20.9.2 [template.bitset] std::bitset::all() missing Yes
694 CD1 20.9.2 [template.bitset] std::bitset and long long Yes
396 CD1 20.9.2.1 [bitset.cons] what are characters zero and one Yes
457 CD1 20.9.2.1 [bitset.cons] bitset constructor: incorrect number of initialized bits Yes
778 CD1 20.9.2.1 [bitset.cons] std::bitset does not have any constructor taking a string literal Yes 116
186 CD1 20.9.2.2 [bitset.members] bitset::set() second parameter should be bool Yes
434 CD1 20.9.2.2 [bitset.members] bitset::to_string() hard to use Yes
303 CD1 20.9.4 [bitset.operators] Bitset input operator underspecified Yes
858 CD1 20.10.5 [util.dynamic.safety] Wording for Minimal Support for Garbage Collection Yes
234 CD1 20.10.10.1 [allocator.members] Typos in allocator definition Yes
400 CD1 20.10.10.1 [allocator.members] redundant type cast in lib.allocator.members Yes
578 CD1 20.10.10.1 [allocator.members] purpose of hint to allocator::allocate() Yes
634 CD1 20.10.10.1 [allocator.members] allocator.address() doesn't work for types overloading operator& Yes 350
673 CD1 20.11.1 [unique.ptr] unique_ptr update Yes
740 CD1 20.11.1 [unique.ptr] Please remove *_ptr<T[N]> Yes
762 CD1 20.11.1 [unique.ptr] std::unique_ptr requires complete type? Yes
806 CD1 20.11.1.2.5 [unique.ptr.single.modifiers] unique_ptr::reset effects incorrect, too permissive Yes
541 CD1 20.11.3 [util.smartptr.shared] shared_ptr template assignment and void Yes
674 CD1 20.11.3 [util.smartptr.shared] shared_ptr interface changes for consistency with N1856 Yes
710 CD1 20.11.3 [util.smartptr.shared] Missing postconditions Yes
813 CD1 20.11.3 [util.smartptr.shared] "empty" undefined for shared_ptr Yes
687 CD1 20.11.3.1 [util.smartptr.shared.const] shared_ptr conversion constructor not constrained Yes
575 CD1 20.11.3.2 [util.smartptr.shared.dest] the specification of ~shared_ptr is MT-unfriendly, makes implementation assumptions Yes
540 CD1 20.11.3.5 [util.smartptr.shared.obs] shared_ptr<void>::operator*() Yes
542 CD1 20.11.3.5 [util.smartptr.shared.obs] shared_ptr observers Yes
743 CD1 20.11.3.8 [util.smartptr.shared.spec] rvalue swap for shared_ptr Yes
533 CD1 20.11.3.10 [util.smartptr.getdeleter] typo in 2.2.3.10/1 Yes
545 CD1 20.11.3.10 [util.smartptr.getdeleter] When is a deleter deleted? Yes
185 CD1 20.14 [function.objects] Questionable use of term "inline" Yes
660 CD1 20.14 [function.objects] Missing Bitwise Operations Yes
521 CD1 20.14.5 [refwrap] Garbled requirements for argument_type in reference_wrapper Yes
689 CD1 20.14.5.1 [refwrap.const] reference_wrapper constructor overly constrained Yes
284 CD1 20.14.7 [comparisons] unportable example in 20.3.7, p6 Yes
297 CD1 20.14.9 [logical.operations] const_mem_fun_t<>::argument_type should be const T* Yes
520 CD1 20.14.14 [func.bind] Result_of and pointers to data members Yes
527 CD1 20.14.14.3 [func.bind.bind] tr1::bind has lost its Throws clause Yes
770 CD1 20.14.16 [func.wrap] std::function should use rvalue swap Yes
769 CD1 20.14.16.2 [func.wrap.func] std::function should use nullptr_t instead of "unspecified-null-pointer-type" Yes
610 CD1 20.14.16.2.1 [func.wrap.func.con] Suggested non-normative note for C++0x Yes
848 CD1 20.14.18 [unord.hash] Missing std::hash specializations for std::bitset/std::vector<bool> Yes
749 CD1 20.15.4.3 [meta.unary.prop] Currently has_nothrow_copy_constructor<T>::value is true if T has 'a' nothrow copy constructor. Yes
705 CD1 20.15.7.6 [meta.trans.other] type-trait decay incompletely specified Yes
856 CD1 20.15.7.6 [meta.trans.other] Removal of aligned_union Yes
335 CD1 21.2.1 [char.traits.require] minor issue with char_traits, table 37 Yes
352 CD1 21.2.2 [char.traits.typedefs] missing fpos requirements Yes
709 CD1 21.2.3 [char.traits.specializations] char_traits::not_eof has wrong signature Yes
467 CD1 21.2.3.1 [char.traits.specializations.char] char_traits::lt(), compare(), and memcmp() Yes
180 CD1 21.3.2 [basic.string] Container member iterator arguments constness has unintended consequences Yes
263 CD1 21.3.2 [basic.string] Severe restriction on basic_string reference counting Yes
530 CD1 21.3.2 [basic.string] Must elements of a string be contiguous? Yes
534 CD1 21.3.2 [basic.string] Missing basic_string members Yes
301 CD1 21.3.2.1 [string.require] basic_string template ctor effects clause omits allocator argument Yes
259 CD1 21.3.2.4 [string.capacity] basic_string::operator[] and const correctness Yes
428 CD1 21.3.2.6.5 [string.erase] string::erase(iterator) validity Yes
403 CD1 21.3.2.6.8 [string.swap] basic_string::swap should not throw exceptions Yes
535 CD1 21.3.2.6.8 [string.swap] std::string::swap specification poorly worded Yes
91 CD1 21.3.3.4 [string.io] Description of operator>> and getline() for string<> might cause endless loop Yes
435 CD1 21.3.3.4 [string.io] bug in DR 25 Yes
586 CD1 21.3.3.4 [string.io] string inserter not a formatted function Yes
824 CD1 21.3.3.4 [string.io] rvalue ref issue with basic_string inserter Yes
771 CD1 21.3.4 [string.conversions] Impossible throws clause in [string.conversions] Yes
772 CD1 21.3.4 [string.conversions] Impossible return clause in [string.conversions] Yes
345 CD1 21.5 [c.strings] type tm in <cwchar> Yes
179 CD1 22.2 [container.requirements] Comparison of const_iterators to iterators doesn't work Yes
276 CD1 22.2 [container.requirements] Assignable requirement for container value type overly strict Yes
322 CD1 22.2 [container.requirements] iterator and const_iterator should have the same value type Yes
371 CD1 22.2 [container.requirements] Stability of multiset and multimap member functions Yes
589 CD1 22.2 [container.requirements] Requirements on iterators of member template functions of containers Yes 536
675 CD1 22.2 [container.requirements] Move assignment of containers Yes
759 CD1 22.2 [container.requirements] A reference is not an object Yes
766 CD1 22.2 [container.requirements] Inconsistent exception guarantees between ordered and unordered associative containers Yes
842 CD1 22.2 [container.requirements] ConstructibleAsElement and bit containers Yes
355 CD1 22.2.3 [sequence.reqmts] Operational semantics for a.back() Yes
438 CD1 22.2.3 [sequence.reqmts] Ambiguity in the "do the right thing" clause Yes
103 CD1 22.2.6 [associative.reqmts] set::iterator is required to be modifiable, but this allows modification of keys Yes
130 CD1 22.2.6 [associative.reqmts] Return type of container::erase(iterator) differs for associative containers Yes 451
233 CD1 22.2.6 [associative.reqmts] Insertion hints in associative containers Yes 192, 246
264 CD1 22.2.6 [associative.reqmts] Associative container insert(i, j) complexity requirements are not feasible. Yes 102
316 CD1 22.2.6 [associative.reqmts] Vague text in Table 69 Yes
354 CD1 22.2.6 [associative.reqmts] Associative container lower/upper bound requirements Yes
518 CD1 22.2.7 [unord.req] Are insert and erase stable for unordered_multiset and unordered_multimap? Yes
679 CD1 22.3 [sequences] resize parameter by value Yes
519 CD1 22.3.7 [array] Data() undocumented Yes
720 CD1 22.3.7 [array] Omissions in constexpr usages Yes
776 CD1 22.3.7 [array] Undescribed assign function of std::array Yes
237 CD1 22.3.8.2 [deque.cons] Undefined expression in complexity specification Yes
850 CD1 22.3.8.3 [deque.capacity] Should shrink_to_fit apply to std::deque? Yes
638 CD1 22.3.8.4 [deque.modifiers] deque end invalidation during erase Yes
307 CD1 22.3.10 [list] Lack of reference typedefs in container adaptors Yes
320 CD1 22.3.10.2 [list.cons] list::assign overspecified Yes
410 CD1 22.3.10.2 [list.cons] Missing semantics for stack and queue comparison operators Yes
250 CD1 22.3.10.5 [list.ops] splicing invalidates iterators Yes
278 CD1 22.3.10.5 [list.ops] What does iterator validity mean? Yes
300 CD1 22.3.10.5 [list.ops] list::merge() specification incomplete Yes
315 CD1 22.3.10.5 [list.ops] Bad "range" in list::unique complexity Yes
464 CD1 22.3.11 [vector] Suggestion for new member functions in standard containers Yes
469 CD1 22.3.11 [vector] vector<bool> ill-formed relational operators Yes
496 CD1 22.3.11 [vector] Illegal use of "T" in vector<bool> Yes
329 CD1 22.3.11.3 [vector.capacity] vector capacity, reserve and reallocation Yes
341 CD1 22.3.11.3 [vector.capacity] Vector reallocation and swap Yes
755 CD1 22.3.11.3 [vector.capacity] std::vector and std:string lack explicit shrink-to-fit operations Yes
247 CD1 22.3.11.5 [vector.modifiers] vector, deque::insert complexity Yes
406 CD1 22.3.11.5 [vector.modifiers] vector::insert(s) exception safety Yes
414 CD1 22.3.11.5 [vector.modifiers] Which iterators are invalidated by v.erase()? Yes
334 CD1 22.4.4.3 [map.access] map::operator[] specification forces inefficient implementation Yes
703 CD1 22.4.4.3 [map.access] map::at() need a complexity specification Yes
214 CD1 22.4.6 [set] set::find() missing const overload Yes 450
691 CD1 22.5 [unord] const_local_iterator cbegin, cend missing from TR1 Yes
852 CD1 22.5 [unord] unordered containers begin(n) mistakenly const Yes
761 CD1 22.5.4.3 [unord.map.elem] unordered_map needs an at() member function Yes
445 CD1 23.3.2.3 [iterator.traits] iterator_traits::reference unspecified for some iterator categories Yes
198 CD1 23.3.4 [iterator.concepts] Validity of pointers and references unspecified after iterator destruction Yes
346 CD1 23.3.4 [iterator.concepts] Some iterator member functions should be const Yes
407 CD1 23.3.4 [iterator.concepts] Can singular iterators be destroyed? Yes
98 CD1 23.3.5.2 [input.iterators] Input iterator requirements are badly written Yes
324 CD1 23.3.5.3 [output.iterators] Do output iterators have value types? Yes
200 CD1 23.3.5.4 [forward.iterators] Forward iterator requirements don't allow constant iterators Yes
478 CD1 23.3.5.4 [forward.iterators] Should forward iterator requirements table have a line for r->m? Yes 477
383 CD1 23.3.5.5 [bidirectional.iterators] Bidirectional iterator assertion typo Yes
448 CD1 23.3.5.6 [random.access.iterators] Random Access Iterators over abstract classes Yes
280 CD1 23.5.1 [reverse.iterators] Comparison of reverse_iterator to const reverse_iterator Yes
235 CD1 23.5.1.1 [reverse.iterator] No specification of default ctor for reverse_iterator Yes
561 CD1 23.5.2.3.2 [inserter] inserter overly generic Yes
680 CD1 23.5.3.1 [move.iterator] move_iterator operator-> return Yes
260 CD1 23.6.1.2 [istream.iterator.ops] Inconsistent return type of istream_iterator::operator++(int) Yes
261 CD1 23.6.1.2 [istream.iterator.ops] Missing description of istream_iterator::operator!= Yes
349 CD1 23.6.2 [ostream.iterator] Minor typographical error in ostream_iterator Yes
92 CD1 25 [algorithms] Incomplete Algorithm Requirements Yes
475 CD1 25.5.4 [alg.foreach] May the function object passed to for_each modify the elements of the iterated sequence? Yes
576 CD1 25.5.7 [alg.find.first.of] find_first_of is overconstrained Yes
240 CD1 25.5.8 [alg.adjacent.find] Complexity of adjacent_find() is meaningless Yes
426 CD1 25.5.13 [alg.search] search_n(), fill_n(), and generate_n() with negative n Yes
714 CD1 25.5.13 [alg.search] search_n complexity is too lax Yes
187 CD1 25.6.3 [alg.swap] iter_swap underspecified Yes
809 CD1 25.6.3 [alg.swap] std::swap should be overloaded for array types Yes
242 CD1 25.6.4 [alg.transform] Side effects of function objects Yes
283 CD1 25.6.5 [alg.replace] std::replace() requirement incorrect/insufficient Yes 483
337 CD1 25.6.5 [alg.replace] replace_copy_if's template parameter should be InputIterator Yes
779 CD1 25.6.8 [alg.remove] Resolution of #283 incomplete Yes
202 CD1 25.6.9 [alg.unique] unique() effects unclear when predicate not an equivalence relation Yes
239 CD1 25.6.9 [alg.unique] Complexity of unique() and/or unique_copy incorrect Yes
241 CD1 25.6.9 [alg.unique] Does unique_copy() require CopyConstructible and Assignable? Yes
538 CD1 25.6.9 [alg.unique] 241 again: Does unique_copy() require CopyConstructible and Assignable? Yes
488 CD1 25.6.11 [alg.rotate] rotate throws away useful information Yes
552 CD1 25.6.13 [alg.random.shuffle] random_shuffle and its generator Yes
713 CD1 25.7.1.1 [sort] sort() complexity is too lax Yes
270 CD1 25.7.3 [alg.binary.search] Binary search requirements overly strict Yes 472
577 CD1 25.7.3.2 [upper.bound] upper_bound(first, last, ...) cannot return last Yes
384 CD1 25.7.3.3 [equal.range] equal_range has unimplementable runtime complexity Yes
787 CD1 25.7.3.4 [binary.search] complexity of binary_search Yes
291 CD1 25.7.6 [alg.set.operations] Underspecification of set algorithms Yes
411 CD1 25.7.6 [alg.set.operations] Wrong names of set member functions Yes
281 CD1 25.7.8 [alg.min.max] std::min() and max() requirements overly restrictive Yes 486
715 CD1 25.7.8 [alg.min.max] minmax_element complexity is too lax Yes
286 CD1 25.10 [alg.c.library] <cstdlib> requirements missing size_t typedef Yes
405 CD1 25.10 [alg.c.library] qsort and POD Yes
387 CD1 26.4 [complex.numbers] std::complex over-encapsulated Yes
629 CD1 26.4.6 [complex.ops] complex<T> insertion and locale dependence Yes
595 CD1 26.4.7 [complex.value.ops] TR1/C++0x: fabs(complex<T>) redundant / wrongly specified Yes
781 CD1 26.4.7 [complex.value.ops] std::complex should add missing C99 functions Yes
844 CD1 26.4.9 [cmplx.over] complex pow return type is ambiguous Yes
507 CD1 26.6 [rand] Missing requirement for variate_generator::operator() Yes
699 CD1 26.6 [rand] N2111 changes min/max Yes
505 CD1 26.6.2 [rand.req] Result_type in random distribution requirements Yes
654 CD1 26.6.2.4 [rand.req.eng] Missing IO roundtrip for random number engines Yes
678 CD1 26.6.2.4 [rand.req.eng] Changes for [rand.req.eng] Yes
728 CD1 26.6.3.2 [rand.eng.mers] Problem in [rand.eng.mers]/6 Yes
609 CD1 26.6.4.3 [rand.adapt.ibits] missing static const Yes
508 CD1 26.6.5 [rand.predef] Bad parameters for ranlux64_base_01 Yes
607 CD1 26.6.7.1 [rand.util.seedseq] Concern about short seed vectors Yes
608 CD1 26.6.7.1 [rand.util.seedseq] Unclear seed_seq construction details Yes
677 CD1 26.6.7.1 [rand.util.seedseq] Weaknesses in seed_seq::randomize [rand.util.seedseq] Yes
712 CD1 26.6.7.1 [rand.util.seedseq] seed_seq::size no longer useful Yes
782 CD1 26.6.7.1 [rand.util.seedseq] Extended seed_seq constructor is useless Yes
655 CD1 26.6.7.2 [rand.util.canonical] Signature of generate_canonical not useful Yes
734 CD1 26.6.8.5.3 [rand.dist.norm.chisq] Unnecessary restriction in [rand.dist.norm.chisq] Yes
792 CD1 26.6.8.6.2 [rand.dist.samp.pconst] piecewise_constant_distribution is undefined for a range with just one endpoint Yes
621 CD1 26.7 [numarray] non-const copy assignment operators of helper arrays Yes
253 CD1 26.7.2.2 [valarray.cons] valarray helper functions are almost entirely useless Yes
620 CD1 26.7.2.2 [valarray.cons] valid uses of empty valarrays Yes
624 CD1 26.7.2.3 [valarray.assign] valarray assignment and arrays of unequal length Yes
389 CD1 26.7.2.4 [valarray.access] Const overload of valarray::operator[] returns by value Yes 77
618 CD1 26.7.2.8 [valarray.members] valarray::cshift() effects on empty array Yes
543 CD1 26.7.4 [class.slice] valarray slice default constructor Yes
123 CD1 26.7.5.4 [slice.arr.fill] Should valarray helper arrays fill functions be const? Yes
295 CD1 26.8 [c.math] Is abs defined in <cmath>? Yes
395 CD1 26.8 [c.math] inconsistencies in the definitions of rand() and random_shuffle() Yes
550 CD1 26.8 [c.math] What should the return type of pow(float,int) be? Yes
722 CD1 26.8 [c.math] Missing [c.math] functions nanf and nanl Yes
882 CD1 27.5.5 [time.duration.nonmember] duration non-member arithmetic requirements Yes
317 CD1 28 [localization] Instantiation vs. specialization of facets Yes
495 CD1 28 [localization] Clause 22 template parameter requirements Yes
268 CD1 28.3.1 [locale] Typo in locale synopsis Yes
360 CD1 28.3.1 [locale] locale mandates inefficient implementation Yes
327 CD1 28.3.1.1.1 [locale.category] Typo in time_get facet in table 52 Yes 447
340 CD1 28.3.1.1.1 [locale.category] interpretation of has_facet<Facet>(loc) Yes
347 CD1 28.3.1.1.1 [locale.category] locale::category and bitmask requirements Yes
436 CD1 28.3.1.1.2 [locale.facet] are cv-qualified facet types valid facets? Yes
391 CD1 28.3.3.2 [conversions] non-member functions specified as const Yes
338 CD1 28.4 [locale.categories] is whitespace allowed between `-' and a digit? Yes
339 CD1 28.4.1 [category.ctype] definition of bitmask type restricted to clause 27 Yes
379 CD1 28.4.1.1.2 [locale.ctype.virtuals] nonsensical ctype::do_widen() requirement Yes
616 CD1 28.4.1.2 [locale.ctype.byname] missing 'typename' in ctype_byname Yes
695 CD1 28.4.1.3 [facet.ctype.special] ctype<char>::classic_table() not accessible Yes
153 CD1 28.4.1.3.2 [facet.ctype.char.members] Typo in narrow() semantics Yes 207
76 CD1 28.4.1.4 [locale.codecvt] Can a codecvt facet always convert one internal character at a time? Yes
664 CD1 28.4.1.4.2 [locale.codecvt.virtuals] do_unshift for codecvt<char, char, mbstate_t> Yes
665 CD1 28.4.1.4.2 [locale.codecvt.virtuals] do_unshift return value Yes
305 CD1 28.4.1.5 [locale.codecvt.byname] Default behavior of codecvt<wchar_t, char, mbstate_t>::length() Yes
380 CD1 28.4.1.5 [locale.codecvt.byname] typos in codecvt tables 53 and 54 Yes
381 CD1 28.4.1.5 [locale.codecvt.byname] detection of invalid mbstate_t in codecvt Yes
275 CD1 28.4.2.1.1 [facet.num.get.members] Wrong type in num_get::get() overloads Yes
23 CD1 28.4.2.1.2 [facet.num.get.virtuals] Num_get overflow result Yes
221 CD1 28.4.2.1.2 [facet.num.get.virtuals] num_get<>::do_get stage 2 processing broken Yes
321 CD1 28.4.2.1.2 [facet.num.get.virtuals] Typo in num_get Yes
358 CD1 28.4.2.1.2 [facet.num.get.virtuals] interpreting thousands_sep after a decimal_point Yes
359 CD1 28.4.2.2.1 [facet.num.put.members] num_put<>::do_put (..., bool) undocumented Yes
231 CD1 28.4.2.2.2 [facet.num.put.virtuals] Precision in iostream? Yes
282 CD1 28.4.2.2.2 [facet.num.put.virtuals] What types does numpunct grouping refer to? Yes
318 CD1 28.4.3.2 [locale.numpunct.byname] Misleading comment in definition of numpunct_byname Yes
248 CD1 28.4.5 [category.time] time_get fails to set eofbit Yes
461 CD1 28.4.5.1.2 [locale.time.get.virtuals] time_get hard or impossible to implement Yes
328 CD1 28.4.6.2.2 [locale.money.put.virtuals] Bad sprintf format modifier in money_put<>::do_put() Yes
325 CD1 28.4.6.3.2 [locale.moneypunct.virtuals] Misleading text in moneypunct<>::do_grouping Yes
666 CD1 28.4.6.3.2 [locale.moneypunct.virtuals] moneypunct::do_curr_symbol() Yes
44 CD1 29 [input.output] Iostreams use operator== on int_type values Yes
273 CD1 29 [input.output] Missing ios_base qualification on members of a dependent class Yes
308 CD1 29 [input.output] Table 82 mentions unrelated headers Yes
365 CD1 29 [input.output] Lack of const-qualification in clause 27 Yes
623 CD1 29.2.1 [iostream.limits.imbue] pubimbue forbidden to call imbue Yes
369 CD1 29.4 [iostream.objects] io stream objects and static ctors Yes
455 CD1 29.4 [iostream.objects] cerr::tie() and wcerr::tie() are overspecified Yes
574 CD1 29.4 [iostream.objects] DR 369 Contradicts Text Yes
49 CD1 29.5.3.4 [ios.members.static] Underspecification of ios_base::sync_with_stdio Yes
441 CD1 29.5.4 [fpos] Is fpos::state const? Yes
256 CD1 29.5.5.3 [basic.ios.members] typo in 27.4.4.2, p17: copy_event does not exist Yes
292 CD1 29.5.5.3 [basic.ios.members] effects of a.copyfmt (a) Yes
272 CD1 29.5.5.4 [iostate.flags] Missing parentheses around subexpression Yes 569
412 CD1 29.5.5.4 [iostate.flags] Typo in 27.4.4.3 Yes 429
468 CD1 29.5.5.4 [iostate.flags] unexpected consequences of ios_base::operator void*() Yes
364 CD1 29.6.3.4.2 [streambuf.virt.buffer] Inconsistent wording in 27.5.2.4.2 Yes
567 CD1 29.7 [iostream.format] streambuf inserter and extractor should be unformatted Yes
373 CD1 29.7.4.2.1 [istream.formatted.reqmts] Are basic_istream and basic_ostream to use (exceptions()&badbit) != 0 ? Yes
118 CD1 29.7.4.2.2 [istream.formatted.arithmetic] basic_istream uses nonexistent num_get member functions Yes
661 CD1 29.7.4.2.2 [istream.formatted.arithmetic] New 27.6.1.2.2 changes make special extractions useless Yes
136 CD1 29.7.4.3 [istream.unformatted] seekp, seekg setting wrong streams? Yes
243 CD1 29.7.4.3 [istream.unformatted] get and getline when sentry reports failure Yes
370 CD1 29.7.4.3 [istream.unformatted] Minor error in basic_istream::get Yes
531 CD1 29.7.4.3 [istream.unformatted] array forms of unformatted input functions Yes
537 CD1 29.7.4.3 [istream.unformatted] Typos in the signatures in 27.6.1.3/42-43 and 27.6.2.4 Yes
566 CD1 29.7.4.3 [istream.unformatted] array forms of unformatted input function undefined for zero-element arrays Yes
415 CD1 29.7.4.4 [istream.manip] behavior of std::ws Yes
271 CD1 29.7.4.6 [iostreamclass] basic_iostream missing typedefs Yes
165 CD1 29.7.5.1 [ostream] xsputn(), pubsync() never called by basic_ostream members? Yes
311 CD1 29.7.5.1 [ostream] Incorrect wording in basic_ostream class synopsis Yes
117 CD1 29.7.5.2.2 [ostream.inserters.arithmetic] basic_ostream uses nonexistent num_put member functions Yes
640 CD1 29.7.5.2.2 [ostream.inserters.arithmetic] 27.6.2.5.2 does not handle (unsigned) long long Yes
167 CD1 29.7.5.2.4 [ostream.inserters.character] Improper use of traits_type::length() Yes
474 CD1 29.7.5.2.4 [ostream.inserters.character] confusing Footnote 297 Yes
581 CD1 29.7.5.3 [ostream.unformatted] flush() not unformatted function Yes
333 CD1 29.7.5.4 [ostream.manip] does endl imply synchronization with the device? Yes
183 CD1 29.7.6 [std.manip] I/O stream manipulators don't work for wide character streams Yes
692 CD1 29.7.7 [ext.manip] get_money and put_money should be formatted I/O functions Yes
252 CD1 29.8 [string.streams] missing casts/C-style casts used in iostreams Yes
562 CD1 29.8 [string.streams] stringbuf ctor inefficient Yes
251 CD1 29.8.2 [stringbuf] basic_stringbuf missing allocator_type Yes
238 CD1 29.8.2.1 [stringbuf.cons] Contradictory results of stringbuf initialization. Yes
375 CD1 29.8.2.4 [stringbuf.virtuals] basic_ios should be ios_base in 27.7.1.3 Yes
376 CD1 29.8.2.4 [stringbuf.virtuals] basic_streambuf semantics Yes
432 CD1 29.8.2.4 [stringbuf.virtuals] stringbuf::overflow() makes only one write position available Yes
453 CD1 29.8.2.4 [stringbuf.virtuals] basic_stringbuf::seekoff need not always fail for an empty stream Yes
563 CD1 29.8.2.4 [stringbuf.virtuals] stringbuf seeking from end Yes
643 CD1 29.9.2 [filebuf] Impossible "as if" clauses Yes
443 CD1 29.9.2.3 [filebuf.members] filebuf::close() inconsistent use of EOF Yes
596 CD1 29.9.2.3 [filebuf.members] 27.8.1.3 Table 112 omits "a+" and "a+b" modes Yes
171 CD1 29.9.2.4 [filebuf.virtuals] Strange seekpos() semantics due to joint position Yes
285 CD1 29.9.3.1 [ifstream.cons] minor editorial errors in fstream ctors Yes
409 CD1 29.9.3.3 [ifstream.members] Closing an fstream should clear error state Yes
622 CD1 29.9.5.3 [fstream.members] behavior of filebuf dtor and close on error Yes
524 CD1 30 [re] regex named character classes and case-insensitivity don't mix Yes
628 CD1 30.8 [re.regex] Inconsistent definition of basic_regex constructor Yes
682 CD1 30.8.1 [re.regex.construct] basic_regex ctor takes InputIterator or ForwardIterator? Yes
681 CD1 30.9.2 [re.submatch.op] Operator functions impossible to compare are defined in [re.submatch.op] Yes
646 CD1 30.10.5 [re.results.form] const incorrect match_result members Yes
652 CD1 30.12.1 [re.regiter] regex_iterator and const correctness Yes
650 CD1 30.12.2 [re.tokiter] regex_token_iterator and const correctness Yes
651 CD1 30.12.2.1 [re.tokiter.cnstr] Missing preconditions for regex_token_iterator c'tors Yes
818 CD1 31.4 [atomics.order] wording for memory ordering Yes
768 CD1 31.7 [atomics.types.generic] Typos in [atomics]? Yes
845 CD1 31.7 [atomics.types.generic] atomics cannot support aggregate initialization Yes
777 CD1 31.7.1 [atomics.types.operations] Atomics Library Issue Yes
846 CD1 31.7.1 [atomics.types.operations] No definition for constructor Yes
783 CD1 32.3.2.1 [thread.thread.id] thread::id reuse Yes
109 CD1 99 [depr.lib.binders] Missing binders for non-const sequence elements Yes
362 CD1 99 [depr.lib.binders] bind1st/bind2nd type safety Yes
798 CD1 99 [depr.lib.binders] Refactoring of binders lead to interface breakage Yes
843 CD1 99 [func.referenceclosure.cons] Reference Closure Yes
331 CD1 99 [ios::failure] bad declaration of destructor for ios_base::failure Yes
363 CD1 99 [ios::failure] Missing exception specification in 27.4.2.1.1 Yes
442 CD1 99 [ostream::sentry] sentry::operator bool() inconsistent signature Yes
789 CD1 99 [rand.adapt.xor] xor_combine_engine(result_type) should be explicit Yes
386 CD1 99 [reverse.iter.op-=] Reverse iterator's operator[] has impossible return type Yes
685 CD1 99 [reverse.iter.opdiff] reverse_iterator/move_iterator difference has invalid signatures Yes

TC1 (125 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
39 TC1 23.6.3.3 [istreambuf.iterator.ops] istreambuf_iterator<>::operator++(int) definition garbled Yes
13 TC1 29.7.4.2.3 [istream.extractors] Eos refuses to die Yes
64 TC1 29.7.4.2.3 [istream.extractors] Exception handling in basic_istream::operator>>(basic_streambuf*) Yes
68 TC1 29.7.4.2.3 [istream.extractors] Extractors for char* should store null at end Yes
222 TC1 16.4.1.4 [structure.specifications] Are throw clauses necessary if a throw is already implied by the effects clause? Yes
1 TC1 16.5.2.3 [using.linkage] C library linkage editing oversight Yes
199 TC1 16.5.3.5 [allocator.requirements] What does allocate(0) return? Yes
147 TC1 16.5.5.4 [global.functions] Library Intro refers to global functions that aren't global Yes
119 TC1 16.5.5.12 [res.on.exception.handling] Should virtual functions be allowed to strengthen the exception specification? Yes
3 TC1 17.5 [support.start.term] Atexit registration during atexit() call is not described Yes
9 TC1 17.6.2 [new.delete] Operator new(0) calls should not yield the same pointer Yes
114 TC1 17.6.2.3 [new.delete.placement] Placement forms example in error twice Yes 196
108 TC1 17.7.2 [type.info] Lifetime of exception::what() return unspecified Yes
70 TC1 17.9 [support.exception] Uncaught_exception() missing throw() specification Yes
181 TC1 20.4 [pairs] make_pair() unintended behavior Yes
11 TC1 20.9.2 [template.bitset] Bitset minor problems Yes
7 TC1 21 [strings] String clause minor problems Yes
57 TC1 21.2.3.5 [char.traits.specializations.wchar.t] Mistake in char_traits Yes
42 TC1 21.3.2 [basic.string] String ctors specify wrong default allocator Yes
83 TC1 21.3.2 [basic.string] String::npos vs. string::max_size() Yes 89
209 TC1 21.3.2 [basic.string] basic_string declarations inconsistent Yes
86 TC1 21.3.2.1 [string.require] String constructors don't describe exceptions Yes
141 TC1 21.3.2.6.4 [string.insert] basic_string::find_last_of, find_last_not_of say pos instead of xpos Yes
27 TC1 21.3.2.6.5 [string.erase] String::erase(range) yields wrong iterator Yes
5 TC1 21.3.2.6.8 [string.swap] String::compare specification questionable Yes 87
25 TC1 21.3.3.4 [string.io] String operator<< uses width() value wrong Yes 67
90 TC1 21.3.3.4 [string.io] Incorrect description of operator >> for strings Yes
211 TC1 21.3.3.4 [string.io] operator>>(istream&, string&) doesn't set failbit Yes
51 TC1 22.2 [container.requirements] Requirement to not invalidate iterators missing Yes
139 TC1 22.2.3 [sequence.reqmts] Optional sequence operation table description unclear Yes
151 TC1 22.2.3 [sequence.reqmts] Can't currently clear() empty container Yes
224 TC1 22.2.6 [associative.reqmts] clear() complexity for associative containers refers to undefined N Yes
144 TC1 22.3.8.2 [deque.cons] Deque constructor complexity wrong Yes
132 TC1 22.3.10.3 [list.capacity] list::resize description uses random access iterators Yes
69 TC1 22.3.11 [vector] Must elements of a vector be contiguous? Yes
134 TC1 22.3.11.2 [vector.cons] vector constructors over specified Yes
133 TC1 22.4.4 [map] map missing get_allocator() Yes
208 TC1 23.3.4 [iterator.concepts] Unnecessary restriction on past-the-end iterators Yes
110 TC1 23.6.3 [istreambuf.iterator] istreambuf_iterator::equal not const Yes
112 TC1 23.6.4.1 [ostreambuf.iter.cons] Minor typo in ostreambuf_iterator constructor Yes
210 TC1 25 [algorithms] distance first and last confused Yes
150 TC1 25.5.7 [alg.find.first.of] Find_first_of says integer instead of iterator Yes
227 TC1 25.6.3 [alg.swap] std::swap() should require CopyConstructible or DefaultConstructible arguments Yes
223 TC1 25.6.10 [alg.reverse] reverse algorithm should use iter_swap rather than swap Yes
193 TC1 25.7.7 [alg.heap.operations] Heap operations description incorrect Yes 216
212 TC1 25.7.8 [alg.min.max] Empty range behavior unclear for several algorithms Yes
142 TC1 25.7.10 [alg.lex.comparison] lexicographical_compare complexity wrong Yes
79 TC1 26.4.1 [complex.syn] Inconsistent declaration of polar() Yes
80 TC1 26.4.1 [complex.syn] Global Operators of complex declared twice Yes
146 TC1 26.4.6 [complex.ops] complex<T> Inserter and Extractor need sentries Yes
125 TC1 26.7.2 [template.valarray] valarray<T>::operator!() return type is inconsistent Yes
106 TC1 26.7.5 [template.slice.array] Numeric library private members are implementation defined Yes
31 TC1 28.3.1 [locale] Immutable locale values Yes 378
37 TC1 28.3.1 [locale] Leftover "global" reference Yes
137 TC1 28.3.1 [locale] Do use_facet and has_facet look in the global locale? Yes
21 TC1 28.3.1.1.1 [locale.category] Codecvt_byname<> instantiations Yes
30 TC1 28.3.1.1.1 [locale.category] Wrong header for LC_* Yes
14 TC1 28.3.1.3 [locale.members] Locale::combine should be const Yes
15 TC1 28.3.1.3 [locale.members] Locale::name requirement inconsistent Yes
8 TC1 28.3.1.5 [locale.statics] Locale::global lacks guarantee Yes
38 TC1 28.3.2 [locale.global.templates] Facet definition incomplete Yes
126 TC1 28.4.1.1.2 [locale.ctype.virtuals] typos in Effects clause of ctype::do_narrow() Yes
152 TC1 28.4.1.1.2 [locale.ctype.virtuals] Typo in scan_is() semantics Yes
124 TC1 28.4.1.2 [locale.ctype.byname] ctype_byname<charT>::do_scan_is & do_scan_not return type should be const charT* Yes
28 TC1 28.4.1.3.2 [facet.ctype.char.members] Ctype<char>is ambiguous Yes 236
16 TC1 28.4.1.4 [locale.codecvt] Bad ctype_byname<char> decl Yes
19 TC1 28.4.1.4 [locale.codecvt] "Noconv" definition too vague Yes 10
24 TC1 28.4.1.4 [locale.codecvt] "do_convert" doesn't exist Yes 72
33 TC1 28.4.1.4 [locale.codecvt] Codecvt<> mentions from_type Yes 43
74 TC1 28.4.1.4 [locale.codecvt] Garbled text for codecvt::do_max_length Yes
75 TC1 28.4.1.4 [locale.codecvt] Contradiction in codecvt::length's argument types Yes
18 TC1 28.4.2.1.1 [facet.num.get.members] Get(...bool&) omitted Yes
17 TC1 28.4.2.1.2 [facet.num.get.virtuals] Bad bool parsing Yes
154 TC1 28.4.2.1.2 [facet.num.get.virtuals] Missing double specifier for do_get() Yes
34 TC1 28.4.2.2.2 [facet.num.put.virtuals] True/falsename() not in ctype<> Yes
20 TC1 28.4.3.1.2 [facet.numpunct.virtuals] Thousands_sep returns wrong type Yes
71 TC1 28.4.5.1 [locale.time.get] Do_get_monthname synopsis missing argument Yes
164 TC1 28.4.5.3.2 [locale.time.put.virtuals] do_put() has apparently unused fill argument Yes
55 TC1 29 [input.output] Invalid stream position is undefined Yes
155 TC1 29.4 [iostream.objects] Typo in naming the class defining the class Init Yes
29 TC1 29.4.3 [narrow.stream.objects] Ios_base::init doesn't exist Yes
35 TC1 29.5 [iostreams.base] No manipulator unitbuf in synopsis Yes
41 TC1 29.5.3 [ios.base] Ios_base needs clear(), exceptions() Yes 157
50 TC1 29.5.3 [ios.base] Copy constructor and assignment operator of ios_base Yes
78 TC1 29.5.3 [ios.base] Typo: event_call_back Yes
189 TC1 29.5.3.2 [fmtflags.state] setprecision() not specified correctly Yes
47 TC1 29.5.3.3 [ios.base.locales] Imbue() and getloc() Returns clauses swapped Yes
156 TC1 29.5.3.3 [ios.base.locales] Typo in imbue() description Yes
36 TC1 29.5.3.5 [ios.base.storage] Iword & pword storage lifetime omitted Yes
220 TC1 29.5.3.7 [ios.base.cons] ~ios_base() usage valid? Yes
52 TC1 29.5.4.2 [fpos.operations] Small I/O problems Yes
53 TC1 29.5.5.2 [basic.ios.cons] Basic_ios destructor unspecified Yes
56 TC1 29.6.3 [streambuf] Showmanyc's return type Yes
122 TC1 29.6.3 [streambuf] streambuf/wstreambuf description should not say they are specializations Yes
54 TC1 29.6.3.1 [streambuf.cons] Basic_streambuf's destructor Yes
59 TC1 29.6.3.3.2 [streambuf.get.area] Ambiguity in specification of gbump Yes
158 TC1 29.6.3.4.2 [streambuf.virt.buffer] Underspecified semantics for setbuf() Yes
159 TC1 29.6.3.4.3 [streambuf.virt.get] Strange use of underflow() Yes
32 TC1 29.6.3.4.4 [streambuf.virt.pback] Pbackfail description inconsistent Yes
160 TC1 29.7.4.1 [istream] Typo: Use of non-existing function exception() Yes
60 TC1 29.7.4.2.1 [istream.formatted.reqmts] What is a formatted input function? Yes 162, 163, 166
161 TC1 29.7.4.2.2 [istream.formatted.arithmetic] Typo: istream_iterator vs. istreambuf_iterator Yes
61 TC1 29.7.4.3 [istream.unformatted] Ambiguity in iostreams exception policy Yes
62 TC1 29.7.4.3 [istream.unformatted] Sync's return value Yes
129 TC1 29.7.4.3 [istream.unformatted] Need error indication from seekp() and seekg() Yes
172 TC1 29.7.4.3 [istream.unformatted] Inconsistent types for basic_istream::ignore() Yes
63 TC1 29.7.5.3 [ostream.unformatted] Exception-handling policy for unformatted output Yes
168 TC1 29.7.5.3 [ostream.unformatted] Typo: formatted vs. unformatted Yes
169 TC1 29.8.2.4 [stringbuf.virtuals] Bad efficiency of overflow() mandated Yes
170 TC1 29.8.5 [stringstream] Inconsistent definition of traits_type Yes
173 TC1 29.9.2.4 [filebuf.virtuals] Inconsistent types for basic_filebuf::setbuf() Yes
22 TC1 29.9.3.3 [ifstream.members] Member open vs. flags Yes
127 TC1 99 [auto.ptr] auto_ptr<> conversion issues Yes
174 TC1 99 [depr.ios.members] Typo: OFF_T vs. POS_T Yes
175 TC1 99 [depr.ios.members] Ambiguity for basic_streambuf::pubseekpos() and a few other functions. Yes
176 TC1 99 [depr.ios.members] exceptions() in ios_base...? Yes
40 TC1 99 [facets.examples] Meaningless normative paragraph in examples Yes
148 TC1 99 [facets.examples] Functions in the example facet BoolNames should be const Yes
217 TC1 99 [facets.examples] Facets example (Classifying Japanese characters) contains errors Yes
48 TC1 99 [ios::failure] Use of non-existent exception constructor Yes
26 TC1 99 [istream::sentry] Bad sentry example Yes
195 TC1 99 [istream::sentry] Should basic_istream::sentry's constructor ever set eofbit? Yes
46 TC1 D.8 [depr.str.strstreams] Minor Annex D errors Yes
66 TC1 D.8.2.3 [depr.strstreambuf.virtuals] Strstreambuf::setbuf Yes
115 TC1 D.8.5.1 [depr.strstream.cons] Typo in strstream constructors Yes

Resolved (306 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3113 Resolved 20.12.3.2 [mem.poly.allocator.mem] polymorphic_allocator::construct() should more closely match scoped_allocator_adaptor::construct() Yes 3
2951 Resolved 23.3.2.3 [iterator.traits] iterator_traits should SFINAE for void* and function pointers Yes 3
2108 Resolved 16.5.3.5 [allocator.requirements] No way to identify allocator types that always compare equal Yes 3
2841 Resolved 21 [strings] Use of "Equivalent to" in [strings] Yes 3
2318 Resolved 21.3.2 [basic.string] basic_string's wording has confusing relics from the copy-on-write era Yes 4
2836 Resolved 21.3.2 [basic.string] More string operations should be noexcept Yes 2
2151 Resolved 21.3.2.1 [string.require] basic_string<>::swap semantics ignore allocators Yes 3
3111 Resolved 21.3.2.2 [string.cons] Too strong precondition on basic_string constructor Yes 2
2929 Resolved 21.3.2.6.3 [string.assign] basic_string misuses "Effects: Equivalent to" Yes 3
2780 Resolved 21.4 [string.view] basic_string_view::copy is missing constexpr Yes 2
3115 Resolved 25.7.6.1 [includes] Unclear description for algorithm includes Yes 3
1052 Resolved 99 [reverse.iter.opref] reverse_iterator::operator-> should also support smart pointers Yes 2775
2797 Resolved 20.15.2 [meta.type.synop] Trait precondition violations Yes 2
3022 Resolved 20.15.6 [meta.rel] is_convertible<derived*, base*> may lead to ODR Yes 2
2499 Resolved 29.7.4.2.3 [istream.extractors] operator>>(basic_istream&, CharT*) makes it hard to avoid buffer overflows Yes 2
3134 Resolved 3.3.1 [fund.ts.v3::meta.type.synop] [fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961 Yes 0
1201 Resolved 20.5.3.4 [tuple.creation] Do we always want to unwrap ref-wrappers in make_tuple Yes
2511 Resolved 20.13.4 [allocator.adaptor.members] scoped_allocator_adaptor piecewise construction does not require CopyConstructible Yes 3
2840 Resolved 29.11.12.1 [fs.dir.itr.members] directory_iterator::increment is seemingly narrow-contract but marked noexcept Yes 2
1150 Resolved 29.9.5 [fstream] wchar_t, char16_t and char32_t filenames Yes
2419 Resolved 20.5.3.1 [tuple.cnstr] Clang's libc++ extension to std::tuple Yes
2040 Resolved 20.15 [meta] Missing type traits related to is_convertible Yes
2800 Resolved 20.2.2 [utility.swap] constexpr swap Yes 3
2776 Resolved 20.11.3.5 [util.smartptr.shared.obs] shared_ptr unique() and use_count() Yes 2
2938 Resolved 21.4.2 [string.view.template] basic_string_view::const_iterator should be literal types Yes 2
2897 Resolved 22.3.7.1 [array.overview] array::iterator and array::const_iterator should be literal types Yes 2
2693 Resolved 26.4 [complex.numbers] constexpr for various std::complex arithmetic and value operators Yes 3
2968 Resolved 21.3.2.4 [string.capacity] Inconsistencies between basic_string reserve and vector/unordered_map/unordered_set reserve functions Yes 3
2831 Resolved 22.2.7 [unord.req] Equality can be defined when Hash function objects have different behaviour Yes
2734 Resolved 29.11.7.4.4 [fs.path.concat] Questionable specification in [fs.path.concat] Yes 2
2856 Resolved 32.6.9 [futures.async] std::async should be marked as [[nodiscard]] Yes 2
2821 Resolved 17.6.4 [ptr.launder] std::launder() should be marked as [[nodiscard]] Yes 3
2055 Resolved 25.9 [numeric.ops] std::move in std::accumulate and other algorithms Yes 3
2864 Resolved 20.11.3 [util.smartptr.shared] Merge shared_ptr changes from Library Fundamentals to C++17 Yes
908 Resolved 31.7 [atomics.types.generic] Deleted assignment operators for atomic types must be volatile Yes
2445 Resolved D.12 [depr.util.smartptr.shared.atomic] "Stronger" memory ordering Yes
2541 Resolved 99 [parallel.ts::parallel.alg.overloads] [parallel.ts] Headers for ExecutionPolicy algorithm overloads Yes 1
2799 Resolved 99 [futures.shared_future] noexcept-specifications in shared_future Yes 2
2118 Resolved 20.11.1.3 [unique.ptr.runtime] [CD] unique_ptr for array does not support cv qualification conversion of actual argument Yes 1
2179 Resolved 20.11.6 [util.smartptr.enab] enable_shared_from_this and construction from raw pointers Yes 3
2465 Resolved 20.15.7.6 [meta.trans.other] SFINAE-friendly common_type is nearly impossible to specialize correctly and regresses key functionality Yes 2
2798 Resolved 29.11.7 [fs.class.path] Definition of path in terms of a string Yes 2
2665 Resolved 29.11.7.4.5 [fs.path.modifiers] remove_filename() post condition is incorrect Yes 1
2368 Resolved 17.6.2 [new.delete] Replacing global operator new Yes 2
2955 Resolved 20.2 [utility] to_chars / from_chars depend on std::string Yes
2070 Resolved 20.11.3.6 [util.smartptr.shared.create] allocate_shared should use allocator_traits<A>::construct Yes 2
2880 Resolved 25.3.3 [algorithms.parallel.exec] Relax complexity specifications for non-sequenced policies Yes
2753 Resolved 20.6.3.1 [optional.ctor] Optional's constructors and assignments need constraints Yes 0
2232 Resolved 21.2.3 [char.traits.specializations] [CD] The char_traits specializations should declare their length(), compare(), and find() members constexpr Yes
2925 Resolved 16 [library] Template argument deduction is not used in the standard library Yes
2879 Resolved 17.13.3 [csignal.syn] Removing C dependencies from signal handler wording Yes
825 Resolved 19.5.3.1 [syserr.errcode.overview] Missing rvalues reference stream insert/extract operators? Yes
2888 Resolved 20 [utilities] Variables of library tag types need to be inline variables Yes
2889 Resolved 20 [utilities] Mark constexpr global variables as inline Yes
1290 Resolved 20.14 [function.objects] Don't require [u|bi]nary_function inheritance Yes
2926 Resolved 20.14.3 [func.require] INVOKE(f, t1, t2,... tN) and INVOKE(f, t1, t2,... tN, R) are too similar Yes
2803 Resolved 20.14.18 [unord.hash] hash for arithmetic, pointer and standard library types should not throw Yes 3
2927 Resolved 20.15.2 [meta.type.synop] Encoding a functor and argument types as a function signature for is_callable and result_of is fragile Yes
2928 Resolved 20.15.2 [meta.type.synop] is_callable is not a good name Yes
2895 Resolved 20.15.6 [meta.rel] Passing function types to result_of and is_callable Yes
2913 Resolved 22 [containers] Containers need deduction guides Yes
2914 Resolved 22.3.2 [array.syn] std::array does not support class-template deduction from initializers Yes
2915 Resolved 22.6 [container.adaptors] The three container adapters should each have a deduction guide Yes
2917 Resolved 25 [algorithms] Parallel algorithms cannot easily work with InputIterators Yes
2924 Resolved 25.9 [numeric.ops] An ExecutionPolicy overload for inner_product() seems impractical Yes
2918 Resolved 25.9.4 [inner.product] Possible need for extra storage in inner_product Yes
2919 Resolved 25.9.11 [adjacent.difference] The specification for adjacent_difference has baked-in sequential semantics Yes
2912 Resolved 27.5 [time.duration] Add a deduction guide for class template duration Yes
2715 Resolved 31.7 [atomics.types.generic] What is 'aggregate initialization syntax'? Yes 3
2887 Resolved 32.4.4.1 [thread.lock.guard] Revert the changes from P0156R0: variadic lock_guard Yes
2245 Resolved 32.6.10.1 [futures.task.members] packaged_task::reset() memory allocation Yes 3
2863 Resolved 99 [func.default.traits] Undo default_order changes of maps and sets Yes
2920 Resolved 99 [futures.shared_future] Add a deduction guide for creating a shared_future from a future rvalue Yes
2869 Resolved D.14 [depr.locale.stdcvt] Deprecate sub-clause [locale.stdcvt] Yes
2677 Resolved 29.11.11.3 [fs.dir.entry.obs] directory_entry::status is not allowed to be cached as a quality-of-implementation issue Yes 2
2663 Resolved 99 [fs.op.file_size] Enable efficient retrieval of file size from directory_entry Yes 2
2241 Resolved 17.13 [support.runtime] <cstdalign> and #define of alignof Yes 2
2529 Resolved 20.11.6 [util.smartptr.enab] Assigning to enable_shared_from_this::__weak_this twice Yes 3
2370 Resolved 20.14.16.2 [func.wrap.func] Operations involving type-erased allocators should not be noexcept in std::function Yes 3
2501 Resolved 20.14.16.2 [func.wrap.func] std::function requires POCMA/POCCA Yes 3
2502 Resolved 20.14.16.2 [func.wrap.func] std::function does not use allocator::construct Yes 3
2391 Resolved 21.3.2 [basic.string] basic_string is missing non-const data() Yes 3
2757 Resolved 21.3.2.6.4 [string.insert] std::string{}.insert(3, "ABCDE", 0, 1) is ambiguous Yes 1
1041 Resolved 22.2.6 [associative.reqmts] Add associative/unordered container functions that allow to extract elements Yes
2443 Resolved 22.3.7 [array] std::array member functions should be constexpr Yes
839 Resolved 22.4 [associative] Maps and sets missing splice operation Yes
2208 Resolved 23.5.1 [reverse.iterators] std::reverse_iterator should be a literal type Yes 3
2294 Resolved 26.8 [c.math] <cstdlib> should declare abs(double) Yes 2
2548 Resolved 29.12 [c.files] Missing vfscanf from <cstdio> Yes 3
2343 Resolved 30.13 [re.grammar] Is the value of the ECMA-262 RegExp object's multiline property really false? Yes 2
2424 Resolved 31.7 [atomics.types.generic] 29.5 should state that atomic types are not trivially copyable Yes 2
2505 Resolved 99 [auto.ptr.conv] auto_ptr_ref creation requirements underspecified Yes 4
2867 Resolved 16.5.5.12 [res.on.exception.handling] Bad footnote about explicit exception-specification Yes
2862 Resolved 20.6 [optional] LWG 2756 should be accepted Yes
2882 Resolved 20.7.3.1 [variant.ctor] Clarify variant construction Yes
2877 Resolved 20.11.3.9 [util.smartptr.shared.cast] Strengthen meaning of "empty shared_ptr<T>" in dynamic_pointer_cast Yes
2805 Resolved 20.7 [variant] void and reference type alternatives in variant, variant<> and index() Yes
2809 Resolved 20.7.12 [variant.hash] variant hash requirements Yes
2075 Resolved 6.8.2 [intro.multithread] Progress guarantees, lock-free property, and scheduling assumptions Yes
343 Resolved 16 [library] Unspecified library header dependencies Yes
625 Resolved 16 [library] Mixed up Effects and Returns clauses Yes 895
1151 Resolved 16 [library] Behavior of the library in the presence of threads is incompletely specified Yes
1344 Resolved 16 [library] Replace throw() with noexcept Yes 1351
1345 Resolved 16 [library] Library classes should have noexcept move operations Yes
1346 Resolved 16 [library] Apply noexcept where library specification does not permit exceptions Yes 1352
1347 Resolved 16 [library] Apply noexcept judiciously throughout the library Yes
1353 Resolved 16 [library] Clarify the state of a moved-from object Yes
1357 Resolved 16.4.2.2.4 [bitmask.types] Library bitmask types to not satisfy the bimask type requirements Yes
594 Resolved 16.5.3.1 [utility.arg.requirements] Disadvantages of defining Swappable in terms of CopyConstructible and Assignable Yes
742 Resolved 16.5.3.1 [utility.arg.requirements] Enabling swap for proxy iterators Yes
1283 Resolved 16.5.3.1 [utility.arg.requirements] MoveConstructible and MoveAssignable need clarification of moved-from state Yes
1322 Resolved 16.5.3.1 [utility.arg.requirements] Explicit CopyConstructible requirements are insufficient Yes
431 Resolved 16.5.3.5 [allocator.requirements] Swapping containers with unequal allocators Yes
635 Resolved 16.5.3.5 [allocator.requirements] domain of allocator::address Yes
1526 Resolved 16.5.5.9 [res.on.data.races] C++ should not impose thread safety requirements on C99 library implementations Yes 3
1366 Resolved 17.6.2.4 [new.delete.dataraces] New-handler and data races Yes
1365 Resolved 17.6.3 [alloc.errors] Thread-safety of handler functions Yes
1135 Resolved 17.9.6 [propagation] exception_ptr should support contextual conversion to bool Yes
1307 Resolved 17.9.6 [propagation] exception_ptr and allocator pointers don't understand != Yes
1364 Resolved 17.9.6 [propagation] It is not clear how exception_ptr is synchronized Yes
697 Resolved 19.5 [syserr] New <system_error> header leads to name clashes Yes
1229 Resolved 19.5.3.3 [syserr.errcode.modifiers] error_code operator= typo Yes
1075 Resolved 20 [utilities] Scoped allocators are too complex Yes
1377 Resolved 20.2 [utility] The revised forward is not compatible with access-control Yes
2456 Resolved 20.2 [utility] Incorrect exception specifications for 'swap' throughout library Yes 1
2554 Resolved 20.2.2 [utility.swap] Swapping multidimensional arrays is never noexcept Yes 2
823 Resolved 20.2.4 [forward] identity<void> seems broken Yes
1054 Resolved 20.2.4 [forward] forward broken Yes
353 Resolved 20.4 [pairs] std::pair missing template assignment Yes
482 Resolved 20.4 [pairs] Swapping pairs Yes
1378 Resolved 20.4 [pairs] pair and tuple have too many conversions Yes
1380 Resolved 20.4 [pairs] pair and tuple of references need to better specify move-semantics Yes
1382 Resolved 20.4 [pairs] pair and tuple constructors should forward arguments Yes
1383 Resolved 20.4 [pairs] Inconsistent defaulted move/copy members in pair and tuple Yes
1324 Resolved 20.4.2 [pairs.pair] Still too many implicit conversions for pair and tuple Yes
1326 Resolved 20.4.2 [pairs.pair] Missing/wrong preconditions for pair and tuple functions Yes
1379 Resolved 20.4.2 [pairs.pair] pair copy-assignment not consistent for references Yes
801 Resolved 20.5 [tuple] tuple and pair trivial members Yes
1116 Resolved 20.5.3 [tuple.tuple] Literal constructors for tuple Yes
2051 Resolved 20.5.3 [tuple.tuple] Explicit tuple constructors for more than one parameter Yes 2
1117 Resolved 20.5.3.1 [tuple.cnstr] tuple copy constructor Yes
2754 Resolved 20.8.3.1 [any.cons] The in_place constructors and emplace functions added by P0032R3 don't require CopyConstructible Yes 1
834 Resolved 20.11.1.2 [unique.ptr.single] unique_ptr::pointer requirements underspecified Yes
983 Resolved 20.11.1.2 [unique.ptr.single] unique_ptr reference deleters should not be moved from Yes
932 Resolved 20.11.1.2.1 [unique.ptr.single.ctor] unique_ptr(pointer p) for pointer deleter types Yes
950 Resolved 20.11.1.2.1 [unique.ptr.single.ctor] unique_ptr converting ctor shouldn't accept array form Yes
1100 Resolved 20.11.1.2.1 [unique.ptr.single.ctor] auto_ptr to unique_ptr conversion Yes
2228 Resolved 20.11.1.2.3 [unique.ptr.single.asgn] Missing SFINAE rule in unique_ptr templated assignment Yes 3
1293 Resolved 20.11.1.3 [unique.ptr.runtime] unique_ptr<T[], D> needs to get rid of unspecified-pointer-type Yes
1297 Resolved 20.11.1.5 [unique.ptr.special] unique_ptr's relational operator functions should induce a total order Yes
2810 Resolved 20.11.3 [util.smartptr.shared] use_count and unique in shared_ptr Yes
827 Resolved 20.11.3.1 [util.smartptr.shared.const] constexpr shared_ptr::shared_ptr()? Yes
1407 Resolved 20.11.3.1 [util.smartptr.shared.const] Synch shared_ptr constructors taking movable types Yes
884 Resolved 20.11.3.4 [util.smartptr.shared.mod] shared_ptr swap Yes
1405 Resolved 20.13 [allocator.adaptor] Move scoped_allocator_adaptor into separate header Yes
1321 Resolved 20.13.4 [allocator.adaptor.members] scoped_allocator_adaptor construct and destroy don't use allocator_traits Yes
658 Resolved 20.14 [function.objects] Two unspecified function comparators in [function.objects] Yes
1397 Resolved 20.14 [function.objects] Deprecate '98 binders Yes
816 Resolved 20.14.14.3 [func.bind.bind] Should bind()'s returned functor have a nofail copy ctor when bind() is nofail? Yes
1258 Resolved 20.14.16.2.2 [func.wrap.func.mod] std::function Effects clause impossible to satisfy Yes
815 Resolved 20.14.16.2.4 [func.wrap.func.inv] std::function and reference_closure do not use perfect forwarding Yes
2543 Resolved 20.14.18 [unord.hash] LWG 2148 (hash support for enum types) seems under-specified Yes 2
2817 Resolved 20.14.18 [unord.hash] std::hash for nullptr_t Yes
719 Resolved 20.15 [meta] std::is_literal type traits should be provided Yes 750
1390 Resolved 20.15 [meta] Limit speculative compilation for constructible/convertible traits Yes
1391 Resolved 20.15 [meta] constructible/convertible traits and access control Yes
525 Resolved 20.15.4 [meta.unary] type traits definitions not clear Yes
1392 Resolved 20.15.4 [meta.unary] result_of should support pointer-to-data-member Yes
1174 Resolved 20.15.4.3 [meta.unary.prop] Type property predicates Yes
1260 Resolved 20.15.4.3 [meta.unary.prop] is_constructible<int*,void*> reports true Yes
1393 Resolved 20.15.4.3 [meta.unary.prop] Trivial traits imply noexcept Yes
1394 Resolved 20.15.4.3 [meta.unary.prop] is_constructible reports false positives Yes
1055 Resolved 20.15.7.6 [meta.trans.other] Provide a trait that returns the underlying type of an enumeration type Yes
2397 Resolved 20.15.7.6 [meta.trans.other] map<K, V>::emplace and explicit V constructors Yes 1
2763 Resolved 20.15.7.6 [meta.trans.other] common_type_t<void, void> is undefined Yes 2
1122 Resolved 20.16.3 [ratio.ratio] Ratio values should be constexpr Yes
1281 Resolved 20.16.3 [ratio.ratio] CopyConstruction and Assignment between ratios having the same normalized form Yes
1389 Resolved 20.16.4 [ratio.arithmetic] Compile-time rational arithmetic and overflow Yes
2791 Resolved 21.4.5 [string.view.hash] string_view objects and strings should yield the same hash values Yes
767 Resolved 22 [containers] Forwarding and backward compatibility Yes
985 Resolved 22.2.1 [container.requirements.general] Allowing throwing move Yes
1329 Resolved 22.2.2 [container.requirements.dataraces] Data races on vector<bool> Yes
2052 Resolved 22.2.6 [associative.reqmts] Mixup between mapped_type and value_type for associative containers Yes 2
2830 Resolved 22.2.6 [associative.reqmts] insert_return_type is only defined for containers with unique keys Yes
897 Resolved 22.3.9.5 [forwardlist.modifiers] Forward_list issues... Part 2 Yes
2066 Resolved 22.3.11.3 [vector.capacity] Missing specification of vector::resize(size_type) Yes
2012 Resolved 22.4 [associative] Associative maps should insert pair, not tuple Yes
2274 Resolved 22.4.4.3 [map.access] Does map::operator[] value-initialize or default-insert a missing element? Yes 3
1248 Resolved 22.5 [unord] Equality comparison for unordered containers Yes
756 Resolved 22.6 [container.adaptors] Container adaptors push Yes
1421 Resolved 22.6 [container.adaptors] Accidental move-only library types due to new core language rules Yes 1350
1196 Resolved 22.6.5.2 [priqueue.cons] move semantics undefined for priority_queue Yes
976 Resolved 22.6.6.1 [stack.defn] Class template std::stack should be movable Yes
1185 Resolved 23.3 [iterator.requirements] Iterator categories and output iterators Yes
1210 Resolved 23.3 [iterator.requirements] Iterator reachability should not require a container Yes
1212 Resolved 23.3 [iterator.requirements] result of post-increment/decrement operator Yes
485 Resolved 23.3.5.3 [output.iterators] output iterator insufficiently constrained Yes
1311 Resolved 23.3.5.4 [forward.iterators] multi-pass property of Forward Iterator underspecified Yes
940 Resolved 23.4.2 [iterator.operations] std::distance Yes
1211 Resolved 23.5.3.1 [move.iterator] Move iterators should be restricted as input iterators Yes
1129 Resolved 23.6.1.1 [istream.iterator.cons] istream(buf)_iterator should support literal sentinel value Yes
1093 Resolved 25.6.13 [alg.random.shuffle] Multiple definitions for random_shuffle algorithm Yes
800 Resolved 26.6.7.1 [rand.util.seedseq] Issues in 26.4.7.1 [rand.util.seedseq](6) Yes
803 Resolved 26.6.7.1 [rand.util.seedseq] Simplification of seed_seq::seq_seq Yes
793 Resolved 26.6.8.6.1 [rand.dist.samp.discrete] discrete_distribution missing constructor Yes
874 Resolved 26.6.8.6.1 [rand.dist.samp.discrete] Missing initializer_list constructor for discrete_distribution Yes
794 Resolved 26.6.8.6.2 [rand.dist.samp.pconst] piecewise_constant_distribution missing constructor Yes
875 Resolved 26.6.8.6.2 [rand.dist.samp.pconst] Missing initializer_list constructor for piecewise_constant_distribution Yes
1327 Resolved 26.8 [c.math] templates defined in <cmath> replacing C macros with the same name Yes
786 Resolved 27 [time] Thread library timed waits, UTC and monotonic clocks Yes
953 Resolved 27.3 [time.clock.req] Various threading bugs #3 Yes
947 Resolved 27.5.5 [time.duration.nonmember] duration arithmetic: contradictory requirements Yes
2054 Resolved 27.6 [time.point] time_point constructors need to be constexpr Yes
2057 Resolved 27.6.5 [time.point.nonmember] time_point + duration semantics should be made constexpr conforming Yes
1445 Resolved 29.7 [iostream.format] Several iostreams member functions incorrectly specified Yes
1447 Resolved 29.7 [iostream.format] Request to resolve issue LWG 1328 Yes
2249 Resolved 29.12 [c.files] [CD] Remove gets from <cstdio> Yes
1453 Resolved 30.10.4 [re.results.acc] Default constructed match_results behavior for certain operations Yes
2002 Resolved 30.10.8 [re.results.nonmember] Class template match_results does not specify the semantics of operator== Yes
880 Resolved 31 [atomics] Missing atomic exchange parameter Yes 942
923 Resolved 31 [atomics] atomics with floating-point Yes
924 Resolved 31 [atomics] structs with internal padding Yes
1143 Resolved 31 [atomics] Atomic operations library not concept enabled Yes
1145 Resolved 31 [atomics] Inappropriate headers for atomics Yes
1455 Resolved 31 [atomics] C language compatibility for atomics Yes 1454
1523 Resolved 31 [atomics] noexcept for Clause 29 Yes
1457 Resolved 31.2 [atomics.syn] Splitting lock-free properties Yes
2037 Resolved 31.2 [atomics.syn] atomic free functions incorrectly specified Yes
2034 Resolved 31.4 [atomics.order] Initialization of atomics is misspecified so that it doesn't preserve sequential consistency Yes
1146 Resolved 31.5 [atomics.lockfree] "lockfree" does not say enough Yes
1460 Resolved 31.5 [atomics.lockfree] Missing lock-free property for type bool should be added Yes
944 Resolved 31.7 [atomics.types.generic] atomic<bool> derive from atomic_bool? Yes
1469 Resolved 31.7 [atomics.types.generic] atomic<T*> inheritance from atomic_address breaks type safety Yes
2024 Resolved 31.7 [atomics.types.generic] Inconsistent implementation requirements for atomic<integral> and atomic<T*> Yes
2165 Resolved 31.7 [atomics.types.generic] std::atomic<X> requires X to be nothrow default constructible Yes 4
1043 Resolved 31.7.1 [atomics.types.operations] Clarify that compare_exchange is not a read-modify-write operation Yes
1147 Resolved 31.7.1 [atomics.types.operations] Non-volatile atomic functions Yes
1481 Resolved 32.2 [thread.req] Missing Lockable requirements Yes
1482 Resolved 32.2.4 [thread.req.timing] Timeout operations are under-specified Yes
889 Resolved 32.3.2.1 [thread.thread.id] thread::id comparisons Yes
1268 Resolved 32.4 [thread.mutex] The Mutex requirements in 30.4.1 and 30.4.2 are wrong Yes
1490 Resolved 32.4.3 [thread.mutex.requirements] Mutex requirements too stringent Yes
1491 Resolved 32.4.3 [thread.mutex.requirements] try_lock does not guarantee forward progress Yes
1492 Resolved 32.4.3 [thread.mutex.requirements] Mutex requirements should not be bound to threads Yes
828 Resolved 32.4.3.2.1 [thread.mutex.class] Static initialization for std::mutex? Yes
2023 Resolved 32.4.4.1 [thread.lock.guard] Incorrect requirements for lock_guard and unique_lock Yes
1498 Resolved 32.5 [thread.condition] Unclear specification for [thread.condition] Yes
958 Resolved 32.5.3 [thread.condition.condvar] Various threading bugs #8 Yes
966 Resolved 32.5.3 [thread.condition.condvar] Various threading bugs #16 Yes
2240 Resolved 32.5.3 [thread.condition.condvar] Probable misuse of term "function scope" in [thread.condition] Yes
964 Resolved 32.5.4 [thread.condition.condvarany] Various threading bugs #14 Yes
1046 Resolved 32.6 [futures] Provide simple facility to start asynchronous operations Yes
1244 Resolved 32.6 [futures] wait_*() in *future for synchronous functions Yes
1275 Resolved 32.6 [futures] Creating and setting futures Yes
1501 Resolved 32.6 [futures] Specification for managing associated asynchronous state has problems Yes
1513 Resolved 32.6 [futures] 'launch' enum too restrictive Yes
1226 Resolved 32.6.3 [futures.errors] Incomplete changes of #890 Yes
1269 Resolved 32.6.5 [futures.state] Associated state doesn't account for async Yes
1502 Resolved 32.6.5 [futures.state] Specification of [futures.state] unclear Yes
1049 Resolved 32.6.6 [futures.promise] Move assignment of promise inverted Yes
1050 Resolved 32.6.6 [futures.promise] Clarify postconditions for get_future() Yes
1088 Resolved 32.6.6 [futures.promise] std::promise should provide non-member swap overload Yes
1165 Resolved 32.6.6 [futures.promise] Unneeded promise move constructor Yes
1272 Resolved 32.6.6 [futures.promise] confusing declarations of promise::set_value Yes
1291 Resolved 32.6.6 [futures.promise] Exceptions thrown during promise::set_value Yes
1300 Resolved 32.6.6 [futures.promise] Circular definition of promise::swap Yes
1504 Resolved 32.6.6 [futures.promise] Term "are serialized" is not defined Yes
1505 Resolved 32.6.6 [futures.promise] Synchronization between promise::set_value and future::get Yes
1507 Resolved 32.6.6 [futures.promise] promise::XXX_at_thread_exit functions have no synchronization requirements Yes
1090 Resolved 32.6.10 [futures.task] Missing description of packaged_task member swap, missing non-member swap Yes
1508 Resolved 32.6.10 [futures.task] Rename packaged_task::operator bool() Yes
1515 Resolved 32.6.10.1 [futures.task.members] packaged_task::make_ready_at_thread_exit has no synchronization requirements Yes
2025 Resolved 32.6.10.1 [futures.task.members] Incorrect semantics of move assignment operator of packaged_task Yes
1172 Resolved 99 [allocator.concepts.members] select_on_container_(copy|move)_construction over-constrained Yes
1166 Resolved 99 [allocator.propagation] Allocator-specific move/copy break model of move-constructor and move-assignment Yes
1465 Resolved 99 [atomics.types.address] Missing arithmetic operators for atomic_address Yes
1466 Resolved 99 [atomics.types.address] Silent const breakage by compare_exchange_* member functions Yes
1467 Resolved 99 [atomics.types.address] Deriving atomic<T*> from atomic_address breaks type safety Yes
1468 Resolved 99 [atomics.types.address] atomic_address::compare_exchange_* member functions should match atomic_compare_exchange_* free functions Yes
1462 Resolved 99 [atomics.types.integral] Ambiguous value assignment to atomic_bool Yes 1463
1464 Resolved 99 [atomics.types.integral] Underspecified typedefs for atomic integral types Yes
1355 Resolved 99 [defns.move.assign.op] The definition of move-assignment operator is redundant Yes
1356 Resolved 99 [defns.move.ctor] The definition of move-constructor is redundant Yes
1225 Resolved 99 [func.ret] C++0x result_of issue Yes
1274 Resolved 99 [futures.atomic_future] atomic_future constructor Yes
1305 Resolved 99 [futures.atomic_future] preconditions for atomic_future Yes
1160 Resolved 99 [futures.future_error] future_error public constructor is 'exposition only' Yes
1106 Resolved 99 [futures.shared_future] Multiple exceptions from connected shared_future::get()? Yes
1162 Resolved 99 [futures.shared_future] shared_future should support an efficient move constructor Yes
1163 Resolved 99 [futures.shared_future] shared_future is inconsistent with shared_ptr Yes
1266 Resolved 99 [futures.shared_future] shared_future::get and deferred async functions Yes
1304 Resolved 99 [futures.shared_future] Missing preconditions for shared_future Yes
1047 Resolved 99 [futures.unique_future] Ensure that future's get() blocks when not ready Yes
1048 Resolved 99 [futures.unique_future] Provide empty-state inspection for std::unique_future Yes
1161 Resolved 99 [futures.unique_future] Unnecessary unique_future limitations Yes
1273 Resolved 99 [futures.unique_future] future::valid should be callable on an invalid future Yes
1328 Resolved 99 [istream::sentry] istream extractors not setting failbit if eofbit is already set Yes
732 Resolved 99 [rand.dist.samp.genpdf] Defect in [rand.dist.samp.genpdf] Yes 795
1409 Resolved 99 [time.clock.monotonic] Specify whether monotonic_clock is a distinct type or a typedef Yes
1410 Resolved 99 [time.clock.monotonic] Add a feature-detect macro for monotonic_clock Yes 1411
1412 Resolved 99 [time.clock.monotonic] Make monotonic clocks mandatory Yes
2282 Resolved 5.3.3 [fund.ts::optional.object.assign] [fund.ts] Incorrect is_assignable constraint in optional::op=(U&&) Yes
2287 Resolved 5.3.3 [fund.ts::optional.object.assign] [fund.ts] Incorrect exception safety for optional copy assignment operator Yes
2283 Resolved 5.9 [fund.ts::optional.comp_with_t] [fund.ts] optional declares and then does not define an operator<() Yes
2333 Resolved 5.11 [fund.ts::optional.hash] [fund.ts] Hashing disengaged optional<T> objects Yes
2416 Resolved 6.3 [fund.ts::any.class] [fund.ts] std::experimental::any allocator support is unimplementable Yes

TRDec (8 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
602 TRDec 3 [dec.tr::trdec.types] [dec.tr] "generic floating type" not defined. Yes
603 TRDec 3 [dec.tr::trdec.types] [dec.tr] Trivially simplifying decimal classes. Yes
604 TRDec 3 [dec.tr::trdec.types] [dec.tr] Storing a reference to a facet unsafe. Yes
599 TRDec 3.1 [dec.tr::trdec.types.encodings] [dec.tr] Say "octets" instead of "bytes." Yes
598 TRDec 3.2 [dec.tr::trdec.types.types] [dec.tr] Conversion to integral should truncate, not round. Yes
601 TRDec 3.3 [dec.tr::trdec.types.limits] [dec.tr] numeric_limits typos Yes
605 TRDec 3.4 [dec.tr::trdec.types.cdecfloat] [dec.tr] <decfloat.h> doesn't live here anymore. Yes
600 TRDec 3.9 [dec.tr::trdec.types.cwchar] [dec.tr] Wrong parameters for wcstod* functions Yes

NAD Editorial (117 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3033 NAD Editorial 21.3.2.2 [string.cons] basic_string move ctor is underspecified Yes
2701 NAD Editorial 20.12.2.2 [mem.res.private] Unclear requirement in [memory.resource.private] Yes 3
2666 NAD Editorial 29.11 [filesystems] Bitmask operations should use bitmask terms Yes 3
571 NAD Editorial 2 [intro.refs] Update C90 references to C99? Yes
873 NAD Editorial 6.7.1 [basic.fundamental] signed integral type and unsigned integral type are not clearly defined Yes
972 NAD Editorial 16 [library] The term "Assignable" undefined but still in use Yes
1232 NAD Editorial 16 [library] Still swap's with rvalue-references Yes
424 NAD Editorial 16.4.1.2 [structure.summary] normative notes Yes
626 NAD Editorial 16.4.1.4 [structure.specifications] new Remark clauses not documented Yes
1179 NAD Editorial 16.4.1.4 [structure.specifications] Probably editorial in [structure.specifications] Yes
1060 NAD Editorial 16.4.2.2.5.1 [byte.strings] Embedded nulls in NTBS Yes
2281 NAD Editorial 16.5.2.3 [using.linkage] C99 cross-reference typo in [using.linkage] Yes
390 NAD Editorial 16.5.3.1 [utility.arg.requirements] CopyConstructible requirements too strict Yes
529 NAD Editorial 16.5.4.11 [res.on.required] The standard encourages redundant and confusing preconditions Yes
591 NAD Editorial 17.3.4.1 [numeric.limits.members] Misleading "built-in Yes
557 NAD Editorial 17.4 [cstdint] TR1: div(_Longlong, _Longlong) vs div(intmax_t, intmax_t) Yes
553 NAD Editorial 17.4.1 [cstdint.syn] very minor editorial change intptr_t / uintptr_t Yes
841 NAD Editorial 17.4.1 [cstdint.syn] cstdint.syn inconsistent with C99 Yes
1061 NAD Editorial 20.4.4 [pair.astuple] Bad indexing for tuple access to pair (Editorial?) Yes
1077 NAD Editorial 20.5.3 [tuple.tuple] Nonesense tuple declarations Yes
1168 NAD Editorial 20.9.2.2 [bitset.members] Odd wording for bitset equality operators Yes
1233 NAD Editorial 20.10 [memory] Missing unique_ptr signatures in synopsis Yes
1022 NAD Editorial 20.10.5 [util.dynamic.safety] Pointer-safety API has nothing to do with smart pointers Yes
754 NAD Editorial 20.10.11.5 [uninitialized.copy] Ambiguous return clause for std::uninitialized_copy Yes
2060 NAD Editorial 20.11.1.3 [unique.ptr.runtime] unique_ptr<T[]>(nullptr_t) missing noexcept Yes
351 NAD Editorial 20.14 [function.objects] unary_negate and binary_negate: struct or class? Yes
1023 NAD Editorial 20.14.16.2 [func.wrap.func] Unclear inheritance relation for std::function Yes
633 NAD Editorial 20.14.16.2.5 [func.wrap.func.targ] Return clause mentions undefined "type()" Yes
590 NAD Editorial 20.15 [meta] Type traits implementation latitude should be removed for C++0x Yes
1239 NAD Editorial 20.15.4.3 [meta.unary.prop] Defect report Yes
2828 NAD Editorial 20.15.4.3 [meta.unary.prop] Clarify <cstdalign> (following adoption of P0063r3) Yes
1395 NAD Editorial 20.15.6 [meta.rel] Inconsistent reference links should be unified Yes
830 NAD Editorial 21.2 [char.traits] Incomplete list of char_traits specializations Yes
831 NAD Editorial 21.2.3 [char.traits.specializations] wrong type for not_eof() Yes
718 NAD Editorial 21.3.2 [basic.string] basic_string is not a sequence Yes
368 NAD Editorial 21.3.2.6.6 [string.replace] basic_string::replace has two "Throws" paragraphs Yes
615 NAD Editorial 21.5 [c.strings] Inconsistencies in Section 21.4 Yes
580 NAD Editorial 22.2.1 [container.requirements.general] unused allocator members Yes 479
1415 NAD Editorial 22.2.1 [container.requirements.general] Iterator stability bans the short-string optimization Yes
725 NAD Editorial 22.2.3 [sequence.reqmts] Optional sequence container requirements column label Yes
1058 NAD Editorial 22.2.3 [sequence.reqmts] New container issue Yes
1301 NAD Editorial 22.2.3 [sequence.reqmts] clear() and assignment Yes
1419 NAD Editorial 22.3.9 [forwardlist] forward_list::erase_after should return an iterator Yes
892 NAD Editorial 22.3.9.6 [forwardlist.ops] Forward_list issues... Yes
101 NAD Editorial 22.3.11 [vector] No way to free storage for vector and deque Yes
757 NAD Editorial 22.3.11 [vector] Typo in the synopsis of vector Yes
140 NAD Editorial 22.4.4 [map] map<Key, T>::value_type does not satisfy the assignable requirement Yes
408 NAD Editorial 23.3 [iterator.requirements] Is vector<reverse_iterator<char*> > forbidden? Yes
446 NAD Editorial 23.3 [iterator.requirements] Iterator equality between different containers Yes
558 NAD Editorial 23.3.5.2 [input.iterators] lib.input.iterators Defect Yes
299 NAD Editorial 23.3.5.5 [bidirectional.iterators] Incorrect return types for iterator dereference Yes
979 NAD Editorial 23.5.3 [move.iterators] Bad example Yes
969 NAD Editorial 25.5.4 [alg.foreach] What happened to Library Issue 475? Yes
1101 NAD Editorial 25.6.9 [alg.unique] unique requirements Yes
812 NAD Editorial 25.7.1 [alg.sort] unsolicited multithreading considered harmful? Yes
499 NAD Editorial 25.7.1.2 [stable.sort] Std. doesn't seem to require stable_sort() to be stable! Yes
862 NAD Editorial 25.7.6.1 [includes] Impossible complexity for 'includes' Yes
915 NAD Editorial 25.7.8 [alg.min.max] minmax with initializer_list should return pair of T, not pair of const T& Yes
1013 NAD Editorial 25.7.8 [alg.min.max] Remove IsSameType hold-over constraints Yes
1434 NAD Editorial 25.7.8 [alg.min.max] For min/max functions replace variadic arguments by initializer_list argument Yes
656 NAD Editorial 26.6.1 [rand.synopsis] Typo in subtract_with_carry_engine declaration Yes
504 NAD Editorial 26.6.2 [rand.req] Integer types in pseudo-random number engine requirements Yes
512 NAD Editorial 26.6.3 [rand.eng] Seeding subtract_with_carry_01 from a single unsigned long Yes
513 NAD Editorial 26.6.3 [rand.eng] Size of state for subtract_with_carry_01 Yes
516 NAD Editorial 26.6.3 [rand.eng] Seeding subtract_with_carry_01 using a generator Yes
514 NAD Editorial 26.6.3.3 [rand.eng.sub] Size of state for subtract_with_carry Yes
738 NAD Editorial 26.6.4.2 [rand.adapt.disc] Editorial issue in [rand.adapt.disc]/3 Yes
549 NAD Editorial 26.6.8 [rand.dist] Undefined variable in binomial_distribution Yes
867 NAD Editorial 26.7.2.2 [valarray.cons] Valarray and value-initialization Yes
636 NAD Editorial 26.7.2.4 [valarray.access] 26.5.2.3 valarray::operator[] Yes
717 NAD Editorial 26.7.2.4 [valarray.access] Incomplete valarray::operator[] specification in [valarray.access] Yes
357 NAD Editorial 26.8 [c.math] <cmath> float functions cannot return HUGE_VAL Yes
637 NAD Editorial 26.8 [c.math] §[c.math]/10 inconsistent return values Yes
690 NAD Editorial 26.8 [c.math] abs(long long) should return long long Yes
952 NAD Editorial 27.5.7 [time.duration.cast] Various threading bugs #2 Yes
945 NAD Editorial 27.7.1 [time.clock.system] system_clock::rep not specified Yes
393 NAD Editorial 28.4.1.4.2 [locale.codecvt.virtuals] do_in/do_out operation on state unclear Yes
837 NAD Editorial 29.5.5.3 [basic.ios.members] basic_ios::copyfmt() overly loosely specified Yes
641 NAD Editorial 29.7.7 [ext.manip] Editorial fix for 27.6.4 (N2134) Yes
592 NAD Editorial 29.9.3.3 [ifstream.members] Incorrect treatment of rdbuf()->close() return type Yes
642 NAD Editorial 29.9.3.3 [ifstream.members] Invalidated fstream footnotes in N2134 Yes
645 NAD Editorial 30.10 [re.results] Missing members in match_results Yes
684 NAD Editorial 30.10 [re.results] Unclear which members of match_results should be used in comparison Yes
647 NAD Editorial 30.11.3 [re.alg.search] Inconsistent regex_search params Yes
648 NAD Editorial 30.12.1.1 [re.regiter.cnstr] regex_iterator c'tor needs clarification/editorial fix Yes
683 NAD Editorial 30.12.2 [re.tokiter] regex_token_iterator summary error Yes
649 NAD Editorial 30.12.2.1 [re.tokiter.cnstr] Several typos in regex_token_iterator constructors Yes
879 NAD Editorial 31 [atomics] Atomic load const qualification Yes
937 NAD Editorial 31 [atomics] Atomics for standard typedef types Yes
926 NAD Editorial 31.4 [atomics.order] Sequentially consistent fences, relaxed operations and modification order Yes
864 NAD Editorial 31.7.1 [atomics.types.operations] Defect in atomic wording Yes
1471 NAD Editorial 31.7.1 [atomics.types.operations] Default constructor of atomics needs specification Yes
1472 NAD Editorial 31.7.1 [atomics.types.operations] Incorrect semantics of atomic_init Yes
1442 NAD Editorial 32 [thread] "happens-before" should be "synchronizes-with" Yes 1443
1483 NAD Editorial 32.3 [thread.threads] __STDCPP_THREADS spelling Yes
1489 NAD Editorial 32.4 [thread.mutex] unlock functions and unlock mutex requirements are inconsistent Yes
1495 NAD Editorial 32.5 [thread.condition] Condition variable wait_for return value insufficient Yes
1496 NAD Editorial 32.5.3 [thread.condition.condvar] condition_variable not implementable Yes
1500 NAD Editorial 32.5.4 [thread.condition.condvarany] Consider removal of native_handle() Yes
1503 NAD Editorial 32.6.5 [futures.state] "associated asynchronous state" must go Yes
1506 NAD Editorial 32.6.6 [futures.promise] set_exception with a null pointer Yes
1315 NAD Editorial 32.6.9 [futures.async] return type of async Yes
1512 NAD Editorial 32.6.9 [futures.async] Conflict in specification: block or join? Yes
973 NAD Editorial 99 [auto.ptr] auto_ptr characteristics Yes
1509 NAD Editorial 99 [futures.atomic_future] No restriction on calling future::get more than once Yes
1510 NAD Editorial 99 [futures.atomic_future] Should be undefined behaviour to call atomic_future operations unless valid() Yes
1511 NAD Editorial 99 [futures.atomic_future] Synchronize the move-constructor for atomic_future Yes
1107 NAD Editorial 99 [futures.shared_future] constructor shared_future(unique_future) by value? Yes
397 NAD Editorial 99 [ostream::sentry] ostream::sentry dtor throws exceptions Yes
544 NAD Editorial C.6 [diff.library] minor NULL problems in C.2 Yes
1115 NAD Editorial C.6 [diff.library] va_copy missing from Standard macros table Yes
1155 NAD Editorial C.6 [diff.library] Reference should be to C99 Yes
2201 NAD Editorial C.6 [diff.library] Missing macro entries from C standard library Yes 2
587 NAD Editorial D.8.3.1 [depr.istrstream.cons] iststream ctor missing description Yes
2639 NAD Editorial 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] permissions() is missing from synopsis Yes
2659 NAD Editorial 10 [filesys.ts::fs.enum] [filesys.ts] [PDTS] Invalid expressions for bitmask types Yes
555 NAD Editorial 8.21 [tr1::tr.c99.boolh] [tr1] 8.21/1: typo Yes

NAD (395 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
3106 NAD 17.6.1 [new.syn] nothrow should be inline constexpr rather that extern const Yes 2
1289 NAD 20.2 [utility] Generic casting requirements for smart pointers Yes
1406 NAD 20.11.3 [util.smartptr.shared] Support hashing smart-pointers based on owner Yes
1317 NAD 20.14.18 [unord.hash] make_hash Yes
1121 NAD 20.16.4 [ratio.arithmetic] Support for multiple arguments Yes
1188 NAD 22.2.7 [unord.req] Unordered containers should have a minimum load factor as well as a maximum Yes
1282 NAD 25 [algorithms] A proposal to add std::split algorithm Yes
1154 NAD 26.4 [complex.numbers] complex should accept integral types Yes
1217 NAD 26.4 [complex.numbers] Quaternion support Yes
1235 NAD 26.6.2.6 [rand.req.dist] Issue with C++0x random number proposal Yes
935 NAD 27.7 [time.clock] clock error handling needs to be specified Yes
708 NAD 28 [localization] Locales need to be per thread and updated for POSIX changes Yes
2600 NAD 29.5.3.5 [ios.base.storage] ios_base must store inaccessible iostate flags Yes
1499 NAD 32.5 [thread.condition] Condition variables preclude wakeup optimization Yes
2226 NAD D.15.1 [depr.conversions.string] wstring_convert methods do not take allocator instance Yes
2417 NAD 5.7 [fund.ts.v2::optional.relops] [fund.ts.v2] std::experimental::optional::operator< and LessThanComparable requirement Yes
3181 NAD 24.7.8.3 [range.split.outer] split_view::outer_iterator converting constructor is misconstrained Yes
3016 NAD 20.6.3 [optional.optional] optional and over-aligned types Yes 3
3164 NAD 20.11.1.2.1 [unique.ptr.single.ctor] Unhelpful "shall not participate" constraints for unique_ptr with reference deleter Yes
3163 NAD 16.2 [networking.ts::buffer.reqmts] [networking.ts] Buffer sequence iterator equivalency Yes
1242 NAD 22 [containers] Enable SCARY iterators Yes
2563 NAD 16.5.5.5 [member.functions] LWG 2259 relaxes requirements, perhaps unintentionally Yes 2
877 NAD 16 [library] to throw() or to Throw: Nothing. Yes
2446 NAD 20.5.1 [tuple.general] Unspecialized std::tuple_size should be defined Yes
1112 NAD 20.9.2 [template.bitset] bitsets and new style for loop Yes
933 NAD 20.11.1.2.5 [unique.ptr.single.modifiers] Unique_ptr defect Yes
1031 NAD 20.11.3 [util.smartptr.shared] Need shared_ptr conversion to a unique_ptr Yes
1120 NAD 20.15 [meta] New type trait - remove_all Yes
2430 NAD 22.2.6 [associative.reqmts] Heterogeneous container lookup should be enabled using meta-function instead of nested type Yes
2372 NAD 21.3.2 [basic.string] Assignment from int to std::string Yes 4
2553 NAD 7.3 [fund.ts.v2::string.view.cons] [fund.ts.v2] basic_string_view substring constructor Yes
2892 NAD 16.5.5.6 [constexpr.functions] Relax the prohibition on libraries adding constexpr Yes 1
2121 NAD 29.8.5.1 [stringstream.cons] app for string streams Yes 3
2772 NAD 22.2.6 [associative.reqmts] Inconsistency in the insert(node) interface Yes 2
111 NAD 23.6.3.3 [istreambuf.iterator.ops] istreambuf_iterator::equal overspecified, inefficient Yes
1308 NAD 25.7.8 [alg.min.max] Concerns about initializer_list overloads of min, max, and minmax Yes
2692 NAD 16.4.2.2.4 [bitmask.types] Overspecification of lvalueness of bitmask elements Yes 3
2893 NAD 20 [utilities] Parsing Hexadecimally in P0067R4 Yes
2902 NAD 20.7.3 [variant.variant] variant should only support complete types Yes 0
2886 NAD 20.8.3.4 [any.observers] Keep the empty() functions in any Yes
2337 NAD 20.11.3.5 [util.smartptr.shared.obs] shared_ptr operator*() should not be noexcept Yes 2
2717 NAD 20.13.4 [allocator.adaptor.members] scoped_allocator_adaptor uses forward to do move's job Yes
760 NAD 22.2 [container.requirements] The emplace issue Yes 2
2891 NAD 16.5.5 [conforming] Relax library requirements on volatile types Yes
2992 NAD 19.5.2.5 [syserr.errcat.objects] system_category() and error_code::error_code() should be constexpr Yes
2971 NAD 20.7.3 [variant.variant] variant should require Destructible types Yes
2907 NAD 20.11.3.2 [util.smartptr.shared.dest] Semantics for destroying the deleter and the control-block of a shared_ptr are unclear Yes
2871 NAD 20.15.2 [meta.type.synop] User specializations of type traits should be ill-formed Yes
2909 NAD 20.18.3 [execpol.type] User specializations of is_execution_policy should be ill-formed Yes
2916 NAD 23.5.2 [insert.iterators] Insert iterators should each have an instantiation guide to initialize from a container Yes
2967 NAD 25.5.11 [alg.equal] std::equal on empty ranges Yes
2852 NAD 99 [string.operator==] Specifications of operator== for std::basic_strings and std::basic_string_views are difficult to conform to Yes 2
851 NAD 22.3.7 [array] simplified array construction Yes
1184 NAD 22.3.11 [vector] Feature request: dynamic bitset Yes
1320 NAD 23.2 [iterator.synopsis] Header for iter_swap Yes
1053 NAD 25 [algorithms] Unify algorithms with operator and function object variants Yes
2242 NAD 25.6.1 [alg.copy] [uninitialized_]copy_n() defect Yes 2
255 NAD 29.6.3 [streambuf] Why do basic_streambuf<>::pbump() and gbump() take an int? Yes
73 NAD 29.9 [file.streams] is_open should be const Yes
863 NAD 29.9 [file.streams] What is the state of a stream after close() succeeds Yes
2854 NAD D.15.1 [depr.conversions.string] wstring_convert provides no indication of incomplete input or output Yes 3
2898 NAD 16 [library] Prefer not to use member typedefs as constructor parameters Yes
2319 NAD 21.3.2.2 [string.cons] basic_string's move constructor should not be noexcept Yes 1
58 NAD 29.7.4.2.3 [istream.extractors] Extracting a char from a wide-oriented stream Yes
639 NAD 29.7.4.2.3 [istream.extractors] Still problems with exceptions during streambuf IO Yes
2429 NAD 29.8.4 [ostringstream] std::basic_ostringstream is missing an allocator-extended constructor Yes
1051 NAD 99 [reverse.iter.opindex] Specify subscript operation return types of reverse_iterator and move_iterator Yes
721 NAD D.15.1 [depr.conversions.string] wstring_convert inconsistensies Yes
2668 NAD 29.11.7 [fs.class.path] path::operator+= is defined, but not operator+ Yes 3
2761 NAD 29.11.11.3 [fs.dir.entry.obs] directory_entry comparisons are members Yes 2
2930 NAD 16.5.5.4 [global.functions] Are implementations allowed to split non-member functions into several overloads? Yes
2256 NAD 22.3.11.5 [vector.modifiers] On vector iterator invalidation Yes 3
2449 NAD 22.3.11.5 [vector.modifiers] vector::insert invalidates end()? Yes 3
2865 NAD 16 [library] Resolve all open Library issues for C++17 Yes
653 NAD 2 [intro.refs] Library reserved names Yes
462 NAD 6.8.3.4 [basic.start.term] Destroying objects with static storage duration Yes
385 NAD 16 [library] Does call by value imply the CopyConstructible requirement? Yes
941 NAD 16 [library] Ref-qualifiers for assignment operators Yes
996 NAD 16 [library] Move operation not well specified Yes
1099 NAD 16 [library] Various issues Yes
1153 NAD 16 [library] Standard library needs review for constructors to be explicit to avoid treatment as initializer-list constructor Yes
1173 NAD 16 [library] "Equivalence" wishy-washiness Yes 3
1236 NAD 16 [library] reserved identifiers in programs not using the library Yes
1331 NAD 16 [library] incorporate move special member functions into library Yes
1348 NAD 16 [library] Exception safety of unspecified types Yes
995 NAD 16.4.1.3 [structure.requirements] Operational Semantics Unclear Yes
492 NAD 16.4.1.4 [structure.specifications] Invalid iterator arithmetic expressions Yes
663 NAD 16.4.1.4 [structure.specifications] Complexity Requirements Yes
1156 NAD 16.4.2.2.3 [enumerated.types] Constraints on bitmask and enumeration types to be tightened Yes
992 NAD 16.5.1.1 [contents] Allow implementations to implement C library in the global namespace Yes
1002 NAD 16.5.1.2 [headers] Provide bulk include headers Yes
833 NAD 16.5.1.3 [compliance] Freestanding implementations header list needs review for C++0x Yes
1003 NAD 16.5.1.3 [compliance] Require more useful headers for freestanding implementations Yes
1358 NAD 16.5.1.3 [compliance] Add <chrono> and <ratio> to freestanding implementations Yes
1359 NAD 16.5.1.3 [compliance] Add <tuple> and <utility> to freestanding implementations Yes
1361 NAD 16.5.2 [using] Does use of std::size_t in a header imply that typedef name is available to users? Yes
657 NAD 16.5.2.2 [using.headers] unclear requirement about header inclusion Yes
822 NAD 16.5.3.1 [utility.arg.requirements] Object with explicit copy constructor no longer CopyConstructible Yes
1374 NAD 16.5.3.1 [utility.arg.requirements] Clarify moved-from objects are "toxic" Yes
2171 NAD 16.5.3.2 [swappable.requirements] "swappable" undefined for swapping lvalue and rvalue Yes
12 NAD 16.5.3.5 [allocator.requirements] Way objects hold allocators unclear Yes
197 NAD 16.5.3.5 [allocator.requirements] max_size() underspecified Yes
277 NAD 16.5.3.5 [allocator.requirements] Normative encouragement in allocator requirements unclear Yes
487 NAD 16.5.3.5 [allocator.requirements] Allocator::construct is too limiting Yes
560 NAD 16.5.3.5 [allocator.requirements] User-defined allocators without default constructor Yes
1376 NAD 16.5.3.5 [allocator.requirements] Allocator interface is not backward compatible Yes
2311 NAD 16.5.3.5 [allocator.requirements] Allocator requirements should be further minimized Yes 2
94 NAD 16.5.5 [conforming] May library implementors add template parameters to Standard Library classes? Yes
2113 NAD 16.5.5 [conforming] Do library implementers have the freedom to add final to non-polymorphic components? Yes
2373 NAD 16.5.5 [conforming] Make new entities and names in namespace std conforming extensions Yes 3
95 NAD 16.5.5.5 [member.functions] Members added by the implementation Yes
372 NAD 16.5.5.12 [res.on.exception.handling] Inconsistent description of stdlib exceptions Yes
1314 NAD 17.2 [support.types] NULL and nullptr Yes
2251 NAD 17.2 [support.types] C++ library should define ssize_t Yes 3
205 NAD 17.3.4.1 [numeric.limits.members] numeric_limits unclear on how to determine floating point types Yes
554 NAD 17.3.4.2 [numeric.special] Problem with lwg DR 184 numeric_limits<bool> Yes
627 NAD 17.6.2.1 [new.delete.single] Low memory and exceptions Yes
269 NAD 17.9 [support.exception] cstdarg and unnamed parameters Yes
313 NAD 17.9.4.4 [terminate] set_terminate and set_unexpected question Yes
314 NAD 17.9.4.4 [terminate] Is the stack unwound when terminate() is called? Yes
707 NAD 17.9.6 [propagation] null pointer constant for exception_ptr Yes
745 NAD 17.9.6 [propagation] copy_exception API slices. Yes
1369 NAD 17.9.6 [propagation] rethrow_exception may introduce data races Yes
1008 NAD 17.9.7 [except.nested] nested_exception wording unclear Yes
1132 NAD 17.9.7 [except.nested] JP-30: nested exceptions Yes
1265 NAD 17.13 [support.runtime] longjmp and destructors Yes
1371 NAD 19 [diagnostics] Standard exceptions require stronger no-throw guarantees Yes
2073 NAD 19.2 [std.exceptions] Library exceptions that take string arguments Yes
832 NAD 19.5 [syserr] Applying constexpr to System error support Yes
971 NAD 19.5.3.5 [syserr.errcode.nonmembers] Spurious diagnostic conversion function Yes
1373 NAD 20.2 [utility] Customizable traits should have their own headers Yes
2297 NAD 20.2.3 [utility.exchange] [CD] Missing type requirements for std::exchange Yes
2388 NAD 20.2.3 [utility.exchange] Handling self-assignment in the proposed library function std::exchange Yes 2
2345 NAD 20.3.2 [intseq.intseq] integer_sequence should have a self-typedef ::type Yes 2
840 NAD 20.4 [pairs] pair default template argument Yes
916 NAD 20.4 [pairs] Redundant move-assignment operator of pair should be removed Yes
2068 NAD 20.4.2 [pairs.pair] std::pair not C++03-compatible with defaulted copy c'tor Yes
917 NAD 20.5.3.1 [tuple.cnstr] Redundant move-assignment operator of tuple should be removed Yes
1119 NAD 20.5.3.6 [tuple.helper] tuple query APIs do not support references Yes
1318 NAD 20.10.9.1 [allocator.traits.types] N2982 removes previous allocator capabilities Yes 1375
582 NAD 20.10.11.5 [uninitialized.copy] specialized algorithms and volatile storage Yes
686 NAD 20.11.1.2.4 [unique.ptr.single.observers] unique_ptr and shared_ptr fail to specify non-convertibility to int for unspecified-bool-type Yes
741 NAD 20.11.3.10 [util.smartptr.getdeleter] Const-incorrect get_deleter function for shared_ptr Yes
2700 NAD 20.12 [mem.res] resource_adaptor went missing Yes 1
1398 NAD 20.14 [function.objects] Users should be able to specialize functors without depending on whole <functional> header Yes
644 NAD 20.14.16.2 [func.wrap.func] Possible typos in 'function' description Yes
2386 NAD 20.14.16.2.1 [func.wrap.func.con] function::operator= handles allocators incorrectly Yes 1
1202 NAD 20.15.3 [meta.help] integral_constant needs a spring clean Yes
747 NAD 20.15.4.3 [meta.unary.prop] We have 3 separate type traits to identify classes supporting no-throw operations Yes
748 NAD 20.15.4.3 [meta.unary.prop] The is_abstract type trait is defined by reference to 10.4. Yes
1228 NAD 20.15.4.3 [meta.unary.prop] User-specialized nothrow type traits Yes
849 NAD 20.15.7.6 [meta.trans.other] missing type traits to compute root class and derived class of types in a class hierachy Yes
1020 NAD 20.15.7.6 [meta.trans.other] Restore aligned_union Yes
85 NAD 21 [strings] String char types Yes
570 NAD 21.2 [char.traits] Request adding additional explicit specializations of char_traits Yes
1200 NAD 21.2.2 [char.traits.typedefs] "surprising" char_traits<T>::int_type requirements Yes
4 NAD 21.3.2 [basic.string] basic_string size_type and difference_type should be implementation defined Yes
614 NAD 21.3.2 [basic.string] std::string allocator requirements still inconsistent Yes
2084 NAD 21.3.2 [basic.string] basic_string use of charT* Yes
466 NAD 21.3.2.1 [string.require] basic_string ctor should prevent null pointer error Yes
2402 NAD 21.3.2.2 [string.cons] basic_string(const basic_string& str, size_type pos, size_type n = npos) shouldn't use Allocator() Yes 3
2580 NAD 21.3.2.2 [string.cons] Who is definitive: operator= or assign? Yes 4
2822 NAD 21.3.2.2 [string.cons] Resolution for LWG 2742 introduces ambiguities Yes
104 NAD 21.3.2.4 [string.capacity] Description of basic_string::operator[] is unclear Yes
84 NAD 21.3.2.5 [string.access] Ambiguity with string::insert() Yes
88 NAD 21.3.2.6.4 [string.insert] Inconsistency between string::insert() and string::append() Yes
377 NAD 21.3.2.6.4 [string.insert] basic_string::insert and length_error Yes
2535 NAD 21.3.3.4 [string.io] Inconsistency between ostream::write and ostream::operator<< Yes 2
2270 NAD 21.3.4 [string.conversions] Inconsistent to_string overloads Yes
2355 NAD 21.3.6 [basic.string.literals] "s" UDL suffix should be reserved for a compile-time string library type Yes 1
97 NAD 22 [containers] Insert inconsistent definition Yes
470 NAD 22 [containers] accessing containers from their elements' special functions Yes
279 NAD 22.2 [container.requirements] const and non-const iterators should have equivalent typedefs Yes
632 NAD 22.2 [container.requirements] Time complexity of size() for std::set Yes
1330 NAD 22.2 [container.requirements] Move container requirements into requirements tables Yes
1035 NAD 22.2.1 [container.requirements.general] <array>::swap can invalidate references, pointers, and iterators Yes
2167 NAD 22.2.1 [container.requirements.general] Copy assignment requirements of Containers Yes
526 NAD 22.2.3 [sequence.reqmts] Is it undefined if a function in the standard changes in parameters? Yes
1259 NAD 22.2.3 [sequence.reqmts] Should initializer-list constructors move elements? Yes
82 NAD 22.2.6 [associative.reqmts] Missing constant for set elements Yes
192 NAD 22.2.6 [associative.reqmts] a.insert(p,t) is inefficient and overconstrained Yes 233
215 NAD 22.2.6 [associative.reqmts] Can a map's key_type be const? Yes
494 NAD 22.2.6 [associative.reqmts] Wrong runtime complexity for associative container's insert and delete Yes
763 NAD 22.2.6 [associative.reqmts] Renaming emplace() overloads Yes
1302 NAD 22.2.6 [associative.reqmts] different emplace semantics for sequence and associated containers Yes
579 NAD 22.2.7 [unord.req] erase(iterator) for unordered containers should not return an iterator Yes
764 NAD 22.2.7 [unord.req] equal_range on unordered containers should return a pair of local_iterators Yes
1190 NAD 22.2.7 [unord.req] Setting the maximum load factor should return the previous value Yes
2006 NAD 22.2.7 [unord.req] emplace broken for associative containers Yes
2199 NAD 22.2.7 [unord.req] unordered containers are required to have an initial max load factor of 1.0 Yes 3
1042 NAD 22.3 [sequences] Provide ContiguousStorage concept and apply it to corresponding containers Yes
588 NAD 22.3.7 [array] requirements on zero sized tr1::arrays and other details Yes
617 NAD 22.3.7 [array] std::array is a sequence that doesn't satisfy the sequence requirements? Yes
930 NAD 22.3.7 [array] Access to std::array data as built-in array type Yes
855 NAD 22.3.8.3 [deque.capacity] capacity() and reserve() for deque? Yes
919 NAD 22.3.9.6 [forwardlist.ops] (forward_)list specialized remove algorithms are over constrained Yes
131 NAD 22.3.10.5 [list.ops] list::splice throws nothing Yes
491 NAD 22.3.10.5 [list.ops] std::list<>::unique incorrectly specified Yes
2279 NAD 22.3.10.5 [list.ops] Carefully state effects of list::splice function Yes
96 NAD 22.3.11 [vector] Vector<bool> is not a container Yes
1102 NAD 22.3.11.3 [vector.capacity] std::vector's reallocation policy still unclear Yes
1246 NAD 22.3.11.3 [vector.capacity] vector::resize() missing efficiency guarantee Yes
751 NAD 22.3.12 [vector.bool] change pass-by-reference members of vector<bool> to pass-by-value? Yes
2161 NAD 22.4 [associative] const equivalence of std::map Yes 2
1296 NAD 22.4.4 [map] map and multimap value_compare overspecified Yes
1091 NAD 22.4.5.3 [multimap.modifiers] Multimap description confusing Yes
528 NAD 22.5 [unord] const_iterator iterator issue when they are the same type Yes
2026 NAD 22.5 [unord] hash should be std qualified for unordered container Yes
2552 NAD 22.6.5 [priority.queue] priority_queue doesn't work with move-only types Yes 3
2107 NAD 23.3 [iterator.requirements] Some iterator category should guarantee the lifetime of references Yes
304 NAD 23.3.4 [iterator.concepts] Must *a return an lvalue when a is an input iterator? Yes
1009 NAD 23.3.5.1 [iterator.iterators] InputIterator post-increment dangerous Yes
392 NAD 23.3.5.2 [input.iterators] 'equivalence' for input iterators Yes
493 NAD 23.3.5.2 [input.iterators] Undefined Expression in Input Iterator Note Title Yes
476 NAD 23.3.5.4 [forward.iterators] Forward Iterator implied mutability Yes
458 NAD 23.3.5.6 [random.access.iterators] 24.1.5 contains unintended limitation for operator- Yes
204 NAD 23.4.2 [iterator.operations] distance(first, last) when "last" is before "first" Yes
100 NAD 23.5.2 [insert.iterators] Insert iterators/ostream_iterators overconstrained Yes
977 NAD 23.5.2 [insert.iterators] insert iterators inefficient for expensive to move types Yes
1062 NAD 23.5.2 [insert.iterators] Missing insert_iterator for stacks/queues Yes
903 NAD 23.5.2.1 [back.insert.iterator] back_insert_iterator issue Yes
901 NAD 23.5.2.3 [insert.iterator] insert iterators can move from lvalues Yes
245 NAD 23.6.1 [istream.iterator] Which operations on istream_iterator trigger input operations? Yes
1125 NAD 23.6.2.2 [ostream.iterator.ops] ostream_iterator does not work with movable types Yes
631 NAD 25 [algorithms] conflicting requirements for BinaryPredicate Yes
2082 NAD 25 [algorithms] Misleading complexity requirements in <algorithm> Yes
290 NAD 25.5.4 [alg.foreach] Requirements to for_each and its function object Yes
219 NAD 25.5.5 [alg.find] find algorithm missing version that takes a binary predicate argument Yes
244 NAD 25.5.5 [alg.find] Must find's third argument be CopyConstructible? Yes
293 NAD 25.6.4 [alg.transform] Order of execution in transform algorithm Yes
367 NAD 25.6.8 [alg.remove] remove_copy/remove_copy_if and Input Iterators Yes
489 NAD 25.6.8 [alg.remove] std::remove / std::remove_if wrongly specified Yes
481 NAD 25.6.9 [alg.unique] unique's effects on the range [result, last) Yes
490 NAD 25.6.9 [alg.unique] std::unique wrongly specified Yes
2405 NAD 25.6.11 [alg.rotate] rotate()'s return value is incorrect when middle == first Yes
218 NAD 25.7 [alg.sorting] Algorithms do not use binary predicate objects for default comparisons Yes
191 NAD 25.7.3 [alg.binary.search] Unclear complexity for algorithms such as binary search Yes
190 NAD 25.7.8 [alg.min.max] min() and max() functions should be std::binary_functions Yes
388 NAD 26.4 [complex.numbers] Use of complex as a key in associative containers Yes
177 NAD 26.4.6 [complex.ops] Complex operators cannot be explicitly instantiated Yes
440 NAD 26.4.8 [complex.transcendentals] Should std::complex use unqualified transcendentals? Yes
506 NAD 26.6 [rand] Requirements of Distribution parameter for variate_generator Yes
547 NAD 26.6 [rand] division should be floating-point, not integer Yes
572 NAD 26.6 [rand] Oops, we gave 507 WP status Yes
1056 NAD 26.6 [rand] Must all Engines and Distributions be Streamable? Yes
515 NAD 26.6.1 [rand.synopsis] Random number engine traits Yes
517 NAD 26.6.2 [rand.req] Should include name in external representation Yes
2326 NAD 26.6.2.1 [rand.req.genl] uniform_int_distribution<unsigned char> should be permitted Yes 2
2124 NAD 26.6.2.2 [rand.req.seedseq] Seed sequence over-specified Yes
2327 NAD 26.6.2.3 [rand.req.urng] Non-power-of-two URNGs should be forbidden Yes
729 NAD 26.6.2.4 [rand.req.eng] Problem in [rand.req.eng]/3 Yes
730 NAD 26.6.2.5 [rand.req.adapt] Comment on [rand.req.adapt]/3 e) Yes
733 NAD 26.6.2.6 [rand.req.dist] Comment on [rand.req.dist]/9 Yes
2351 NAD 26.6.3 [rand.eng] Does .seed() completely reset state of engine? Yes 2
796 NAD 26.6.5 [rand.predef] ranlux48_base returns wrong value Yes
797 NAD 26.6.5 [rand.predef] ranlux48 returns wrong value Yes
802 NAD 26.6.5 [rand.predef] knuth_b returns wrong value Yes
548 NAD 26.6.6 [rand.device] May random_device block? Yes
1068 NAD 26.6.6 [rand.device] class random_device should be movable Yes
731 NAD 26.6.7.1 [rand.util.seedseq] proposal for a customizable seed_seq Yes
1069 NAD 26.6.7.1 [rand.util.seedseq] class seed_seq should support efficient move operations Yes
1313 NAD 26.6.7.1 [rand.util.seedseq] Seed sequence's param function not useful for pure output iterator Yes
739 NAD 26.6.7.2 [rand.util.canonical] Defect in [rand.util.canonical]/3 Yes
511 NAD 26.6.8 [rand.dist] Input_type for binomial_distribution Yes
509 NAD 26.6.8.2 [rand.dist.uni] Uniform_int template parameters Yes
773 NAD 26.6.8.2 [rand.dist.uni] issues with random Yes
510 NAD 26.6.8.3 [rand.dist.bern] Input_type for bernoulli_distribution Yes
735 NAD 26.6.8.3.2 [rand.dist.bern.bin] Unfortunate naming Yes
736 NAD 26.6.8.6.1 [rand.dist.samp.discrete] Comment on [rand.dist.samp.discrete] Yes
737 NAD 26.6.8.6.2 [rand.dist.samp.pconst] Comment on [rand.dist.samp.pconst] Yes
791 NAD 26.6.8.6.2 [rand.dist.samp.pconst] piecewise_constant_distribution::densities has wrong name Yes
93 NAD 26.7 [numarray] Incomplete Valarray Subset Definitions Yes
107 NAD 26.7.2 [template.valarray] Valarray constructor is strange Yes
188 NAD 26.7.2.7 [valarray.cassign] valarray helpers missing augmented assignment operators Yes
1243 NAD 26.7.2.7 [valarray.cassign] Missing operator+= (initializer_list<T>) for valarray Yes
81 NAD 26.7.5 [template.slice.array] Wrong declaration of slice operations Yes
213 NAD 26.8 [c.math] Math function overloads ambiguous Yes
289 NAD 26.8 [c.math] <cmath> requirements missing C float and long double versions Yes
323 NAD 26.8 [c.math] abs() overloads in different headers Yes
583 NAD 26.8 [c.math] div() for unsigned integral types Yes
584 NAD 26.8 [c.math] missing int pow(int,int) functionality Yes
2079 NAD 26.8 [c.math] Required pow() overloads Yes 3
2474 NAD 26.8 [c.math] <cmath> functions unfriendly to integral_constant arguments Yes 4
955 NAD 27.3 [time.clock.req] Various threading bugs #5 Yes
946 NAD 27.5.7 [time.duration.cast] duration_cast improperly specified Yes
1413 NAD 27.7.7 [time.clock.hires] Specify whether high_resolution_clock is a distinct type or a typedef Yes
330 NAD 28.3.1 [locale] Misleading "exposition only" value in class locale definition Yes
121 NAD 28.3.1.1.1 [locale.category] Detailed definition for ctype<wchar_t> specialization Yes
502 NAD 28.3.1.1.1 [locale.category] Proposition: Clarification of the interaction between a facet and an iterator Yes
452 NAD 28.3.1.3 [locale.members] locale::combine should be permitted to generate a named locale Yes
439 NAD 28.4 [locale.categories] Should facets be copyable? Yes
503 NAD 28.4 [locale.categories] more on locales Yes
585 NAD 28.4 [locale.categories] facet error reporting Yes
356 NAD 28.4.1 [category.ctype] Meaning of ctype_base::mask enumerators Yes
417 NAD 28.4.1.1.2 [locale.ctype.virtuals] what does ctype::do_widen() return on failure Yes
138 NAD 28.4.1.4 [locale.codecvt] Class ctype_byname<char> redundant and misleading Yes
382 NAD 28.4.1.4 [locale.codecvt] codecvt do_in/out result Yes
302 NAD 28.4.1.5 [locale.codecvt.byname] Need error indication from codecvt<>::do_length Yes
500 NAD 28.4.1.5 [locale.codecvt.byname] do_length cannot be implemented correctly Yes
344 NAD 28.4.2 [category.numeric] grouping + showbase Yes
459 NAD 28.4.2.1.2 [facet.num.get.virtuals] Requirement for widening in stage 2 is overspecification Yes
662 NAD 28.4.2.1.2 [facet.num.get.virtuals] Inconsistent handling of incorrectly-placed thousands separators Yes
826 NAD 28.4.2.2 [locale.nm.put] Equivalent of %'d, or rather, lack thereof? Yes
361 NAD 28.4.2.2.2 [facet.num.put.virtuals] num_get<>::do_get (..., void*&) checks grouping Yes
667 NAD 28.4.6.1.2 [locale.money.get.virtuals] money_get's widened minus sign Yes
668 NAD 28.4.6.1.2 [locale.money.get.virtuals] money_get's empty minus sign Yes
669 NAD 28.4.6.1.2 [locale.money.get.virtuals] Equivalent postive and negative signs in money_get Yes
374 NAD 28.4.6.3.1 [locale.moneypunct.members] moneypunct::frac_digits returns int not unsigned Yes
326 NAD 28.4.6.4 [locale.moneypunct.byname] Missing typedef in moneypunct_byname Yes
366 NAD 29 [input.output] Excessive const-qualification Yes
178 NAD 29.4.3 [narrow.stream.objects] Should clog and cerr initially be tied to cout? Yes
287 NAD 29.5.3.2 [fmtflags.state] conflicting ios_base fmtflags Yes
6 NAD 29.5.4 [fpos] File position not an offset unimplementable Yes
332 NAD 29.5.4 [fpos] Consider adding increment and decrement operators to std::fpos< T > Yes
573 NAD 29.5.4 [fpos] C++0x file positioning should handle modern file sizes Yes
194 NAD 29.5.5 [ios] rdbuf() functions poorly specified Yes
145 NAD 29.5.5.2 [basic.ios.cons] adjustfield lacks default value Yes
421 NAD 29.6.3.1 [streambuf.cons] is basic_streambuf copy-constructible? Yes
309 NAD 29.7 [iostream.format] Does sentry catch exceptions? Yes
1148 NAD 29.7 [iostream.format] Wrong argument type of I/O stream manipulators setprecision() and setw() Yes
1446 NAD 29.7 [iostream.format] Move and swap for I/O streams Yes
113 NAD 29.7.4.1 [istream] Missing/extra iostream sync semantics Yes
2036 NAD 29.7.4.1 [istream] istream >> char and eofbit Yes
342 NAD 29.7.4.3 [istream.unformatted] seek and eofbit Yes
399 NAD 29.7.4.3 [istream.unformatted] volations of unformatted input function requirements Yes
2131 NAD 29.7.4.3 [istream.unformatted] Member function getline taking a string as parameter Yes
135 NAD 29.7.4.6.1 [iostream.cons] basic_iostream doubly initialized Yes
394 NAD 29.7.5.2.1 [ostream.formatted.reqmts] behavior of formatted output on failure Yes
437 NAD 29.7.5.2.2 [ostream.inserters.arithmetic] Formatted output of function pointers is confusing Yes
128 NAD 29.8 [string.streams] Need open_mode() function for file stream, string streams, file buffers, and string  buffers Yes
1251 NAD 29.8.2.1 [stringbuf.cons] move constructing basic_stringbuf Yes
45 NAD 29.8.4 [ostringstream] Stringstreams read/write pointers initial position unclear Yes
454 NAD 29.9.2.3 [filebuf.members] basic_filebuf::open should accept wchar_t names Yes 105
2043 NAD 29.12 [c.files] std{in,out,err} should be usable as field names Yes
1263 NAD 30.4 [re.syn] missing swap overloads for regex Yes
1452 NAD 30.10.4 [re.results.acc] "target sequence" is not defined Yes
726 NAD 30.11.4 [re.alg.replace] Missing regex_replace() overloads Yes
1456 NAD 31 [atomics] Missing fixed-size atomic_ typedefs Yes
1461 NAD 31 [atomics] Rename all ATOMIC_* macros as STD_ATOMIC_* Yes
1473 NAD 31.7.1 [atomics.types.operations] Incomplete memory order specifications Yes
2379 NAD 32.2.3 [thread.req.native] Obtaining native handle of the current thread Yes
1485 NAD 32.3.2.1 [thread.thread.id] Unclear thread::id specification Yes
1176 NAD 32.3.2.2 [thread.thread.constr] Make thread constructor non-variadic Yes
1486 NAD 32.3.3 [thread.thread.this] Value of this_thread::get_id() underspecified for detached thread Yes
980 NAD 32.4.3 [thread.mutex.requirements] mutex lock() missing error conditions Yes
2090 NAD 32.4.3.2 [thread.mutex.requirements.mutex] Minor Overconstraint in Mutex Types Yes
784 NAD 32.4.4.3.3 [thread.lock.unique.mod] unique_lock::release Yes
887 NAD 32.5.3 [thread.condition.condvar] issue with condition::wait_... Yes
959 NAD 32.5.3 [thread.condition.condvar] Various threading bugs #9 Yes
1223 NAD 32.5.4 [thread.condition.condvarany] condition_variable_any lock matching? Yes
1224 NAD 32.5.4 [thread.condition.condvarany] condition_variable_any support for recursive mutexes? Yes
1164 NAD 32.6.6 [futures.promise] promise::swap should pass by rvalue reference Yes
249 NAD 99 [auto.ptr] Return Type of auto_ptr::operator= Yes
463 NAD 99 [auto.ptr] auto_ptr usability issues Yes
2 NAD 99 [auto.ptr.conv] Auto_ptr conversions effects incorrect Yes
988 NAD 99 [concept.comparison] Reflexivity meaningless? Yes
1064 NAD 99 [defns.obj.state] Term "object state" should not refer to classes Yes
257 NAD 99 [depr.base] STL functional object and iterator inheritance. Yes
480 NAD 99 [depr.base] unary_function and binary_function should have protected nonvirtual destructors Yes
501 NAD 99 [depr.base] Proposal: strengthen guarantees of lib.comparisons Yes
2046 NAD 99 [futures.shared_future] shared_future(future<R>&&) should be allowed to throw Yes
418 NAD 99 [ios::Init] exceptions thrown during iostream cleanup Yes
203 NAD 99 [istream::sentry] basic_istream::sentry::sentry() is uninstantiable with ctype<user-defined type> Yes
398 NAD 99 [ostream::sentry] effects of end-of-file on unformatted input functions Yes
790 NAD 99 [rand.adapt.xor] xor_combine::seed not specified Yes
2204 NAD 99 [reverse.iter.op.star] reverse_iterator should not require a second copy of the base iterator Yes
99 NAD 99 [reverse.iter.op==] Reverse_iterator comparisons completely wrong Yes
2347 NAD 99 [reverse.iter.opindex] reverse_iterator::operator[] calls const version of current[] Yes 2
433 NAD 99 [unexpected] Contradiction in specification of unexpected() Yes
143 NAD D.6 [depr.c.headers] C .h header wording unclear Yes
65 NAD D.8.2.3 [depr.strstreambuf.virtuals] Underspecification of strstreambuf::seekoff Yes
267 NAD D.8.2.3 [depr.strstreambuf.virtuals] interaction of strstreambuf::overflow() and seekoff() Yes
597 NAD 3.2 [dec.tr::trdec.types.types] [dec.tr] The notion of 'promotion' cannot be emulated by user-defined types. Yes
606 NAD 3.2 [dec.tr::trdec.types.types] [dec.tr] allow narrowing conversions Yes
2604 NAD 4.14 [filesys.ts::fs.def.parent] [filesys.ts] [PDTS] Need definition of dot and dot-dot Yes
2610 NAD 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] Apparently inconsistent return types from several functions Yes
2661 NAD 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] Surprising equivalent() behavior if neither file exists Yes
2613 NAD 7 [filesys.ts::fs.err.report] [filesys.ts] [PDTS] Missing actual error conditions thrown Yes
2642 NAD 8 [filesys.ts::class.path] [filesys.ts] [PDTS] class path should have defaulted constructors/destructor/assignments. Yes
2617 NAD 8.4.5 [filesys.ts::path.modifiers] [filesys.ts] [PDTS] path member swap() unnecessary Yes
2646 NAD 8.4.7 [filesys.ts::path.generic.obs] [filesys.ts] [PDTS] Do we really need generic*? Yes
2638 NAD 12.3 [filesys.ts::directory_entry.obs] [filesys.ts] [PDTS] Make certain functions noexcept and drop error_code version Yes
2623 NAD 15 [filesys.ts::fs.op.funcs] [filesys.ts] [PDTS] Request for create_regular_file() and/or touch() Yes
2626 NAD 15.13 [filesys.ts::fs.op.equivalent] [filesys.ts] [PDTS] Equivalence is a volatile property Yes
2628 NAD 15.25 [filesys.ts::fs.op.last_write_time] [filesys.ts] [PDTS] Possible last_write_time() postcondition? Yes
2630 NAD 15.28 [filesys.ts::fs.op.remove] [filesys.ts] [PDTS] remove() must avoid race Yes
2631 NAD 15.30 [filesys.ts::fs.op.rename] [filesys.ts] [PDTS] POSIX guarantees atomicity for rename() Yes
2305 NAD 5.3.1 [fund.ts::optional.object.ctor] [fund.ts] optional forwarding construction/assignment Yes 4
2538 NAD 99 [parallel.ts::parallel.alg.general.exec] [parallel.ts] Requirements on data race behavior of iterators and swap should be clarified Yes
546 NAD 5.1.1 [tr1::tr.rand.req] [tr1] _Longlong and _ULonglong are integer types Yes
785 NAD 5.1.4.5 [tr1::tr.rand.eng.disc] [tr1] Random Number Requirements in TR1 Yes
701 NAD 5.2.1.1 [tr1::tr.num.sf.Lnm] [tr1] assoc laguerre poly's Yes
702 NAD 5.2.1.2 [tr1::tr.num.sf.Plm] [tr1] Restriction in associated Legendre functions Yes
568 NAD 8.16.4 [tr1::tr.c99.cmath.over] [tr1] log2 overloads missing Yes
799 NAD 99 [tr1::rand.eng.mers] [tr1] [tr.rand.eng.mers] and [rand.eng.mers] Yes

Dup (63 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2910 Dup 20.15.2 [meta.type.synop] Template deduction and integral_constant Yes
2764 Dup 17.4.1 [cstdint.syn] Are <cstddint> macros optional? Yes 3
162 Dup 29.7.4.2.3 [istream.extractors] Really "formatted input functions"? Yes 60
2896 Dup D.14 [depr.locale.stdcvt] The contents of <codecvt> are underspecified Yes
1350 Dup 16 [library] Implicit contructors accidentally made some library types move-only Yes 1421
1351 Dup 16 [library] Replace dynamic exception specifications with noexcept Yes 1344
1352 Dup 16 [library] Apply noexcept where library specification says "Throws: Nothing" Yes 1346
895 Dup 16.4.1.4 [structure.specifications] "Requires:" on std::string::at et al Yes 625
1375 Dup 16.5.3.5 [allocator.requirements] reference_type should not have been removed from the allocator requirements Yes 1318
196 Dup 17.6.2.3 [new.delete.placement] Placement new example has alignment problems Yes 114
348 Dup 20.4 [pairs] Minor issue with std::pair operator< Yes 532
116 Dup 20.9.2 [template.bitset] bitset cannot be constructed with a const char* Yes 778
350 Dup 20.10.10.1 [allocator.members] allocator<>::address Yes 634
1230 Dup 20.14.15 [func.memfn] mem_fn and variadic templates Yes 920
750 Dup 20.15.6 [meta.rel] The current definition for is_convertible requires that the type be implicitly convertible, so explicit constructors are ignored. Yes 719
89 Dup 21.3.2.6.4 [string.insert] Missing throw specification for string::insert() and string::replace() Yes 83
87 Dup 21.3.2.6.8 [string.swap] Error in description of string::compare() Yes 5
67 Dup 21.3.3.4 [string.io] Setw useless for strings Yes 25
479 Dup 22.2 [container.requirements] Container requirements and placement new Yes 580
536 Dup 22.2 [container.requirements] Container iterator constructor and explicit convertibility Yes 589
102 Dup 22.2.6 [associative.reqmts] Bug in insert range in associative containers Yes 264
246 Dup 22.2.6 [associative.reqmts] a.insert(p,t) is incorrectly specified Yes 233
451 Dup 22.2.6 [associative.reqmts] Associative erase should return an iterator Yes 130
450 Dup 22.4.6 [set] set::find is inconsistent with associative container requirements Yes 214
477 Dup 23.3.5.4 [forward.iterators] Operator-> for const forward iterators Yes 478
483 Dup 25.5 [alg.nonmodifying] Heterogeneous equality and EqualityComparable Yes 283
1433 Dup 25.6.13 [alg.random.shuffle] random_shuffle and shuffle should have consistent signatures Yes 1432
472 Dup 25.7.3.3 [equal.range] Missing "Returns" clause in std::equal_range Yes 270
486 Dup 25.7.8 [alg.min.max] min/max CopyConstructible requirement is too strict Yes 281
77 Dup 26.7.2.4 [valarray.access] Valarray operator[] const returning value Yes 389
378 Dup 28.3.1 [locale] locale immutability and locale::operator=() Yes 31
447 Dup 28.3.1.1.1 [locale.category] Wrong template argument for time facets Yes 327
207 Dup 28.4.1.3.2 [facet.ctype.char.members] ctype<char> members return clause incomplete Yes 153
236 Dup 28.4.1.3.2 [facet.ctype.char.members] ctype<char>::is() member modifies facet Yes 28
72 Dup 28.4.1.4 [locale.codecvt] Do_convert phantom member function Yes 24
10 Dup 28.4.1.5 [locale.codecvt.byname] Codecvt<>::do unclear Yes 19
43 Dup 28.4.1.5 [locale.codecvt.byname] Locale table correction Yes 33
670 Dup 28.4.6.3 [locale.moneypunct] money_base::pattern and space Yes 836
157 Dup 29.5.3.5 [ios.base.storage] Meaningless error handling for pword() and iword() Yes 41
1444 Dup 29.5.4.2 [fpos.operations] OFF_T is not defined Yes 1414
429 Dup 29.5.5.4 [iostate.flags] typo in basic_ios::clear(iostate) Yes 412
569 Dup 29.5.5.4 [iostate.flags] Postcondition for basic_ios::clear(iostate) incorrectly stated Yes 272
163 Dup 29.7.4.3 [istream.unformatted] Return of gcount() after a call to gcount Yes 60
166 Dup 29.7.5.2.3 [ostream.inserters] Really "formatted output functions"? Yes 60
216 Dup 29.7.6 [std.manip] setbase manipulator description flawed Yes 193
105 Dup 29.9 [file.streams] fstream ctors argument types desired Yes 454
1451 Dup 30.8 [re.regex] regex should support allocators Yes 1396
942 Dup 31 [atomics] Atomics synopsis typo Yes 880
1454 Dup 31 [atomics] Ensure C compatibility for atomics Yes 1455
1458 Dup 31.4 [atomics.order] Overlapping evaluations are allowed Yes 1459
1470 Dup 31.7.1 [atomics.types.operations] "Same-ness" curiosities Yes 1474
1475 Dup 31.7.1 [atomics.types.operations] weak compare-and-exchange confusion II Yes 1474
1476 Dup 31.7.1 [atomics.types.operations] Meaningless specification of spurious failure Yes 1474
1477 Dup 31.7.1 [atomics.types.operations] weak compare-and-exchange confusion III Yes 1474
1443 Dup 32 [thread] Imposed happens-before edges are not made transitive Yes 1442
905 Dup 32.4.3.2.1 [thread.mutex.class] Mutex specification questions Yes 893
1219 Dup 32.4.4.3.2 [thread.lock.unique.locking] unique_lock::lock and resource_deadlock_would_occur Yes 1159
1463 Dup 99 [atomics.types.integral] Inconsistent value assignment for atomic_bool Yes 1462
795 Dup 99 [rand.dist.samp.genpdf] general_pdf_distribution should be dropped Yes 732
2775 Dup 99 [reverse.iter.opref] reverse_iterator is does not compile for fancy pointers Yes 1052
1411 Dup 99 [time.clock.monotonic] Add a compile-time flag to detect monotonic_clock Yes 1410
2643 Dup 8 [filesys.ts::class.path] [filesys.ts] [PDTS] path::compare(const string&) should be path::compare(const string_type&) Yes
2651 Dup 13 [filesys.ts::class.directory_iterator] [filesys.ts] [PDTS] directory_iterator, recursive_directory_iterator, pointer/reference typedefs wrong Yes

NAD Concepts (57 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
902 NAD Concepts 17.3.4 [numeric.limits] Regular is the wrong concept to constrain numeric_limits Yes
1076 NAD Concepts 99 [depr.negators] unary/binary_negate need constraining and move support Yes
1028 NAD Concepts 99 [depr.storage.iterator] raw_storage_iterator needs to be a concept-constrained template Yes
989 NAD Concepts 16 [library] late_check and library Yes
1001 NAD Concepts 16 [library] Pointers, concepts and headers Yes
1096 NAD Concepts 16 [library] unconstrained rvalue ref parameters Yes
910 NAD Concepts 16.5.3.1 [utility.arg.requirements] Effects of MoveAssignable Yes
1005 NAD Concepts 17.3.4 [numeric.limits] numeric_limits partial specializations not concept enabled Yes
1007 NAD Concepts 17.9.7 [except.nested] throw_with_nested not concept enabled Yes
906 NAD Concepts 17.10 [support.initlist] ObjectType is the wrong concept to constrain initializer_list Yes
1167 NAD Concepts 20.4 [pairs] pair<T,U> doesn't model LessThanComparable in unconstrained code even if T and U do. Yes
918 NAD Concepts 20.5.3.3 [tuple.swap] Swap for tuple needs to be conceptualized Yes
928 NAD Concepts 20.5.3.8 [tuple.rel] Wrong concepts used for tuple's comparison operators Yes
1026 NAD Concepts 20.10 [memory] Smart pointers need to be concept-constrained templates Yes
1027 NAD Concepts 20.10.10 [default.allocator] std::allocator needs to be a concept-constrained template Yes
1029 NAD Concepts 20.10.11 [specialized.algorithms] Specialized algorithms for memory management need to be concept-constrained templates Yes
1024 NAD Concepts 20.14.16.2 [func.wrap.func] std::function constructors overly generous Yes
1059 NAD Concepts 20.14.16.2 [func.wrap.func] Usage of no longer existing FunctionType concept Yes
1072 NAD Concepts 20.14.18 [unord.hash] Is std::hash a constrained template or not? Yes
1018 NAD Concepts 20.15 [meta] Trait specifications should be expressed in terms of concepts Yes
1092 NAD Concepts 20.15.3 [meta.help] Class template integral_constant should be a constrained template Yes
1078 NAD Concepts 20.17 [type.index] DE-17: Remove class type_index Yes
1081 NAD Concepts 21 [strings] basic_string needs to be a concept-constrained template Yes
1036 NAD Concepts 22.2.3 [sequence.reqmts] Remove iterator specification that is redundant due to concept constraints Yes
1111 NAD Concepts 22.4 [associative] associative containers underconstrained Yes
1186 NAD Concepts 22.6.6 [stack] Forward list could model a stack Yes
1127 NAD Concepts 23.3.2.3 [iterator.traits] rvalue references and iterator traits Yes
1084 NAD Concepts 23.3.5.4 [forward.iterators] Concept ForwardIterator should provide default implementation for post-increment Yes
1085 NAD Concepts 23.3.5.5 [bidirectional.iterators] BidirectionalIterator concept should provide default implementation for post-decrement Yes
1010 NAD Concepts 23.3.5.6 [random.access.iterators] operator-= should use default in concept Yes
1086 NAD Concepts 23.6 [stream.iterators] Stream iterators need to be concept-constrained templates Yes
1000 NAD Concepts 25.5.8 [alg.adjacent.find] adjacent_find is over-constrained Yes
912 NAD Concepts 25.6.3 [alg.swap] Array swap needs to be conceptualized Yes
913 NAD Concepts 25.6.5 [alg.replace] Superfluous requirements for replace algorithms Yes
1087 NAD Concepts 25.6.5 [alg.replace] Incorrect OutputIterator concept requirements for replace algorithms Yes
914 NAD Concepts 25.6.9 [alg.unique] Superfluous requirement for unique Yes
1109 NAD Concepts 25.7.6.1 [includes] std::includes should require CopyConstructible predicate Yes
1067 NAD Concepts 25.9 [numeric.ops] simplified wording for inner_product Yes
1140 NAD Concepts 26 [numerics] Numerics library not concept enabled Yes
1057 NAD Concepts 26.6 [rand] RandomNumberEngineAdaptor Yes
1032 NAD Concepts 27 [time] Tome utility templates need to be concept-constrained Yes
1082 NAD Concepts 28 [localization] codecvt needs to be a concept-constrained template Yes
1083 NAD Concepts 28 [localization] InputIterator and OutputIterator template parameters need to be concept constraints Yes
1141 NAD Concepts 29 [input.output] Input/Output library not concept enabled Yes
1142 NAD Concepts 30 [re] Regular expressions library not concept enabled Yes
1139 NAD Concepts 32 [thread] Thread support library not concept enabled Yes
927 NAD Concepts 99 [allocator.concepts] Dereferenceable should be HasDereference Yes
1074 NAD Concepts 99 [allocator.element.concepts] concept map broken by N2840 Yes
1080 NAD Concepts 99 [concept.arithmetic] Concept ArithmeticLike should provide explicit boolean conversion Yes
1016 NAD Concepts 99 [concept.comparison] Provide LessThanComparable and EqualityComparable for FloatingPointType Yes
1017 NAD Concepts 99 [concept.regular] Floating-point types should not satisfy Regular Yes
1015 NAD Concepts 99 [concept.transform] C++ programs - but not users - need to provide support concept_maps Yes
1124 NAD Concepts 99 [concept.transform] Invalid definition of concept RvalueOf Yes
1063 NAD Concepts 99 [iterator.backward] 03 iterator compatibilty Yes
1105 NAD Concepts 99 [iterator.concepts.range] Shouldn't Range be an auto concept Yes
1128 NAD Concepts 99 [iterator.syn] Missing definition of iterator_traits<T*> Yes
1149 NAD Concepts 99 [rand.concept.urng] Reformulating NonemptyRange axiom Yes

TS (77 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2451 TS 5.3 [fund.ts.v2::optional.object] [fund.ts.v2] optional<T> should 'forward' T's implicit conversions Yes
2555 TS 5.3 [fund.ts.v2::optional.object] [fund.ts.v2] No handling for over-aligned types in optional Yes 0
2745 TS 5.3 [fund.ts.v2::optional.object] [fund.ts.v2] Implementability of LWG 2451 Yes 0
2601 TS 1 [filesys.ts::fs.scope] [filesys.ts] [PDTS] Make namespaces consistent with Library TS policy Yes
2602 TS 2.1 [filesys.ts::fs.conform.9945] [filesys.ts] [PDTS] Tighten specification when there is no reasonable behavior Yes
2657 TS 2.1 [filesys.ts::fs.conform.9945] [filesys.ts] [PDTS] Inappropriate use of "No diagnostic is required" Yes
2603 TS 4.7 [filesys.ts::fs.def.filename] [filesys.ts] [PDTS] Filename length needs bullet item Yes
2606 TS 4.15 [filesys.ts::fs.def.path] [filesys.ts] [PDTS] Path depth is underspecified Yes
2656 TS 5 [filesys.ts::fs.req] [filesys.ts] [PDTS] Feature test macro for TS version Yes
2662 TS 5 [filesys.ts::fs.req] [filesys.ts] Allocator requirements unspecified Yes
2607 TS 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] Unhelpful comment for struct space_info Yes
2608 TS 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] file_time_type underspecified Yes
2609 TS 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] Unclear why range-based-for functions return different types Yes
2634 TS 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] enum class directory_options has no summary Yes
2635 TS 6 [filesys.ts::fs.filesystem.synopsis] [filesys.ts] [PDTS] directory_options::skip_permission_denied is not used Yes
2655 TS 7 [filesys.ts::fs.err.report] [filesys.ts] [PDTS] Clarify Error reporting Yes
2650 TS 8 [filesys.ts::class.path] [filesys.ts] [PDTS] path::compare(const string& s) wrong argument type Yes
2605 TS 8.1 [filesys.ts::path.generic] [filesys.ts] [PDTS] Parent of root directory unspecified Yes
2615 TS 8.2.2 [filesys.ts::path.type.cvt] [filesys.ts] [PDTS] Missing behavior for characters with no representation Yes
2614 TS 8.4.1 [filesys.ts::path.construct] [filesys.ts] [PDTS] Incorrect postconditions for path copy/move constructor Yes
2649 TS 8.4.1 [filesys.ts::path.construct] [filesys.ts] [PDTS] path and directory_entry move ctors should not be noexcept Yes
2616 TS 8.4.3 [filesys.ts::path.append] [filesys.ts] [PDTS] Append behavior underspecified if target is empty Yes
2648 TS 8.4.6 [filesys.ts::path.native.obs] [filesys.ts] [PDTS] path::template<class charT>string() conversion rules Yes
2618 TS 8.4.10 [filesys.ts::path.query] [filesys.ts] [PDTS] is_absolute() return clause confusing Yes
2619 TS 8.6.1 [filesys.ts::path.io] [filesys.ts] [PDTS] Consider using quoted manipulators Yes
2636 TS 10.2 [filesys.ts::enum.copy_options] [filesys.ts] [PDTS] copy_options::copy_symlinks is not used Yes
2644 TS 10.2 [filesys.ts::enum.copy_options] [filesys.ts] [PDTS] enum classes copy_options and perms should be bitmask types Yes
2640 TS 12 [filesys.ts::class.directory_entry] [filesys.ts] [PDTS] class directory_entry should retain operator const path&() from V2 Yes
2653 TS 12 [filesys.ts::class.directory_entry] [filesys.ts] [PDTS] directory_entry multithreading concerns Yes
2621 TS 12.3 [filesys.ts::directory_entry.obs] [filesys.ts] [PDTS] directory_entry operator== needs clarification Yes
2641 TS 13 [filesys.ts::class.directory_iterator] [filesys.ts] [PDTS] directory_iterator, recursive_directory_iterator, move construct/assign should be noexcept Yes
2652 TS 13 [filesys.ts::class.directory_iterator] [filesys.ts] [PDTS] Better to avoid deriving from std::iterator Yes
2622 TS 13.1 [filesys.ts::directory_iterator.members] [filesys.ts] [PDTS] directory_iterator underspecified Yes
2633 TS 15 [filesys.ts::fs.op.funcs] [filesys.ts] [PDTS] unique_path() is a security vulnerability Yes
2660 TS 15.1 [filesys.ts::fs.op.absolute] [filesys.ts] [PDTS] Incorrect Throws specification for absolute() Yes
2637 TS 15.2 [filesys.ts::fs.op.canonical] [filesys.ts] [PDTS] All functions with error_code arguments should be noexcept Yes
2624 TS 15.3 [filesys.ts::fs.op.copy] [filesys.ts] [PDTS] Incorrect effects clause for path copy Yes
2625 TS 15.4 [filesys.ts::fs.op.copy_file] [filesys.ts] [PDTS] Copying equivalent paths effects not specified Yes
2645 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
2627 TS 15.14 [filesys.ts::fs.op.file_size] [filesys.ts] [PDTS] Return value of uintmax_t on error? Yes
2647 TS 15.25 [filesys.ts::fs.op.last_write_time] [filesys.ts] [PDTS] last_write_time() uses ill-formed cast Yes
2658 TS 15.25 [filesys.ts::fs.op.last_write_time] [filesys.ts] [PDTS] POSIX utime() is obsolescent Yes
2629 TS 15.27 [filesys.ts::fs.op.read_symlink] [filesys.ts] [PDTS] Unclear semantics of read_symlink on error Yes
2632 TS 15.36 [filesys.ts::fs.op.system_complete] [filesys.ts] [PDTS] system_complete() example needs clarification Yes
2418 TS 3.2.2 [fund.ts::tuple.apply] [fund.ts] apply does not work with member pointers Yes 0
2371 TS 3.3.1 [fund.ts::meta.type.synop] [fund.ts] No template aliases defined for new type traits Yes 0
2390 TS 3.3.2 [fund.ts::meta.trans.other] [fund.ts] Invocation types and rvalues Yes
2409 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
2395 TS 4.2 [fund.ts::func.wrap.func] [fund.ts] Preconditions: is defined nowhere Yes 2
2389 TS 4.2.1 [fund.ts::func.wrap.func.con] [fund.ts] function::operator= is over-specified and handles allocators incorrectly Yes 2
2374 TS 5.3.5 [fund.ts::optional.object.observe] [fund.ts] Remarks for optional::to_value are too restrictive Yes 0
2410 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
2463 TS 10.3 [fund.ts::alg.random.sample] [fund.ts] Incorrect complexity for sample() algorithm Yes 0
2539 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
2558 TS 3.3.3 [fund.ts.v2::meta.logical] [fund.ts.v2] Logical operator traits are broken in the zero-argument case Yes 0
2568 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
2570 TS 3.3.3 [fund.ts.v2::meta.logical] [fund.ts.v2] conjunction and disjunction requirements are too strict Yes 2
2588 TS 3.3.3 [fund.ts.v2::meta.logical] [fund.ts.v2] "Convertible to bool" requirement in conjunction and disjunction Yes 3
2517 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 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
2525 TS 4.2 [fund.ts.v2::func.wrap.func] [fund.ts.v2] get_memory_resource should be const and noexcept Yes 3
2575 TS 4.2 [fund.ts.v2::func.wrap.func] [fund.ts.v2] experimental::function::assign should be removed Yes 0
2527 TS 4.2.1 [fund.ts.v2::func.wrap.func.con] [fund.ts.v2] ALLOCATOR_OF for function::operator= has incorrect default Yes 3
2574 TS 4.2.1 [fund.ts.v2::func.wrap.func.con] [fund.ts.v2] std::experimental::function::operator=(F&&) should be constrained Yes 0
2526 TS 4.2.2 [fund.ts.v2::func.wrap.func.mod] [fund.ts.v2] Incorrect precondition for experimental::function::swap Yes 0
2750 TS 5.3.1 [fund.ts.v2::optional.object.ctor] [fund.ts.v2] LWG 2451 conversion constructor constraint Yes 0
2509 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
2573 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
2551 TS 8.2.1.1 [fund.ts.v2::memory.smartptr.shared.const] [fund.ts.v2] "Exception safety" cleanup in library fundamentals required Yes 0
2500 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
2521 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 TS 8.8 [fund.ts.v2::memory.resource.global] [fund.ts.v2] Contradiction in set_default_resource specification Yes 2
2516 TS 8.12.1 [fund.ts.v2::memory.observer.ptr.overview] [fund.ts.v2] Public "exposition only" members in observer_ptr Yes 2
2515 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
2494 TS 10.2 [fund.ts.v2::iterator.ostream.joiner] [fund.ts.v2] ostream_joiner needs noexcept Yes 0
2733 TS 13.1.2 [fund.ts.v2::numeric.ops.gcd] [fund.ts.v2] gcd / lcm and bool Yes 4
2792 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

NAD Arrays (5 issues)

Issue Status Section Title Proposed Resolution Priority Duplicates
2254 NAD Arrays 99 [arrays.ts::container.requirements.general] [arrays.ts] Is dynarray an allocator-aware container? Yes 3
2264 NAD Arrays 99 [arrays.ts::dynarray] [arrays.ts] std::dynarray defines its initializer-list constructor in terms of a non-existent constructor Yes 1
2255 NAD Arrays 99 [arrays.ts::dynarray.cons] [arrays.ts] dynarray constructor ambiguity Yes 0
2253 NAD Arrays 99 [arrays.ts::dynarray.overview] [arrays.ts] dynarray should state which container requirements aren't met Yes 0
2277 NAD Arrays 99 [arrays.ts::iterator.range] [arrays.ts] <dynarray> is missing in 24.7/1 Yes 3