Reference ISO/IEC IS 14882:2011(E)
This document is the Index by Section for the Library Active Issues List, Library Defect Reports List, and Library Closed Issues List.
(view only non-Ready open issues)
Revised 2018-05-06 at 19:13:12 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 | 20 [library] | T1 is convertible to T2 | No | ||
2949 | New | 20 [library] | Unclear complexity requirements: space vs. time | No | 4 | |
2392 | New | 20.3.16 [defns.ntcts] | "character type" is used but not defined | No | 3 | |
2136 | Open | 20.4.1 [structure] | Postconditions vs. exceptions | No | 3 | |
2292 | New | 20.4.1.4 [structure.specifications] | Find a better phrasing for "shall not participate in overload resolution" | No | 3 | |
3092 | New | 20.4.2.1.4 [bitmask.types] | Unclear semantics of enum class bitmask types | Yes | 2 | |
2818 | New | 20.5.1.1 [contents] | "::std::" everywhere rule needs tweaking | No | 2 | |
2146 | Open | 20.5.3.1 [utility.arg.requirements] | Are reference types Copy/Move-Constructible/Assignable or Destructible? | No | 2 | |
2152 | LEWG | 20.5.3.2 [swappable.requirements] | Instances of standard container types are not swappable | Yes | 3 | |
2114 | Open | 20.5.3.3 [nullablepointer.requirements] | Incorrect "contextually convertible to bool" requirements | Yes | 3 | |
3044 | New | 20.5.3.5 [allocator.requirements] | Strange specification of max_size() for an allocator | No | 3 | |
2461 | New | 20.5.3.5 [allocator.requirements] | Interaction between allocators and container exception safety guarantees | No | 3 | |
2563 | New | 20.5.5.5 [member.functions] | LWG 2259 relaxes requirements, perhaps unintentionally | No | 2 | |
2695 | New | 20.5.5.5 [member.functions] | "As if" unclear in [member.functions] | No | 3 | |
2892 | New | 20.5.5.6 [constexpr.functions] | Relax the prohibition on libraries adding constexpr | Yes | 1 | |
2414 | Open | 20.5.5.8 [reentrancy] | Member function reentrancy should be implementation-defined | Yes | 3 | |
2839 | Open | 20.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 |
2248 | New | 21.3.4 [numeric.limits] | numeric_limits::is_iec559 misnamed | No | 4 | |
2730 | Open | 21.3.4 [numeric.limits] | numeric_limits primary template definition | No | 3 | |
2820 | Open | 21.4 [cstdint] | Clarify <cstdint> macros | Yes | 3 | |
3084 | New | 21.5 [support.start.term] | Termination in C++ is unclear | No | 3 | |
2815 | New | 21.5 [support.start.term] | quick_exit can deadlock | Yes | 3 | |
3106 | New | 21.6.1 [new.syn] | nothrow should be inline constexpr rather that extern const | Yes | ||
3086 | New | 21.6.2.1 [new.delete.single] | Possible problem in §[new.delete.single] | Yes | ||
2737 | New | 21.6.2.1 [new.delete.single] | Consider relaxing object size restrictions for single-object allocation functions | No | 3 | |
2303 | New | 21.6.2.3 [new.delete.placement] | Explicit instantiation of std::vector<UserType> broken? | No | 3 | |
2508 | New | 21.6.2.4 [new.delete.dataraces] | §[new.delete.dataraces] wording needs to be updated | No | 3 | |
2859 | Core | 21.6.4 [ptr.launder] | Definition of reachable in [ptr.launder] misses pointer arithmetic from pointer-interconvertible object | Yes | 2 | |
2860 | Core | 21.6.4 [ptr.launder] | launder and base class subobjects | Yes | 2 | |
2398 | Open | 21.7.2 [type.info] | type_info's destructor shouldn't be required to be virtual | Yes | 3 | |
2088 | Open | 21.8.4 [exception.terminate] | std::terminate problem | No | 3 | |
2453 | New | 21.9 [support.initlist] | §[iterator.range] and now [iterator.container] aren't available via <initializer_list> | No | 3 | |
2493 | New | 21.9 [support.initlist] | initializer_list supports incomplete classes | No | 4 | |
2432 | EWG | 21.9 [support.initlist] | initializer_list assignability | Yes | 2 | |
2155 | Open | 21.11 [support.runtime] | Macro __bool_true_false_are_defined should be removed | Yes | 4 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2413 | New | 22.3 [assertions] | assert macro is overconstrained | No | 4 | |
3011 | Open | 22.3 [assertions] | Requirements for assert(E) inconsistent with C | No | 2 | |
3019 | New | 22.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 | 22.5.3.1 [syserr.errcode.overview] | Prohibit error_code construction from rvalues of error_category | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
1289 | LEWG | 23.2 [utility] | Generic casting requirements for smart pointers | Yes | ||
2800 | Open | 23.2.2 [utility.swap] | constexpr swap | No | 3 | |
2153 | LEWG | 23.2.2 [utility.swap] | Narrowing of the non-member swap contract | Yes | 2 | |
2599 | New | 23.2.6 [declval] | Library incomplete type permission phrase is unclear | No | 3 | |
2289 | Open | 23.4.2 [pairs.pair] | constexpr guarantees of defaulted functions still insufficient | Yes | 3 | |
2766 | New | 23.4.3 [pairs.spec] | Swapping non-swappable types | Yes | 3 | |
2899 | Open | 23.5 [tuple] | is_(nothrow_)move_constructible and tuple, optional and unique_ptr | Yes | 2 | |
2528 | New | 23.5.3.1 [tuple.cnstr] | Order of std::tuple construction unspecified | No | 3 | |
2419 | LEWG | 23.5.3.1 [tuple.cnstr] | Clang's libc++ extension to std::tuple | No | ||
2933 | New | 23.5.3.4 [tuple.creation] | PR for LWG 2773 could be clearer | Yes | 3 | |
1201 | LEWG | 23.5.3.4 [tuple.creation] | Do we always want to unwrap ref-wrappers in make_tuple | Yes | ||
2472 | New | 23.5.3.8 [tuple.rel] | Heterogeneous comparisons in the standard library can result in ambiguities | No | 3 | |
532 | LEWG | 23.5.3.8 [tuple.rel] | Tuple comparison | Yes | 348 | |
3016 | New | 23.6.3 [optional.optional] | optional and over-aligned types | Yes | 3 | |
2746 | New | 23.6.3 [optional.optional] | Inconsistency between requirements for emplace between optional and variant | No | 3 | |
2990 | Open | 23.6.3 [optional.optional] | optional::value_type is not always a value type | Yes | 3 | |
2825 | LEWG | 23.6.3 [optional.optional] | LWG 2756 breaks class template argument deduction for optional | No | 2 | |
2811 | New | 23.6.3.1 [optional.ctor] | "Selected constructor" wording is incorrect for optional/variant/any | No | 3 | |
2829 | New | 23.6.3.5 [optional.observe] | LWG 2740 leaves behind vacuous words | No | 2 | |
2881 | New | 23.7.3 [variant.variant] | Adopt section III of P0308R0 | No | 3 | |
2833 | Open | 23.7.3.1 [variant.ctor] | Library needs to specify what it means when it declares a function constexpr | Yes | 2 | |
2991 | LEWG | 23.7.3.1 [variant.ctor] | variant copy constructor missing noexcept(see below) | Yes | ||
3069 | New | 23.7.3.3 [variant.assign] | Move assigning variant's subobject corrupts data | Yes | ||
3052 | New | 23.7.7 [variant.visit] | visit is underconstrained | Yes | ||
2348 | Open | 23.9.2 [template.bitset] | charT('1') is not the wide equivalent of '1' | Yes | 3 | |
2421 | New | 23.10.6 [ptr.align] | Non-specification of handling zero size in std::align [ptr.align] | No | 3 | |
2089 | EWG | 23.10.10.1 [allocator.members] | std::allocator::construct should use uniform initialization | Yes | 2 | |
3063 | New | 23.10.11 [specialized.algorithms] | Parallel algorithms in <memory> are underspecified | No | 3 | |
3064 | New | 23.10.11 [specialized.algorithms] | How do uninitialized memory algorithms obtain pointer without undefined behavior? | No | 3 | |
3054 | New | 23.10.11.4 [uninitialized.copy] | uninitialized_copy appears to not be able to meet its exception-safety guarantee | Yes | 2 | |
2262 | Open | 23.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 | LEWG | 23.11.1.2.4 [unique.ptr.single.observers] | unique_ptr operator*() should be noexcept | Yes | 3 | |
3018 | New | 23.11.3 [util.smartptr.shared] | shared_ptr of function type | Yes | 3 | |
2594 | New | 23.11.3 [util.smartptr.shared] | Contradicting definition of empty shared_ptr on shared_ptr(nullptr, d) | Yes | 3 | |
2996 | LEWG | 23.11.3 [util.smartptr.shared] | Missing rvalue overloads for shared_ptr operations | Yes | ||
1406 | LEWG | 23.11.3 [util.smartptr.shared] | Support hashing smart-pointers based on owner | Yes | ||
2906 | New | 23.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 | 23.11.3.2 [util.smartptr.shared.dest] | shared_ptr deleter not specified to observe expired weak_ptr instances | No | 4 | |
2776 | New | 23.11.3.5 [util.smartptr.shared.obs] | shared_ptr unique() and use_count() | No | 2 | |
3008 | New | 23.11.3.6 [util.smartptr.shared.create] | make_shared (sub)object destruction semantics are not specified | Yes | 2 | |
3037 | New | 23.12.3 [mem.poly.allocator.class] | polymorphic_allocator and incomplete types | Yes | 2 | |
3036 | New | 23.12.3 [mem.poly.allocator.class] | polymorphic_allocator::destroy is extraneous | Yes | 3 | |
3038 | New | 23.12.3.2 [mem.poly.allocator.mem] | polymorphic_allocator::allocate should not allow integer overflow to create vulnerabilities | Yes | 2 | |
2848 | New | 23.12.5.2 [mem.res.pool.options] | Pass-through threshold for pool allocator | No | 3 | |
2511 | New | 23.13.4 [allocator.adaptor.members] | scoped_allocator_adaptor piecewise construction does not require CopyConstructible | No | 3 | |
2894 | Open | 23.14.4 [func.invoke] | The function template std::apply() is required to be constexpr, but std::invoke() isn't | Yes | 3 | |
2690 | LEWG | 23.14.4 [func.invoke] | invoke<R> | Yes | ||
3046 | New | 23.14.5 [refwrap] | Do not require reference_wrapper to support non-referenceable function types | Yes | 3 | |
2491 | New | 23.14.7 [comparisons] | std::less<T*> in constant expression | Yes | 3 | |
2547 | New | 23.14.7 [comparisons] | Container requirements (and other library text) should say "strict total order", not just "total order" | No | 3 | |
2957 | New | 23.14.11.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 | 23.14.12 [func.memfn] | Clarify unspecified call wrappers | Yes | 3 | |
2774 | New | 23.14.13.2.1 [func.wrap.func.con] | std::function construction vs assignment | No | 3 | |
2813 | Open | 23.14.13.2.1 [func.wrap.func.con] | std::function should not return dangling references | Yes | 2 | |
1025 | LEWG | 23.14.15 [unord.hash] | The library should provide more specializations for std::hash | No | ||
1317 | LEWG | 23.14.15 [unord.hash] | make_hash | Yes | ||
2290 | Open | 23.15 [meta] | Top-level "SFINAE"-based constraints should get a separate definition in Clause 17 | Yes | 3 | |
2040 | LEWG | 23.15 [meta] | Missing type traits related to is_convertible | Yes | ||
2452 | Core | 23.15 [meta] | is_constructible, etc. and default arguments | No | 3 | |
2845 | New | 23.15.1 [meta.rqmts] | enable_if, result_of, common_type and aligned_storage do not meet the definition of TransformationTrait | No | 3 | |
3099 | New | 23.15.2 [meta.type.synop] | is_assignable<Incomplete&, Incomplete&> | Yes | ||
2939 | New | 23.15.2 [meta.type.synop] | Some type-completeness constraints of traits are overspecified | No | 2 | |
2797 | Open | 23.15.2 [meta.type.synop] | Trait precondition violations | Yes | 2 | |
2922 | LEWG | 23.15.2 [meta.type.synop] | The *_constant<> templates do not make use of template<auto> | No | ||
2827 | New | 23.15.4.3 [meta.unary.prop] | is_trivially_constructible and non-trivial destructors | No | 3 | |
2496 | New | 23.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 | |
2358 | Open | 23.15.4.3 [meta.unary.prop] | Apparently-bogus definition of is_empty type trait | Yes | 3 | |
2116 | Open | 23.15.4.3 [meta.unary.prop] | is_nothrow_constructible and destructors | No | 3 | |
2077 | Open | 23.15.4.3 [meta.unary.prop] | Further incomplete constraints for type traits | No | 3 | |
3022 | New | 23.15.6 [meta.rel] | is_convertible<derived*, base*> may lead to ODR | No | 2 | |
1121 | LEWG | 23.16.4 [ratio.arithmetic] | Support for multiple arguments | Yes | ||
2592 | New | 23.17.2 [time.syn] | Require that chrono::duration_casts from smaller durations to larger durations do not overflow | Yes | 4 | |
3090 | New | 23.17.5.1 [time.duration.cons] | What is §[time.duration.cons]p4's "no overflow is induced in the conversion" intended to mean? | No | ||
3050 | New | 23.17.5.1 [time.duration.cons] | Conversion specification problem in chrono::duration constructor | Yes | ||
2383 | Open | 23.17.5.8 [time.duration.literals] | Overflow cannot be ill-formed for chrono::duration integer literals | No | 3 | |
935 | LEWG | 23.17.7 [time.clock] | clock error handling needs to be specified | Yes | ||
3091 | New | 23.17.9.5 [time.tod.subsecond] | subsecond-precision time_of_day and durations that seconds cannot convert to | No | 2 | |
3082 | New | 23.20.3 [charconv.from.chars] | from_chars specification regarding floating point rounding is inconsistent | Yes | 2 | |
3081 | New | 23.20.3 [charconv.from.chars] | Floating point from_chars API does not distinguish between overflow and underflow | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2841 | New | 24 [strings] | Use of "Equivalent to" in [strings] | No | 3 | |
2513 | New | 24.1 [strings.general] | Missing requirements for basic_string::value_type | No | 4 | |
2994 | New | 24.2 [char.traits] | Needless UB for basic_string and basic_string_view | Yes | 3 | |
3085 | New | 24.2.1 [char.traits.require] | char_traits::copy precondition too weak | Yes | 2 | |
2959 | New | 24.2.3.2 [char.traits.specializations.char16_t] | char_traits<char16_t>::eof is a valid UTF-16 code unit | No | 3 | |
2836 | New | 24.3.2 [basic.string] | More string operations should be noexcept | Yes | 2 | |
2318 | New | 24.3.2 [basic.string] | basic_string's wording has confusing relics from the copy-on-write era | No | 4 | |
2151 | Open | 24.3.2.1 [string.require] | basic_string<>::swap semantics ignore allocators | No | 3 | |
2929 | New | 24.3.2.6.3 [string.assign] | basic_string misuses "Effects: Equivalent to" | Yes | 3 | |
2883 | LEWG | 24.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 | ||
2780 | LEWG | 24.4 [string.view] | basic_string_view::copy is missing constexpr | Yes | 2 | |
3068 | New | 24.4.2 [string.view.template] | Forbid assigning an rvalue basic_string to basic_string_view | Yes | ||
2938 | New | 24.4.2 [string.view.template] | basic_string_view::const_iterator should be literal types | Yes | 2 | |
3040 | Open | 24.4.2.6 [string.view.ops] | basic_string_view::starts_with Effects are incorrect | Yes | 0 | |
2237 | New | 24.5 [c.strings] | <cuchar> macros | No | 4 | |
2238 | Open | 24.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 |
708 | LEWG | 25 [localization] | Locales need to be per thread and updated for POSIX changes | No | ||
2295 | New | 25.3.1.2 [locale.cons] | Locale name when the provided Facet is a nullptr | No | 3 | |
2381 | Open | 25.4.2.1.2 [facet.num.get.virtuals] | Inconsistency in parsing floating point numbers | Yes | 2 | |
2703 | New | 25.4.2.2.2 [facet.num.put.virtuals] | No provision for fill-padding when boolalpha is set | No | 3 | |
2702 | New | 25.4.2.2.2 [facet.num.put.virtuals] | num_put::do_put(..., bool) performs ill-formed do_put call | No | 3 | |
2117 | Open | 25.4.2.2.2 [facet.num.put.virtuals] | ios_base manipulators should have showgrouping/noshowgrouping | No | 3 | |
2512 | Open | 25.4.5.1.2 [locale.time.get.virtuals] | Y2K bites; what is an "unambiguous year identifier"? | No | 4 | |
2983 | New | 25.4.6.2.2 [locale.money.put.virtuals] | money_put::do_put underspecified | Yes | 3 | |
2691 | New | 25.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 |
2307 | Open | 26 [containers] | Should the Standard Library use explicit only when necessary? | No | 2 | |
2885 | LEWG | 26 [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 | ||
2884 | LEWG | 26 [containers] | Relational operators for containers should sfinae; if the underlying type is not comparable, neither should the container be | No | ||
1242 | LEWG | 26 [containers] | Enable SCARY iterators | Yes | ||
3059 | New | 26.2 [container.requirements] | Wrong requirements for map-like associative container assignment? | No | 3 | |
3028 | New | 26.2.1 [container.requirements.general] | Container requirements tables should distinguish const and non-const variables | Yes | 3 | |
2269 | New | 26.2.1 [container.requirements.general] | Container iterators and argument-dependent lookup | No | 4 | |
2321 | Open | 26.2.1 [container.requirements.general] | Moving containers should (usually) be required to preserve iterators | Yes | 2 | |
1521 | LEWG | 26.2.1 [container.requirements.general] | Requirements on internal pointer representations in containers | Yes | ||
2705 | New | 26.2.3 [sequence.reqmts] | Questionable precondition on Sequence containers a.assign(n, t) | Yes | 3 | |
2206 | Open | 26.2.3 [sequence.reqmts] | Inaccuracy in initializer_list constructor requirements | No | 3 | |
2743 | New | 26.2.4.1 [container.node.overview] | p0083r3 node_handle private members missing "exposition only" comment | No | 3 | |
2844 | New | 26.2.6 [associative.reqmts] | Stability of a_uniq.insert(i, j) | No | 3 | |
2362 | New | 26.2.6 [associative.reqmts] | unique, associative emplace() should not move/copy the mapped_type constructor arguments when no insertion happens | No | 3 | |
2215 | Open | 26.2.6 [associative.reqmts] | (unordered) associative container functors should be CopyConstructible | Yes | 3 | |
2227 | Open | 26.2.6 [associative.reqmts] | Stateful comparison objects in associative containers | No | 3 | |
1175 | Open | 26.2.7 [unord.req] | unordered complexity | Yes | 3 | |
2198 | Open | 26.2.7 [unord.req] | max_load_factor(z) makes no strong guarantees, but bans useful behavior | Yes | 3 | |
1188 | LEWG | 26.2.7 [unord.req] | Unordered containers should have a minimum load factor as well as a maximum | Yes | ||
2189 | Open | 26.2.7.1 [unord.req.except] | Throwing swap breaks unordered containers' state | No | 3 | |
2335 | New | 26.3.7 [array] | array<array<int, 3>, 4> should be layout-compatible with int[4][3] | No | 3 | |
2823 | Open | 26.3.7.1 [array.overview] | std::array initialization is still not permissive enough | Yes | 3 | |
2897 | Open | 26.3.7.1 [array.overview] | array::iterator and array::const_iterator should be literal types | Yes | 2 | |
2157 | Open | 26.3.7.5 [array.zero] | How does std::array<T,0> initialization work when T is not default-constructible? | Yes | 3 | |
3088 | New | 26.3.9.6 [forwardlist.ops] | forward_list::merge behavior unclear when passed *this | Yes | ||
3087 | New | 26.3.10.5 [list.ops] | One final &x in §[list.ops] | Yes | ||
2997 | New | 26.3.10.5 [list.ops] | LWG 491 and the specification of {forward_,}list::unique | Yes | 3 | |
2158 | Open | 26.3.11.3 [vector.capacity] | Conditional copy/move in std::vector | Yes | 2 | |
3077 | New | 26.3.11.5 [vector.modifiers] | (push|emplace)_back should invalidate the end iterator | Yes | ||
1422 | Open | 26.3.12 [vector.bool] | vector<bool> iterators are not random access | No | 3 | |
3025 | New | 26.4.4.1 [map.overview] | Map-like container deduction guides should use pair<Key, T>, not pair<const Key, T> | Yes | 2 | |
2713 | New | 26.5 [unord] | More missing allocator-extended constructors for unordered containers | Yes | 3 | |
3101 | New | 26.7.3.2 [span.cons] | span's Container constructors need another constraint | Yes | 1 | |
3103 | New | 26.7.3.3 [span.sub] | Errors in taking subview of span should be ill-formed where possible | Yes | 3 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
1213 | Open | 27.2 [iterator.requirements] | Meaning of valid and singular iterator underspecified | No | 4 | |
2375 | New | 27.2.1 [iterator.requirements.general] | Is [iterator.requirements.general]/9 too broadly applied? | No | 3 | |
2962 | New | 27.2.3 [input.iterators] | Iterators of Containers of move-only types do not model InputIterator | Yes | 2 | |
484 | Open | 27.2.3 [input.iterators] | Convertible to T | No | 2 | |
2035 | Open | 27.2.4 [output.iterators] | Output iterator requirements are broken | Yes | 3 | |
2038 | Open | 27.2.4 [output.iterators] | Missing definition for incrementable iterator | No | 3 | |
2951 | New | 27.4.1 [iterator.traits] | iterator_traits should SFINAE for void* and function pointers | Yes | 3 | |
2931 | Open | 27.4.3 [iterator.operations] | Missed optimization opportunity with single-argument std::next | No | 3 | |
2858 | New | 27.5.1 [reverse.iterators] | LWG 2472: actually an incompatibility with C++03 | Yes | 4 | |
2595 | New | 27.5.1.1 [reverse.iterator] | reverse_iterator::operator[]'s return type revisited | Yes | 3 | |
3107 | New | 27.6.3 [istreambuf.iterator] | istreambuf_iterator has public exposition-only member | Yes | ||
2366 | New | 27.6.3 [istreambuf.iterator] | istreambuf_iterator end-of-stream equality | No | 3 | |
3108 | New | 27.6.3.1 [istreambuf.iterator.proxy] | istreambuf_iterator::proxy::operator* should be const | Yes | ||
2457 | New | 27.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 |
2173 | New | 28 [algorithms] | The meaning of operator + in the description of the algorithms |
Yes | 4 | |
2963 | New | 28 [algorithms] | Algorithms with underspecified iterator requirements | No | 3 | |
1238 | LEWG | 28 [algorithms] | defining algorithms taking iterator for range | No | ||
1282 | LEWG | 28 [algorithms] | A proposal to add std::split algorithm | Yes | ||
3049 | Open | 28.3 [algorithms.requirements] | Missing wording allowing algorithms to use copies of function objects as substitutes for their parameters | Yes | 3 | |
3089 | New | 28.6.1 [alg.copy] | copy_n should require non-overlapping ranges | Yes | ||
2471 | LEWG | 28.6.1 [alg.copy] | copy_n's number of InputIterator increments unspecified | No | 3 | |
2985 | LEWG | 28.6.10 [alg.reverse] | std::reverse should be permitted to be vectorized | Yes | ||
3031 | New | 28.7 [alg.sorting] | Algorithms and predicates with non-const reference arguments | No | 2 | |
2267 | New | 28.7.1.4 [partial.sort.copy] | partial_sort_copy underspecified for ranges of two different types | No | 3 | |
2741 | Open | 28.7.4 [alg.partitions] | is_partitioned requirements need updating | Yes | 3 | |
2973 | LEWG | 28.7.5 [alg.merge] | inplace_merge exact comparison count complexity prohibits useful real-world optimizations | Yes | ||
3032 | New | 28.7.7 [alg.heap.operations] | ValueSwappable requirement missing for push_heap and make_heap | Yes | 3 | |
3029 | Open | 28.7.7.2 [pop.heap] | pop_heap over-constrains input | Yes | 3 | |
3061 | New | 28.7.11 [alg.3way] | What is the return type of compare_3way? | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2693 | New | 29.5 [complex.numbers] | constexpr for various std::complex arithmetic and value operators | No | 3 | |
1154 | LEWG | 29.5 [complex.numbers] | complex should accept integral types | Yes | ||
1217 | LEWG | 29.5 [complex.numbers] | Quaternion support | No | ||
2714 | New | 29.5.6 [complex.ops] | complex stream extraction underspecified | Yes | 3 | |
2846 | New | 29.5.9 [cmplx.over] | Undefined phrase "effectively cast" | No | 3 | |
2154 | New | 29.6.1.3 [rand.req.urng] | What exactly does compile-time complexity imply? | No | 4 | |
1235 | LEWG | 29.6.1.6 [rand.req.dist] | Issue with C++0x random number proposal | No | ||
2352 | New | 29.6.7.1 [rand.util.seedseq] | Is a default-constructed std::seed_seq intended to produce a predictable .generate()? | No | 2 | |
2524 | Open | 29.6.8.4.2 [rand.dist.pois.exp] | generate_canonical can occasionally return 1.0 | No | 2 | |
2423 | New | 29.7.5 [template.slice.array] | Missing specification slice_array, gslice_array, mask_array, indirect_array copy constructor | Yes | 4 | |
2115 | Open | 29.7.8 [template.mask.array] | Undefined behaviour for valarray assignments with mask_array index? | No | 4 | |
3060 | New | 29.8.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 | ||
2923 | New | 29.9.1 [cmath.syn] | noexcept is inconsistently applied across headers which import components of the C standard library | No | 4 | |
2847 | New | 29.9.1 [cmath.syn] | sin(float) should call sinf(float) | No | 3 | |
3093 | New | 29.9.2 [c.math.abs] | LWG 2294/2192 missed a std::abs overload | No | ||
3066 | New | 29.9.5 [sf.cmath] | "report a domain error" in [sf.cmath]/1 is underspecified | No |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
423 | LEWG | 30 [input.output] | effects of negative streamsize in iostreams | Yes | ||
2600 | LEWG | 30.5.3.5 [ios.base.storage] | ios_base must store inaccessible iostate flags | No | ||
2675 | New | 30.5.3.6 [ios.base.callback] | register_callback can fail | No | 3 | |
2808 | New | 30.5.4.2 [fpos.operations] | Requirements for fpos and stateT | No | 4 | |
2832 | New | 30.5.4.2 [fpos.operations] | §[fpos.operations] strange requirement for P(i) | No | 3 | |
2214 | Open | 30.5.5.2 [basic.ios.cons] | Clarify basic_ios::init call restrictions | Yes | 4 | |
2504 | New | 30.6.3 [streambuf] | basic_streambuf is not an abstract class | No | 3 | |
2349 | Open | 30.7.4.2.1 [istream.formatted.reqmts] | Clarify input/output function rethrow behavior | Yes | 3 | |
2499 | Open | 30.7.4.2.3 [istream.extractors] | operator>>(basic_istream&, CharT*) makes it hard to avoid buffer overflows | Yes | 2 | |
2498 | New | 30.7.4.5 [istream.rvalue] | operator>>(basic_istream&&, T&&) returns basic_istream&, but should probably return basic_istream&& | No | 3 | |
2342 | New | 30.7.5.1 [ostream] | User conversion to wchar_t const* or to wchar_t not invoked for operator<< | Yes | 4 | |
2497 | New | 30.7.5.1.3 [ostream::sentry] | Use of uncaught_exception() | No | 3 | |
1203 | LEWG | 30.7.5.5 [ostream.rvalue] | More useful rvalue stream insertion | Yes | ||
2984 | New | 30.7.7 [ext.manip] | put_money(99) is unnecessarily undefined | Yes | 3 | |
3006 | New | 30.8.2.1 [stringbuf.cons] | Constructing a basic_stringbuf from a string — where does the allocator come from? | No | 3 | |
2995 | New | 30.8.2.1 [stringbuf.cons] | basic_stringbuf default constructor forbids it from using SSO capacity | Yes | 3 | |
3097 | New | 30.8.2.4 [stringbuf.virtuals] | basic_stringbuf seekoff effects trigger undefined behavior and have contradictory returns | No | 3 | |
2286 | New | 30.8.2.4 [stringbuf.virtuals] | stringbuf::underflow() underspecified | Yes | 4 | |
2121 | New | 30.8.5.1 [stringstream.cons] | app for string streams | No | 3 | |
2943 | Open | 30.9.2.3 [filebuf.members] | Problematic specification of the wide version of basic_filebuf::open | Yes | 2 | |
1150 | LEWG | 30.9.5 [fstream] | wchar_t, char16_t and char32_t filenames | No | ||
3055 | New | 30.11.7.4.4 [fs.path.concat] | path::operator+=(single-character) misspecified | Yes | ||
2936 | Review | 30.11.7.4.8 [fs.path.compare] | Path comparison is defined in terms of the generic format | Yes | 2 | |
3098 | New | 30.11.7.4.9 [fs.path.decompose] | Misleading example for filesystem::path::filename() | Yes | ||
3096 | New | 30.11.7.4.11 [fs.path.gen] | path::lexically_relative is confused by trailing slashes | Yes | ||
3070 | New | 30.11.7.4.11 [fs.path.gen] | path::lexically_relative causes surprising results if a filename can also be a root-name | Yes | ||
3065 | New | 30.11.7.7 [fs.path.nonmember] | LWG 2989 missed that all path's other operators should be hidden friends as well | Yes | 2 | |
2947 | New | 30.11.9.1 [fs.enum.path.format] | Clarify several filesystem terms | No | 3 | |
3078 | New | 30.11.11 [fs.class.directory_entry] | directory_entry, directory_iterator and recursive_directory_iterator perform needless path copies | No | 3 | |
2840 | Open | 30.11.12.1 [fs.dir.itr.members] | directory_iterator::increment is seemingly narrow-contract but marked noexcept | Yes | 2 | |
2708 | Review | 30.11.13.1 [fs.rec.dir.itr.members] | recursive_directory_iterator::recursion_pending() is incorrectly specified | Yes | 2 | |
2682 | Review | 30.11.14.3 [fs.op.copy] | filesystem::copy() won't create a symlink to a directory |
Yes | 2 | |
3057 | New | 30.11.14.3 [fs.op.copy] | Correct copy_options handling | Yes | ||
3056 | New | 30.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 | 31 [re] | <regex> needs lots of noexcept | No | 3 | |
523 | LEWG | 31 [re] | regex case-insensitive character ranges are unimplementable as specified | No | ||
2431 | New | 31.3 [re.req] | Missing regular expression traits requirements | No | 3 | |
2331 | Open | 31.5.1 [re.synopt] | regex_constants::collate's effects are inaccurately summarized | Yes | 3 | |
2338 | Open | 31.7 [re.traits] | §[re.traits]/7 expects of locale facets something not guaranteed by [locale.facet]/4 | Yes | 3 | |
1396 | LEWG | 31.8 [re.regex] | regex should support allocators | No | 1451 | |
2137 | Open | 31.8.2 [re.regex.assign] | Misleadingly constrained post-condition in the presence of exceptions | Yes | 3 | |
2195 | Open | 31.10 [re.results] | Missing constructors for match_results | Yes | 3 | |
2183 | New | 31.10.1 [re.results.const] | Muddled allocator requirements for match_results constructors | No | 3 | |
2184 | New | 31.10.1 [re.results.const] | Muddled allocator requirements for match_results assignments | No | 3 | |
2191 | New | 31.10.1 [re.results.const] | Incorrect specification of match_results(match_results&&) | No | 4 | |
2216 | New | 31.11.4 [re.alg.replace] | regex_replace(basic_string) allocator handling | No | 3 | |
2220 | New | 31.12.2.2 [re.tokiter.comp] | Under-specification of operator== for regex_token_iterator | No | 2 | |
2986 | New | 31.13 [re.grammar] | Handling of multi-character collating elements by the regex FSM is underspecified | No | 4 | |
2987 | New | 31.13 [re.grammar] | Relationship between traits_inst.lookup_collatename and the regex FSM is underspecified with regards to ClassAtomCollatingElement | No | 3 | |
2546 | New | 31.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 |
2236 | SG1 | 32.2 [atomics.syn] | kill_dependency unconditionally noexcept | No | ||
2265 | Open | 32.4 [atomics.order] | 29.3p9 appears to rule out some acceptable executions | No | 4 | |
1459 | LEWG | 32.4 [atomics.order] | Overlapping evaluations are allowed | No | 1458 | |
3012 | Open | 32.6 [atomics.types.generic] | atomic<T> is unimplementable for non-is_trivially_copy_constructible T | Yes | 2 | |
2334 | SG1 | 32.6.1 [atomics.types.operations] | atomic's default constructor requires "uninitialized" state even for types with non-trivial default-constructor | Yes | ||
3047 | New | 32.6.2 [atomics.types.int] | atomic compound assignment operators can cause undefined behavior when corresponding fetch_meow members don't | No | 3 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2819 | New | 33.2.5 [thread.req.lockable] | Unspecified Return type: elements | No | 3 | |
2999 | New | 33.2.6 [thread.decaycopy] | §[thread.decaycopy] issue | No | 3 | |
1484 | LEWG | 33.3.2 [thread.thread.class] | Need a way to join a thread with a timeout | No | ||
1488 | LEWG | 33.4 [thread.mutex] | Improve interoperability between the C++0x and C1x threads APIs | No | ||
936 | LEWG | 33.4.3 [thread.mutex.requirements] | Mutex type overspecified | No | 961 | |
961 | LEWG | 33.4.3 [thread.mutex.requirements] | Various threading bugs #11 | No | 936 | |
1493 | LEWG | 33.4.3 [thread.mutex.requirements] | Add mutex, recursive_mutex, is_locked function | No | ||
2363 | Open | 33.4.3.5.1 [thread.sharedtimedmutex.class] | Defect in 30.4.1.4.1 [thread.sharedtimedmutex.class] | Yes | 2 | |
2731 | Open | 33.4.4.1 [thread.lock.guard] | Existence of lock_guard<MutexTypes...>::mutex_type typedef unclear | Yes | 3 | |
1499 | LEWG | 33.5 [thread.condition] | Condition variables preclude wakeup optimization | No | ||
2530 | Open | 33.6.5 [futures.state] | Clarify observable side effects of releasing a shared state | No | 3 | |
2412 | Review | 33.6.6 [futures.promise] | promise::set_value() and promise::get_future() should not race | Yes | ||
3003 | Open | 33.6.6 [futures.promise] | <future> still has type-erased allocators in promise | Yes | 2 | |
2532 | Open | 33.6.6 [futures.promise] | Satisfying a promise at thread exit | Yes | 3 | |
2095 | LEWG | 33.6.6 [futures.promise] | promise and packaged_task missing constructors needed for uses-allocator construction | Yes | 4 | |
2202 | Deferred | 33.6.9 [futures.async] | Missing allocator support by async | No | 4 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
1052 | LEWG | 99 [reverse.iter.opref] | reverse_iterator::operator-> should also support smart pointers | Yes | 2775 |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
3109 | New | D.7.2 [depr.strstreambuf] | strstreambuf is copyable | No | ||
3095 | New | D.7.2.3 [depr.strstreambuf.virtuals] | strstreambuf refers to nonexistent member of fpos, fpos::offset | Yes | ||
2507 | New | D.18 [depr.locale.stdcvt] | codecvt_mode should be a bitmask type | No | 3 | |
2478 | New | D.19.1 [depr.conversions.string] | Unclear how wstring_convert uses cvtstate | No | 4 | |
2481 | New | D.19.1 [depr.conversions.string] | wstring_convert should be more precise regarding "byte-error string" etc. | No | 4 | |
2226 | LEWG | D.19.1 [depr.conversions.string] | wstring_convert methods do not take allocator instance | Yes | ||
2479 | New | D.19.2 [depr.conversions.buffer] | Unclear how wbuffer_convert uses cvtstate | No | 4 | |
2480 | New | D.19.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 |
2697 | Review | 99 [concurr.ts::futures.unique_future] | [concurr.ts] Behavior of future/shared_future unwrapping constructor when given an invalid future | Yes | 2 | |
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 | 99 [fund.ts.v2::func.wrap.func] | [fund.ts.v2] std::experimental::function constructors taking allocator arguments may throw exceptions | Yes | 3 | |
2814 | LEWG | 99 [fund.ts.v2::func.wrap.func.con] | [fund.ts.v2] to_array should take rvalue reference as well | Yes | 3 | |
2960 | New | 99 [fund.ts.v2::meta] | [fund.ts.v2] nonesuch is insufficiently useless | Yes | 2 | |
2561 | New | 99 [fund.ts.v2::optional.object.swap] | [fund.ts.v2] Incorrect exception specifications for 'swap' in C++ Extensions for Library Fundamentals | No | 3 | |
2417 | LEWG | 99 [fund.ts.v2::optional.relops] | [fund.ts.v2] std::experimental::optional::operator< and LessThanComparable requirement | No |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
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 | ||
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 |