Reference ISO/IEC IS 14882:2011(E)
This document is the Index by Section for the Library Active Issues List, Library Defect Reports and Accepted Issues, and Library Closed Issues List.
(view only non-Ready open issues)
Revised 2019-06-17 at 05:09:46 UTC
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2506 | SG1 | 6.8.2 [intro.multithread] | Underspecification of atomics | No | 3 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
3105 | New | 16 [library] | T1 is convertible to T2 | No | 3 | |
2949 | New | 16 [library] | Unclear complexity requirements: space vs. time | No | 4 | |
2392 | New | 16.3.17 [defns.ntcts] | "character type" is used but not defined | No | 3 | |
2136 | Open | 16.4.1 [structure] | Postconditions vs. exceptions | No | 3 | |
3193 | New | 16.4.1.4 [structure.specifications] | Mandates: and Expects: elements are not defined for types | Yes | 3 | |
3168 | Open | 16.4.1.4 [structure.specifications] | Expects: element should be specified in one place | Yes | 2 | |
3092 | Open | 16.4.2.2.4 [bitmask.types] | Unclear semantics of enum class bitmask types | Yes | 2 | |
2818 | New | 16.5.1.1 [contents] | "::std::" everywhere rule needs tweaking | No | 2 | |
2146 | Open | 16.5.3.1 [utility.arg.requirements] | Are reference types Copy/Move-Constructible/Assignable or Destructible? | No | 2 | |
2152 | LEWG | 16.5.3.2 [swappable.requirements] | Instances of standard container types are not swappable | Yes | 3 | |
2114 | Open | 16.5.3.3 [nullablepointer.requirements] | Incorrect "contextually convertible to bool" requirements | Yes | 3 | |
3157 | New | 16.5.3.5 [allocator.requirements] | Allocator destroy and fancy pointer operations must be non-throwing | Yes | 3 | |
3044 | New | 16.5.3.5 [allocator.requirements] | Strange specification of max_size() for an allocator | Yes | 3 | |
2461 | New | 16.5.3.5 [allocator.requirements] | Interaction between allocators and container exception safety guarantees | No | 3 | |
3177 | New | 16.5.4.2.1 [namespace.std] | Limit permission to specialize variable templates to program-defined types | Yes | 3 | |
3142 | New | 16.5.4.8 [res.on.functions] | std::foo<incomplete> should be ill-formed NDR | Yes | 3 | |
2695 | New | 16.5.5.5 [member.functions] | "As if" unclear in [member.functions] | No | 3 | |
2414 | Open | 16.5.5.8 [reentrancy] | Member function reentrancy should be implementation-defined | Yes | 3 | |
2839 | Open | 16.5.5.15 [lib.types.movedfrom] | Self-move-assignment of library types, again | Yes | 2 |
(view only non-Ready open 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 | ||
2248 | New | 17.3.4 [numeric.limits] | numeric_limits::is_iec559 misnamed | No | 4 | |
2730 | Open | 17.3.4 [numeric.limits] | numeric_limits primary template definition | No | 3 | |
2820 | Open | 17.4 [cstdint] | Clarify <cstdint> macros | Yes | 3 | |
3084 | New | 17.5 [support.start.term] | Termination in C++ is unclear | No | 3 | |
2815 | New | 17.5 [support.start.term] | quick_exit can deadlock | Yes | 3 | |
3086 | New | 17.6.2.1 [new.delete.single] | Possible problem in §[new.delete.single] | Yes | 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 | |
2860 | Open | 17.6.4 [ptr.launder] | launder and base class subobjects | Yes | 2 | |
2859 | Open | 17.6.4 [ptr.launder] | Definition of reachable in [ptr.launder] misses pointer arithmetic from pointer-interconvertible object | Yes | 2 | |
2398 | Open | 17.7.2 [type.info] | type_info's destructor shouldn't be required to be virtual | Yes | 3 | |
3139 | New | 17.8.2 [support.contract.cviol] | contract_violation's special member functions | No | 1 | |
3138 | LEWG | 17.8.2 [support.contract.cviol] | There is no such thing as assertion-level | No | 2 | |
2088 | Open | 17.9.4 [exception.terminate] | std::terminate problem | 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 | |
2432 | EWG | 17.10 [support.initlist] | initializer_list assignability | Yes | 2 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
3194 | New | 18.4.4 [concept.convertibleto] | ConvertibleTo prose does not match code | No | 1 | |
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 | ||
3149 | Open | 18.4.12 [concept.defaultconstructible] | DefaultConstructible should require default initialization | Yes | 2 | |
3141 | New | 18.6 [concepts.object] | CopyConstructible doesn't preserve source values | Yes | 2 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2413 | New | 19.3 [assertions] | assert macro is overconstrained | No | 4 | |
3011 | Open | 19.3 [assertions] | Requirements for assert(E) inconsistent with C | No | 2 | |
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 | |
3053 | New | 19.5.3.1 [syserr.errcode.overview] | Prohibit error_code construction from rvalues of error_category | Yes | 3 | |
3162 | New | 19.5.7.2 [syserr.syserr.members] | system_error::system_error(error_code ec) not explicit | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2153 | LEWG | 20.2.2 [utility.swap] | Narrowing of the non-member swap contract | Yes | 2 | |
2599 | New | 20.2.6 [declval] | Library incomplete type permission phrase is unclear | No | 3 | |
2289 | Open | 20.4.2 [pairs.pair] | constexpr guarantees of defaulted functions still insufficient | Yes | 3 | |
2766 | New | 20.4.3 [pairs.spec] | Swapping non-swappable types | Yes | 3 | |
3166 | New | 20.4.4 [pair.astuple] | No such descriptive element as Value: | No | 3 | |
3211 | New | 20.5.3.1 [tuple.cnstr] | std::tuple<> should be trivially constructible | Yes | ||
2528 | New | 20.5.3.1 [tuple.cnstr] | Order of std::tuple construction unspecified | No | 3 | |
3155 | Open | 20.5.3.1 [tuple.cnstr] | tuple<any, any>{allocator_arg_t, an_allocator} | Yes | 3 | |
3121 | Open | 20.5.3.1 [tuple.cnstr] | tuple constructor constraints for UTypes&&... overloads | Yes | 2 | |
2933 | New | 20.5.3.4 [tuple.creation] | PR for LWG 2773 could be clearer | Yes | 3 | |
2472 | New | 20.5.3.8 [tuple.rel] | Heterogeneous comparisons in the standard library can result in ambiguities | No | 3 | |
532 | LEWG | 20.5.3.8 [tuple.rel] | Tuple comparison | Yes | 348 | |
2746 | New | 20.6.3 [optional.optional] | Inconsistency between requirements for emplace between optional and variant | No | 3 | |
2990 | Open | 20.6.3 [optional.optional] | optional::value_type is not always a value type | Yes | 3 | |
2825 | LEWG | 20.6.3 [optional.optional] | LWG 2756 breaks class template argument deduction for optional | No | 2 | |
2811 | New | 20.6.3.1 [optional.ctor] | "Selected constructor" wording is incorrect for optional/variant/any | No | 3 | |
2829 | Open | 20.6.3.5 [optional.observe] | LWG 2740 leaves behind vacuous words | No | 2 | |
2881 | New | 20.7.3 [variant.variant] | Adopt section III of P0308R0 | No | 3 | |
3215 | New | 20.7.3.1 [variant.ctor] | variant default constructor has vague constexpr requirements | Yes | ||
2833 | Open | 20.7.3.1 [variant.ctor] | Library needs to specify what it means when it declares a function constexpr | Yes | 2 | |
2991 | LEWG | 20.7.3.1 [variant.ctor] | variant copy constructor missing noexcept(see below) | Yes | ||
3069 | New | 20.7.3.3 [variant.assign] | Move assigning variant's subobject corrupts data | Yes | 3 | |
3052 | LEWG | 20.7.7 [variant.visit] | visit is underconstrained | Yes | 2 | |
2348 | Open | 20.9.2 [template.bitset] | charT('1') is not the wide equivalent of '1' | Yes | 3 | |
2421 | New | 20.10.6 [ptr.align] | Non-specification of handling zero size in std::align [ptr.align] | No | 3 | |
3192 | New | 20.10.8.2 [allocator.uses.construction] | §[allocator.uses.construction] functions misbehave for const types | Yes | 3 | |
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 | |
3190 | New | 20.10.10.1 [allocator.members] | std::allocator::allocate sometimes returns too little storage | Yes | 3 | |
2089 | EWG | 20.10.10.1 [allocator.members] | std::allocator::construct should use uniform initialization | Yes | 2 | |
3156 | New | 20.10.11 [specialized.algorithms] | ForwardIterator should only mean forward iterator | Yes | 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 | |
3159 | New | 20.11.1.2 [unique.ptr.single] | §[unique.ptr.single] requirements on deleter may be too strict | 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 | |
2762 | Open | 20.11.1.2.4 [unique.ptr.single.observers] | unique_ptr operator*() should be noexcept | Yes | 3 | |
3018 | New | 20.11.3 [util.smartptr.shared] | shared_ptr of function type | Yes | 3 | |
2594 | New | 20.11.3 [util.smartptr.shared] | Contradicting definition of empty shared_ptr on shared_ptr(nullptr, d) | Yes | 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 | |
2751 | New | 20.11.3.2 [util.smartptr.shared.dest] | shared_ptr deleter not specified to observe expired weak_ptr instances | No | 4 | |
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 | |
3036 | Open | 20.12.3 [mem.poly.allocator.class] | polymorphic_allocator::destroy is extraneous | Yes | 3 | |
2848 | New | 20.12.5.2 [mem.res.pool.options] | Pass-through threshold for pool allocator | No | 3 | |
3143 | New | 20.12.6 [mem.res.monotonic.buffer] | monotonic_buffer_resource growth policy is unclear | No | 2 | |
3120 | Open | 20.12.6.2 [mem.res.monotonic.buffer.mem] | Unclear behavior of monotonic_buffer_resource::release() | Yes | 2 | |
2894 | Open | 20.14.4 [func.invoke] | The function template std::apply() is required to be constexpr, but std::invoke() isn't | Yes | 3 | |
2690 | LEWG | 20.14.4 [func.invoke] | invoke<R> | Yes | ||
3046 | New | 20.14.5 [refwrap] | Do not require reference_wrapper to support non-referenceable function types | Yes | 3 | |
3146 | New | 20.14.5.5 [refwrap.helpers] | Excessive unwrapping in std::ref/cref | Yes | 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 | |
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 | |
3023 | New | 20.14.15 [func.memfn] | Clarify unspecified call wrappers | No | 3 | |
2774 | New | 20.14.16.2.1 [func.wrap.func.con] | std::function construction vs assignment | No | 3 | |
2813 | EWG | 20.14.16.2.1 [func.wrap.func.con] | std::function should not return dangling references | Yes | 2 | |
1025 | LEWG | 20.14.18 [unord.hash] | The library should provide more specializations for std::hash | No | ||
2290 | Open | 20.15 [meta] | Top-level "SFINAE"-based constraints should get a separate definition in Clause 17 | Yes | 3 | |
2452 | Core | 20.15 [meta] | is_constructible, etc. and default arguments | 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 | |
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 | ||
2922 | LEWG | 20.15.2 [meta.type.synop] | The *_constant<> templates do not make use of template<auto> | No | ||
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 | |
2116 | Open | 20.15.4.3 [meta.unary.prop] | is_nothrow_constructible and destructors | No | 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 | |
3174 | New | 20.15.6 [meta.rel] | Precondition on is_convertible is too strong | Yes | 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 | |
3152 | New | 20.15.7.6 [meta.trans.other] | common_type and common_reference have flaws in common | Yes | 3 | |
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 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2513 | New | 21.1 [strings.general] | Missing requirements for basic_string::value_type | No | 4 | |
2994 | Open | 21.2 [char.traits] | Needless UB for basic_string and basic_string_view | Yes | 3 | |
3085 | Open | 21.2.1 [char.traits.require] | char_traits::copy precondition too weak | Yes | 2 | |
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 | |
3165 | LEWG | 21.3.2 [basic.string] | All starts_with() overloads should be called "begins_with" | Yes | 2 | |
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 | ||
3068 | LEWG | 21.4.2 [string.view.template] | Forbid assigning an rvalue basic_string to basic_string_view | Yes | 2 | |
2237 | New | 21.5 [c.strings] | <cuchar> macros | No | 4 | |
2238 | Open | 21.5 [c.strings] | Problematic iterator-pair constructor of containers | No | 3 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2307 | LEWG | 22 [containers] | Should the Standard Library use explicit only when necessary? | No | 2 | |
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 | ||
3059 | New | 22.2 [container.requirements] | Wrong requirements for map-like associative container assignment? | No | 3 | |
3028 | New | 22.2.1 [container.requirements.general] | Container requirements tables should distinguish const and non-const variables | Yes | 3 | |
2269 | New | 22.2.1 [container.requirements.general] | Container iterators and argument-dependent lookup | No | 4 | |
1521 | Open | 22.2.1 [container.requirements.general] | Requirements on internal pointer representations in containers | Yes | 3 | |
2321 | Open | 22.2.1 [container.requirements.general] | Moving containers should (usually) be required to preserve iterators | Yes | 3 | |
2705 | New | 22.2.3 [sequence.reqmts] | Questionable precondition on Sequence containers a.assign(n, t) | Yes | 3 | |
2206 | Open | 22.2.3 [sequence.reqmts] | Inaccuracy in initializer_list constructor requirements | Yes | 3 | |
2743 | New | 22.2.4.1 [container.node.overview] | p0083r3 node_handle private members missing "exposition only" comment | 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 | |
2227 | Open | 22.2.6 [associative.reqmts] | Stateful comparison objects in associative containers | No | 3 | |
2215 | Open | 22.2.6 [associative.reqmts] | (unordered) associative container functors should be CopyConstructible | Yes | 3 | |
3176 | New | 22.2.7 [unord.req] | Underspecified behavior of unordered containers when Container::key_equal differs from Pred | No | 2 | |
1175 | Open | 22.2.7 [unord.req] | unordered complexity | 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 | |
2335 | New | 22.3.7 [array] | array<array<int, 3>, 4> should be layout-compatible with int[4][3] | No | 3 | |
3219 | New | 22.3.7.1 [array.overview] | std::array overview container requirements are incorrect | Yes | ||
2823 | Open | 22.3.7.1 [array.overview] | std::array initialization is still not permissive enough | 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 | |
3088 | New | 22.3.9.6 [forwardlist.ops] | forward_list::merge behavior unclear when passed *this | Yes | 3 | |
2997 | New | 22.3.10.5 [list.ops] | LWG 491 and the specification of {forward_,}list::unique | Yes | 3 | |
2158 | Open | 22.3.11.3 [vector.capacity] | Conditional copy/move in std::vector | Yes | 3 | |
1422 | Open | 22.3.12 [vector.bool] | vector<bool> iterators are not random access | No | 3 | |
2713 | New | 22.5 [unord] | More missing allocator-extended constructors for unordered containers | Yes | 3 | |
3189 | New | 22.6.5 [priority.queue] | Missing requirement for std::priority_queue | No | 3 | |
3161 | Open | 22.6.6 [stack] | Container adapters mandate use of emplace_back but don't require it | Yes | ||
3203 | New | 22.7.3.1 [span.overview] | span element access invalidation | Yes | 2 | |
3103 | Open | 22.7.3.3 [span.sub] | Errors in taking subview of span should be ill-formed where possible | Yes | 3 | |
3212 | New | 22.7.3.8 [span.tuple] | tuple_element_t<1, const span<int, 42>> is const int | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
1213 | Open | 23.3 [iterator.requirements] | Meaning of valid and singular iterator underspecified | No | 4 | |
3110 | New | 23.3.1 [iterator.requirements.general] | Contiguous Iterators should always be Random-Access | Yes | 3 | |
2375 | New | 23.3.1 [iterator.requirements.general] | Is [iterator.requirements.general]/9 too broadly applied? | No | 3 | |
2962 | Open | 23.3.5.2 [input.iterators] | Iterators of Containers of move-only types do not model InputIterator | Yes | 2 | |
484 | Open | 23.3.5.2 [input.iterators] | Convertible to T | No | 2 | |
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 | |
3197 | New | 23.4.2 [iterator.operations] | std::prev should not require BidirectionalIterator | Yes | 3 | |
2931 | Open | 23.4.2 [iterator.operations] | Missed optimization opportunity with single-argument std::next | No | 3 | |
2858 | New | 23.5.1 [reverse.iterators] | LWG 2472: actually an incompatibility with C++03 | Yes | 4 | |
2595 | New | 23.5.1.1 [reverse.iterator] | reverse_iterator::operator[]'s return type revisited | Yes | 3 | |
3188 | New | 23.6.3 [istreambuf.iterator] | istreambuf_iterator::pointer should not be unspecified | Yes | 3 | |
3107 | New | 23.6.3 [istreambuf.iterator] | istreambuf_iterator has public exposition-only member | Yes | 4 | |
2366 | New | 23.6.3 [istreambuf.iterator] | istreambuf_iterator end-of-stream equality | No | 3 | |
3108 | New | 23.6.3.1 [istreambuf.iterator.proxy] | istreambuf_iterator::proxy::operator* should be const | Yes | 3 | |
2457 | New | 23.7 [iterator.range] | std::begin() and std::end() do not support multi-dimensional arrays correctly | No | 3 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2963 | New | 25 [algorithms] | Algorithms with underspecified iterator requirements | No | 3 | |
1238 | Open | 25 [algorithms] | Defining algorithms taking iterator for range | No | 3 | |
2173 | Open | 25 [algorithms] | The meaning of operator + in the description of the algorithms |
Yes | 4 | |
3049 | Open | 25.2 [algorithms.requirements] | Missing wording allowing algorithms to use copies of function objects as substitutes for their parameters | Yes | 3 | |
3213 | New | 25.5.4 [alg.foreach] | for_each_n and copy_n missing requirements for Size | Yes | ||
3089 | New | 25.6.1 [alg.copy] | copy_n should require non-overlapping ranges | Yes | 3 | |
2471 | Open | 25.6.1 [alg.copy] | copy_n's number of InputIterator increments unspecified | No | 3 | |
2985 | LEWG | 25.6.10 [alg.reverse] | std::reverse should be permitted to be vectorized | Yes | ||
2267 | New | 25.7.1.4 [partial.sort.copy] | partial_sort_copy underspecified for ranges of two different types | No | 3 | |
2741 | Open | 25.7.4 [alg.partitions] | is_partitioned requirements need updating | No | 3 | |
2973 | LEWG | 25.7.5 [alg.merge] | inplace_merge exact comparison count complexity prohibits useful real-world optimizations | Yes | ||
3032 | New | 25.7.7 [alg.heap.operations] | ValueSwappable requirement missing for push_heap and make_heap | Yes | 3 | |
3029 | Open | 25.7.7.2 [pop.heap] | pop_heap over-constrains input | Yes | 3 | |
3061 | Open | 25.7.11 [alg.3way] | What is the return type of compare_3way? | Yes | 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 | |
3200 | New | 25.9.15 [numeric.ops.midpoint] | midpoint should not constrain T is complete | Yes | 2 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2714 | New | 26.4.6 [complex.ops] | complex stream extraction underspecified | Yes | 3 | |
2846 | New | 26.4.9 [cmplx.over] | Undefined phrase "effectively cast" | Yes | 3 | |
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 | |
2352 | New | 26.6.7.1 [rand.util.seedseq] | Is a default-constructed std::seed_seq intended to produce a predictable .generate()? | No | 2 | |
2524 | Open | 26.6.8.4.2 [rand.dist.pois.exp] | generate_canonical can occasionally return 1.0 | No | 2 | |
2423 | New | 26.7.5 [template.slice.array] | Missing specification slice_array, gslice_array, mask_array, indirect_array copy constructor | Yes | 4 | |
2115 | Open | 26.7.8 [template.mask.array] | Undefined behaviour for valarray assignments with mask_array index? | No | 4 | |
2923 | New | 26.8.1 [cmath.syn] | noexcept is inconsistently applied across headers which import components of the C standard library | No | 4 | |
2847 | New | 26.8.1 [cmath.syn] | sin(float) should call sinf(float) | No | 3 | |
3093 | New | 26.8.2 [c.math.abs] | LWG 2294/2192 missed a std::abs overload | No | 3 | |
3172 | New | 26.8.3 [c.math.hypot3] | 3-arg std::hypot is underspecified compared to the 2-arg overload | Yes | 3 | |
3201 | New | 26.8.4 [c.math.lerp] | lerp should be marked as noexcept | Yes | ||
3066 | New | 26.8.6 [sf.cmath] | "report a domain error" in [sf.cmath]/1 is underspecified | No | 3 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2592 | New | 27.2 [time.syn] | Require that chrono::duration_casts from smaller durations to larger durations do not overflow | Yes | 4 | |
3123 | New | 27.5 [time.duration] | duration constructor from representation shouldn't be effectively non-throwing | Yes | 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 | |
3050 | Open | 27.5.1 [time.duration.cons] | Conversion specification problem in chrono::duration constructor | Yes | 3 | |
2383 | Open | 27.5.8 [time.duration.literals] | Overflow cannot be ill-formed for chrono::duration integer literals | No | 3 | |
3125 | Open | 27.5.10 [time.duration.io] | duration streaming precondition should be a SFINAE condition | Yes | 2 | |
3221 | New | 27.8.13.3 [time.cal.ym.nonmembers] | Result of year_month arithmetic with months is ambiguous | Yes | ||
3091 | New | 27.9.5 [time.tod.subsecond] | subsecond-precision time_of_day and durations that seconds cannot convert to | No | 2 | |
3218 | New | 27.12 [time.parse] | Modifier for %d parse flag does not match POSIX and format specification | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2295 | New | 28.3.1.2 [locale.cons] | Locale name when the provided Facet is a nullptr | No | 3 | |
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 | ||
2381 | Open | 28.4.2.1.2 [facet.num.get.virtuals] | Inconsistency in parsing floating point numbers | Yes | 2 | |
2703 | New | 28.4.2.2.2 [facet.num.put.virtuals] | No provision for fill-padding when boolalpha is set | 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 | |
2117 | Open | 28.4.2.2.2 [facet.num.put.virtuals] | ios_base manipulators should have showgrouping/noshowgrouping | No | 3 | |
2512 | Open | 28.4.5.1.2 [locale.time.get.virtuals] | Y2K bites; what is an "unambiguous year identifier"? | No | 4 | |
2983 | New | 28.4.6.2.2 [locale.money.put.virtuals] | money_put::do_put underspecified | Yes | 3 | |
2691 | New | 28.4.6.3 [locale.moneypunct] | money_base::space and do_put: U+0020 versus fill | Yes | 3 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
423 | Open | 29 [input.output] | Effects of negative streamsize in iostreams | Yes | 3 | |
2675 | New | 29.5.3.6 [ios.base.callback] | register_callback can fail | No | 3 | |
3118 | New | 29.5.4.2 [fpos.operations] | fpos equality comparison unspecified | No | 4 | |
2214 | Open | 29.5.5.2 [basic.ios.cons] | Clarify basic_ios::init call restrictions | Yes | 4 | |
2504 | New | 29.6.3 [streambuf] | basic_streambuf is not an abstract class | No | 3 | |
2349 | Open | 29.7.4.2.1 [istream.formatted.reqmts] | Clarify input/output function rethrow behavior | Yes | 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 | |
2497 | New | 29.7.5.1.3 [ostream.sentry] | Use of uncaught_exception() | Yes | 3 | |
1203 | Open | 29.7.5.5 [ostream.rvalue] | More useful rvalue stream insertion | Yes | 2 | |
2984 | New | 29.7.7 [ext.manip] | put_money(99) is unnecessarily undefined | 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 | |
3097 | New | 29.8.2.4 [stringbuf.virtuals] | basic_stringbuf seekoff effects trigger undefined behavior and have contradictory returns | No | 3 | |
2286 | Open | 29.8.2.4 [stringbuf.virtuals] | stringbuf::underflow() underspecified | Yes | 4 | |
3098 | New | 29.11.7.4.9 [fs.path.decompose] | Misleading example for filesystem::path::filename() | 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 | |
2947 | New | 29.11.9.1 [fs.enum.path.format] | Clarify several filesystem terms | 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 | |
3171 | Open | 29.11.11 [fs.class.directory.entry] | LWG 2989 breaks directory_entry stream insertion | Yes | 2 | |
2708 | Open | 29.11.13.1 [fs.rec.dir.itr.members] | recursive_directory_iterator::recursion_pending() is incorrectly specified | Yes | 2 | |
3057 | Open | 29.11.14.3 [fs.op.copy] | Correct copy_options handling | Yes | 2 | |
3056 | New | 29.11.14.4 [fs.op.copy.file] | copy_file() copies which attributes? | Yes | 3 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2490 | New | 30 [re] | <regex> needs lots of noexcept | No | 3 | |
523 | Open | 30 [re] | regex case-insensitive character ranges are unimplementable as specified | No | ||
2431 | New | 30.3 [re.req] | Missing regular expression traits requirements | No | 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 | |
1396 | Open | 30.8 [re.regex] | regex should support allocators | No | 1451 | |
2137 | Open | 30.8.2 [re.regex.assign] | Misleadingly constrained post-condition in the presence of exceptions | Yes | 3 | |
3204 | New | 30.9 [re.submatch] | sub_match::swap only swaps the base class | Yes | 3 | |
3126 | New | 30.9 [re.submatch] | There's no std::sub_match::compare(string_view) overload | Yes | 3 | |
2195 | Open | 30.10 [re.results] | Missing constructors for match_results | Yes | 3 | |
2191 | New | 30.10.1 [re.results.const] | Incorrect specification of match_results(match_results&&) | Yes | 4 | |
2216 | New | 30.11.4 [re.alg.replace] | regex_replace(basic_string) allocator handling | No | 3 | |
2220 | Open | 30.12.2.2 [re.tokiter.comp] | Under-specification of operator== for regex_token_iterator | 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 | |
2546 | New | 30.13 [re.grammar] | Implementability of locale-sensitive UnicodeEscapeSequence matching | No | 4 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
3220 | New | 31.2 [atomics.syn] | P0558 broke conforming C++14 uses of atomic shared_ptr | Yes | ||
2236 | SG1 | 31.2 [atomics.syn] | kill_dependency unconditionally noexcept | No | ||
2265 | Open | 31.4 [atomics.order] | 29.3p9 appears to rule out some acceptable executions | No | 4 | |
1459 | LEWG | 31.4 [atomics.order] | Overlapping evaluations are allowed | No | 1458 | |
2334 | SG1 | 31.7.1 [atomics.types.operations] | atomic's default constructor requires "uninitialized" state even for types with non-trivial default-constructor | 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 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2819 | New | 32.2.5 [thread.req.lockable] | Unspecified Return type: elements | No | 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 | ||
2363 | Open | 32.4.3.5.1 [thread.sharedtimedmutex.class] | Defect in 30.4.1.4.1 [thread.sharedtimedmutex.class] | Yes | 2 | |
2731 | Open | 32.4.4.1 [thread.lock.guard] | Existence of lock_guard<MutexTypes...>::mutex_type typedef unclear | Yes | 3 | |
2530 | Open | 32.6.5 [futures.state] | Clarify observable side effects of releasing a shared state | No | 3 | |
3003 | Open | 32.6.6 [futures.promise] | <future> still has type-erased allocators in promise | Yes | 2 | |
2532 | Open | 32.6.6 [futures.promise] | Satisfying a promise at thread exit | Yes | 3 | |
2095 | LEWG | 32.6.6 [futures.promise] | promise and packaged_task missing constructors needed for uses-allocator construction | Yes | 4 | |
2202 | Deferred | 32.6.9 [futures.async] | Missing allocator support by async | No | 4 | |
3117 | New | 32.6.10 [futures.task] | Missing packaged_task deduction guides | Yes | 3 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
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 | |
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 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2533 | SG1 | 99 [concurr.ts::futures.unique_future] | [concurr.ts] Constrain threads where future::then can run a continuation | No |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
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 | |
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 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
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 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
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 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
3167 | New | 5.2 [fund.ts.v3::memory.observer.ptr] | [fund.ts.v3] Does observer_ptr support function types? | No | 3 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
3124 | New | 13.7.5 [networking.ts::async.exec.ctx.globals] | [networking.ts] Unclear how execution_context is intended to store services | Yes | 3 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
3114 | LEWG | 16 [networking.ts::buffer] | [networking.ts] Permit efficient composition when using DynamicBuffer | Yes | ||
3021 | New | 16.2.2 [networking.ts::buffer.reqmts.constbuffersequence] | [networking.ts] Relax pointer equivalence requirement for ConstBufferSequence | Yes | 3 | |
3072 | New | 16.2.4 [networking.ts::buffer.reqmts.dynamicbuffer] | [networking.ts] DynamicBuffer object lifetimes underspecified | Yes | 3 | |
3027 | New | 16.2.4 [networking.ts::buffer.reqmts.dynamicbuffer] | [networking.ts] DynamicBuffer prepare exception specification | Yes | 3 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
3073 | New | 17 [networking.ts::buffer.stream] | [networking.ts] (async_)read and (async_)write don't support DynamicBuffer lvalues | Yes | 3 |