T1
is convertible to T2
No 3 2949(i) New 16 [library] Unclear complexity requirements: space vs. time No 4 3538(i) New 16.2 [library.c] §[library.c] C library functions are not addressable No 2 2136(i) Open 16.3.2 [structure] Postconditions vs. exceptions Yes 3 3556(i) New 16.3.2.3 [structure.requirements] Specification of when semantic constraints are imposed by use of concepts is unclear No 3 3193(i) New 16.3.2.4 [structure.specifications] Mandates: and Expects: elements are not defined for types Yes 3 3401(i) New 16.3.2.4 [structure.specifications] Is "as if by" equivalent to "equivalent to"? No 3 3977(i) New 16.3.3.3.3 [bitmask.types] constexpr
and noexcept
for operators for bitmask types Yes 3 3092(i) Open 16.3.3.3.3 [bitmask.types] Unclear semantics of enum class
bitmask types Yes 3 3620(i) New 16.3.3.3.4.1 [character.seq.general] What are execution character sets and execution wide-character sets (after P2314R4)? No 3 4049(i) New 16.4.2 [organization] C <foo.h>
headers not in freestanding Yes 3 3690(i) New 16.4.2.2 [contents] std::make_from_tuple
etc. should find all tuple-like std::get
overloads Yes 3 3240(i) New 16.4.3.2 [using.headers] Headers declare more than entities No 3 3640(i) New 16.4.4 [utility.requirements] Clarify which exceptions are propagated Yes 3 4075(i) SG1 16.4.4 [utility.requirements] Thread stability requirement on constructors and destructors No 3 2146(i) Open 16.4.4.2 [utility.arg.requirements] Are reference types CopyConstructible
/MoveConstructible
/CopyAssignable
/MoveAssignable
/Destructible
? No 3 2152(i) LEWG 16.4.4.3 [swappable.requirements] Instances of standard container types are not swappable Yes 3 4155(i) New 16.4.4.4 [nullablepointer.requirements] Cpp17NullablePointer should require that some expression can be contextually converted to bool Yes 3 3044(i) New 16.4.4.6 [allocator.requirements] Strange specification of max_size()
for an allocator Yes 3 3267(i) New 16.4.4.6 [allocator.requirements] Rebound allocators and is_always_equal
Yes 4 3157(i) New 16.4.4.6 [allocator.requirements] Allocator destroy
and fancy pointer operations must be non-throwing Yes 3 2461(i) New 16.4.4.6 [allocator.requirements] Interaction between allocators and container exception safety guarantees No 3 4258(i) New 16.4.4.6.1 [allocator.requirements.general] Size type mismatch in constraints involving Cpp17Allocator No 4128(i) New 16.4.4.6.1 [allocator.requirements.general] Allocator requirements should not allow rebinding conversions to be explicit Yes 3 4065(i) New 16.4.4.6.1 [allocator.requirements.general] Requirements for fancy pointers might be insufficient for self-referential implementation of containers Yes 3 3682(i) New 16.4.4.6.1 [allocator.requirements.general] A Cpp17Allocator type can't silently ignore an unsupported alignment No 3 4047(i) New 16.4.5.2.1 [namespace.std] Explicitly specifying template arguments for std::swap
should not be supported No 4 3926(i) New 16.4.5.2.1 [namespace.std] Which namespace std
is the mentioned one? Yes 4 3928(i) New 16.4.5.2.2 [namespace.posix] Non-top-level namespace posix
shouldn't be reserved Yes 3 3550(i) New 16.4.5.3 [reserved.names] Names reserved by C for standard library not reserved by C++ No 3 4149(i) New 16.4.5.3.3 [macro.names] User defined macros without standard headers (294 redux) Yes 4033(i) New 16.4.5.3.3 [macro.names] §[macro.names] defining macros after importing the standard library Yes 3 3920(i) New 16.4.5.3.4 [extern.names] Bad footnotes claiming external linkage for entities defined as macros No 3 3142(i) New 16.4.5.8 [res.on.functions] std::foo<incomplete>
should be ill-formed NDR Yes 3 3511(i) New 16.4.5.9 [res.on.arguments] Clarify global permission to move Yes 3 4068(i) New 16.4.5.11 [res.on.requirements] Terminology for objects whose types model a concept No 3429(i) New 16.4.5.11 [res.on.requirements] "models" should subsume like "satisfies" Yes 3 4100(i) New 16.4.6.4 [global.functions] Default arguments and signatures of standard library non-member functions Yes 3 2695(i) New 16.4.6.5 [member.functions] "As if" unclear in [member.functions] No 3 2414(i) Open 16.4.6.9 [reentrancy] Member function reentrancy should be implementation-defined Yes 3 4145(i) New 16.4.6.10 [res.on.data.races] Unclear how [res.on.data.races] apply to templated functions No 3 4129(i) New 16.4.6.10 [res.on.data.races] Possibly incorrect wording for data race avoidance Yes 4252(i) New 16.4.6.13 [derivation] Are exposition-only classes considered specified for the purpose of final
? Yes 3854(i) New 16.4.6.14 [res.on.exception.handling] §[res.on.exception.handling]/3 should not be applied to all standard library types No 3 3229(i) New 16.4.6.14 [res.on.exception.handling] §[res.on.exception.handling]#3 cannot apply to types with implicitly declared destructors Yes 3 Issue Status Section Title Proposed Resolution Priority Duplicates 4182(i) New 17.2.3 [support.types.nullptr] Definition of NULL
is too broad Yes 3 3217(i) New 17.3.1 [support.limits.general] <memory>
and <execution>
should define __cpp_lib_parallel_algorithm
Yes 3 4286(i) New 17.3.2 [version.syn] Some more feature-test macros for fully freestanding features are not marked freestanding Yes 3931(i) New 17.3.2 [version.syn] Too many paper bump __cpp_lib_ranges
Yes 3 2248(i) New 17.3.5 [numeric.limits] numeric_limits::is_iec559
misnamed No 4 2730(i) Open 17.3.5 [numeric.limits] numeric_limits
primary template definition No 3 3922(i) New 17.3.5.1 [numeric.limits.general] It's unclear whether numeric_limits
can be specialized by users Yes 3 3923(i) New 17.3.5.1 [numeric.limits.general] The specification of numeric_limits
doesn't clearly distinguish between implementation requirements and user requirements Yes 3 3370(i) New 17.4.1 [cstdint.syn] §[cstdint.syn]p2 and §[headers]p5 are not sufficiently clear No 3 3084(i) New 17.5 [support.start.term] Termination in C++ is unclear No 3 2815(i) New 17.5 [support.start.term] quick_exit
can deadlock Yes 3 3086(i) New 17.6.3.2 [new.delete.single] Possible problem in §[new.delete.single] Yes 3 2737(i) New 17.6.3.2 [new.delete.single] Consider relaxing object size restrictions for single-object allocation functions No 3 2303(i) New 17.6.3.4 [new.delete.placement] Explicit instantiation of std::vector<UserType>
broken? No 3 2508(i) New 17.6.3.5 [new.delete.dataraces] §[new.delete.dataraces] wording needs to be updated No 3 4130(i) Open 17.6.5 [ptr.launder] Preconditions for std::launder
might be overly strict Yes 3 3624(i) New 17.7 [support.rtti] Inconsistency of <typeinfo>
, <initializer_list>
, and <compare>
in the standard library Yes 3 2398(i) Open 17.7.3 [type.info] type_info
's destructor shouldn't be required to be virtual Yes 3 4207(i) New 17.8.2.2 [support.srcloc.cons] Point of reference for source_location
is not specified when used in an default template argument Yes 4087(i) SG16 17.9.3 [exception] Standard exception messages have unspecified encoding Yes 3 2453(i) New 17.11 [support.initlist] §[iterator.range] and now [iterator.container] aren't available via <initializer_list>
No 3 2493(i) New 17.11 [support.initlist] initializer_list
supports incomplete classes No 4 4051(i) New 17.12.2 [cmp.categories] A less hacky and more useful way to compare comparison category types Yes 3584(i) New 17.12.3 [cmp.common] Clarify common comparison category conversions Yes 3 3587(i) New 17.12.4 [cmp.concept] std::three_way_comparable_with<T, U, void>
can be satisfied but can't be modeled No 3 3932(i) New 17.12.6 [cmp.alg] Expression-equivalence is sometimes unimplementable when passing prvalue expressions to comparison CPOs No 3 3491(i) New 17.12.6 [cmp.alg] What is a "decayed type"? No 3 3653(i) New 17.13.2 [coroutine.syn] <coroutine>
is freestanding, but uses std::hash
which is not No 3 3945(i) New 17.14.2 [cstdarg.syn] §[cstdarg.syn] 'Compatible types' are undefined No 3 3954(i) New 17.15.1 [support.c.headers.general] Feature-test macros in C headers (<stddef.h>
etc.) No 3 3883(i) New 17.15.7 [support.c.headers.other] §[support.c.headers.other] Ambiguity in the requirements for includes Yes 4 3799(i) New 17.15.7 [support.c.headers.other] Should <math.h>
provide 3-argument ::hypot
overloads? No 3 3484(i) New 17.15.7 [support.c.headers.other] Should <stddef.h>
declare ::nullptr_t
? Yes 3 Issue Status Section Title Proposed Resolution Priority Duplicates 3895(i) New 18.3 [concepts.syn] Various relation concepts are missing default values of the second template parameters Yes 3 3608(i) New 18.4.4 [concept.convertible] convertible_to
and temporary-bound references No 3 3459(i) New 18.4.4 [concept.convertible] Why doesn't std::convertible_to
have semantic requirement when To
is reference-to-function type? No 3 4165(i) New 18.4.9 [concept.swappable] Should swapping a built-in array or std::array
with itself result in UB? No 3 4041(i) New 18.4.9 [concept.swappable] The requirements on literal type in [concept.swappable] should be removed Yes 4 Issue Status Section Title Proposed Resolution Priority Duplicates 3011(i) Open 19.3 [assertions] Requirements for assert(E)
inconsistent with C No 2 4156(i) SG16 19.5.3.2 [syserr.errcat.virtuals] error_category
messages have unspecified encoding Yes 3 3019(i) New 19.5.3.4 [syserr.errcat.derived] Presentation of "program defined classes derived from error_category
" [syserr.errcat.derived] unclear and contains mistakes No 3 3053(i) New 19.5.4.1 [syserr.errcode.overview] Prohibit error_code
construction from rvalues of error_category
Yes 3 3162(i) New 19.5.8.2 [syserr.syserr.members] system_error::system_error(error_code ec)
not explicit Yes 3 3625(i) New 19.6.2 [stacktrace.syn] Should <stacktrace>
provide range access function templates? Yes 3 3507(i) Open 19.6.3.4 [stacktrace.entry.query] P0881R7 ("stacktrace") does not define "actual file name", "actual line number" No 2 3626(i) New 19.6.4.1 [stacktrace.basic.overview] Is std::basic_stacktrace
required to use contiguous storage? Yes 3 Issue Status Section Title Proposed Resolution Priority Duplicates 3454(i) Open 20.2.3 [pointer.traits] pointer_traits::pointer_to
should be constexpr
Yes 4058(i) New 20.2.4 [pointer.conversion] std::to_address()
should be SFINAE-friendly Yes 4290(i) New 20.2.5 [ptr.align] Missing Mandates clauses on is_sufficiently_aligned
Yes 2421(i) New 20.2.5 [ptr.align] Non-specification of handling zero size in std::align
[ptr.align] No 3 4283(i) New 20.2.6 [obj.lifetime] std::trivially_relocate
needs stronger preconditions on "nested" objects with dynamic lifetime Yes 4282(i) New 20.2.6 [obj.lifetime] Imprecise Throws: clause in std::relocate
Yes 4168(i) New 20.2.6 [obj.lifetime] std::start_lifetime_as
inadvertently has undefined behavior due to use of std::bit_cast
Yes 3192(i) New 20.2.8.2 [allocator.uses.construction] §[allocator.uses.construction] functions misbehave for const
types Yes 3 3665(i) New 20.2.9.2 [allocator.traits.types] Is std::allocator_traits<Alloc>::rebind_alloc
SFINAE-friendly? No 3 3916(i) New 20.2.10 [default.allocator] allocator
, polymorphic_allocator
, and containers should forbid cv-qualified types No 3 3917(i) New 20.2.10 [default.allocator] Validity of allocator<void>
and possibly polymorphic_allocator<void>
should be clarified Yes 3 3684(i) New 20.2.10.2 [allocator.members] std::allocator<T>::allocate_at_least
in constant evaluation Yes 3 3159(i) New 20.3.1.3 [unique.ptr.single] §[unique.ptr.single] requirements on deleter may be too strict No 3 2262(i) Open 20.3.1.3 [unique.ptr.single] Requirement for unique_ptr<T>::get_deleter()(p)
to be able to destroy the unique_ptr
Yes 3 3911(i) New 20.3.1.3.5 [unique.ptr.single.observers] unique_ptr
's operator*
is missing a mandate Yes 3 2594(i) New 20.3.2.2 [util.smartptr.shared] Contradicting definition of empty shared_ptr
on shared_ptr(nullptr, d)
Yes 3 4110(i) New 20.3.2.2.2 [util.smartptr.shared.const] shared_ptr(nullptr_t, Deleter)
is overconstrained, breaking some sensible deleters Yes 4032(i) New 20.3.2.2.2 [util.smartptr.shared.const] Possibly invalid types in the constraints of constructors of std::shared_ptr
Yes 4 2906(i) New 20.3.2.2.2 [util.smartptr.shared.const] There is no ability to supply an allocator for the control block when constructing a shared_ptr
from a unique_ptr
No 3 2751(i) New 20.3.2.2.3 [util.smartptr.shared.dest] shared_ptr
deleter not specified to observe expired weak_ptr
instances No 4 3210(i) New 20.3.2.2.7 [util.smartptr.shared.create] allocate_shared
is inconsistent about removing const
from the pointer passed to allocator construct
and destroy
Yes 3 4251(i) New 20.4.1.5 [indirect.asgn] Move assignment for indirect
unnecessarily requires copy construction Yes 1 4250(i) New 20.4.1.7 [indirect.swap] swap
overloads for indirect
and polymorphic
only found by ADL Yes 3681(i) New 20.5.1 [mem.res.syn] Further considerations on LWG 3679 No 4 3637(i) New 20.5.2 [mem.res.class] pmr::memory_resource::do_allocate
needs clarification No 3 3634(i) New 20.5.4 [mem.res.global] When are static-duration memory_resource
objects destroyed? No 3 2848(i) New 20.5.5.2 [mem.res.pool.options] Pass-through threshold for pool allocator No 3 Issue Status Section Title Proposed Resolution Priority Duplicates 2290(i) Open 21 [meta] Top-level "SFINAE"-based constraints should get a separate definition in Clause 17 Yes 3 2452(i) Core 21 [meta] is_constructible
, etc. and default arguments No 3 2845(i) New 21.3.2 [meta.rqmts] enable_if
, result_of
, common_type
and aligned_storage
do not meet the definition of TransformationTrait
No 3 2939(i) Open 21.3.3 [meta.type.synop] Some type-completeness constraints of traits are overspecified Yes 2 3099(i) Open 21.3.3 [meta.type.synop] is_assignable<Incomplete&, Incomplete&>
Yes 2 2922(i) LEWG 21.3.3 [meta.type.synop] The *_constant<>
templates do not make use of template<auto>
No 3967(i) New 21.3.5.4 [meta.unary.prop] The specification for std::is_nothrow_*
traits may be ambiguous in some cases involving noexcept(false)
No 3929(i) New 21.3.5.4 [meta.unary.prop] Preconditions for type traits should be Mandates Yes 3 2827(i) New 21.3.5.4 [meta.unary.prop] is_trivially_constructible
and non-trivial destructors No 3 3697(i) New 21.3.5.4 [meta.unary.prop] Preconditions of reference_constructs_from_temporary/reference_converts_from_temporary
seem wrong Yes 3 2496(i) New 21.3.5.4 [meta.unary.prop] Certain hard-to-avoid errors not in the immediate context are not allowed to be triggered by the evaluation of type traits No 3 2116(i) Open 21.3.5.4 [meta.unary.prop] is_nothrow_constructible
and destructors No 3 2358(i) Open 21.3.5.4 [meta.unary.prop] Apparently-bogus definition of is_empty
type trait Yes 3 2077(i) Open 21.3.5.4 [meta.unary.prop] Further incomplete constraints for type traits No 3 3486(i) LEWG 21.3.5.4 [meta.unary.prop] is_constructible<T[], T...>
may be misleading in C++20 No 3400(i) New 21.3.7 [meta.rel] Does is_nothrow_convertible
consider destruction of the destination type? No 3 4028(i) New 21.3.7 [meta.rel] std::is_(nothrow_)convertible
should be reworded to avoid dependence on the return
statement Yes 3174(i) New 21.3.7 [meta.rel] Precondition on is_convertible
is too strong Yes 3 3205(i) New 21.3.8.7 [meta.trans.other] decay_t
in the new common_type
fallback should be remove_cvref_t
Yes 3 4138(i) New 21.3.11 [meta.const.eval] is_within_lifetime
should mandate is_object
Yes Issue Status Section Title Proposed Resolution Priority Duplicates 2153(i) LEWG 22.2.2 [utility.swap] Narrowing of the non-member swap
contract No 2 3902(i) New 22.2.6 [declval] Return type of std::declval<cv void>
should be (cv-unqualified) void
Yes 4 2599(i) New 22.2.6 [declval] Library incomplete type permission phrase is unclear No 3 3342(i) New 22.3.2 [pairs.pair] Library wording uses "initializes x
with y
", which is underspecified No 3 2289(i) Open 22.3.2 [pairs.pair] constexpr
guarantees of defaulted functions still insufficient No 3 2766(i) New 22.3.3 [pairs.spec] Swapping non-swappable types Yes 3 3166(i) New 22.3.4 [pair.astuple] No such descriptive element as Value: No 3 3378(i) New 22.4.2 [tuple.syn] tuple_size_v/tuple_element_t
should be available when tuple_size/tuple_element
are Yes 3 4267(i) New 22.4.4.2 [tuple.cnstr] Uses-allocator construction is meaningless for tuple of references Yes 3583(i) New 22.4.4.2 [tuple.cnstr] Clarify if/when short circuiting applies to conditions in Constraints: elements No 3 2528(i) New 22.4.4.2 [tuple.cnstr] Order of std::tuple
construction unspecified No 3 4040(i) New 22.4.7 [tuple.helper] Contradictory specification of std::tuple_size
No 3 3882(i) New 22.4.9 [tuple.rel] tuple
relational operators have confused friendships Yes 3 3728(i) New 22.4.9 [tuple.rel] Can't make neither head nor tail of the description of operator<=>(tuple, tuple)
Yes 4 2472(i) New 22.4.9 [tuple.rel] Heterogeneous comparisons in the standard library can result in ambiguities No 3 532(i) LEWG 22.4.9 [tuple.rel] Tuple comparison Yes 348 2990(i) Open 22.5.3 [optional.optional] optional::value_type
is not always a value type Yes 3 2811(i) New 22.5.3.2 [optional.ctor] "Selected constructor" wording is incorrect for optional
/variant
/any
Yes 3 2746(i) New 22.5.3.4 [optional.assign] Inconsistency between requirements for emplace
between optional
and variant
Yes 3 4281(i) New 22.5.3.7 [optional.observe] Inconsistency between value_or()
and error_or()
in std::expected
No 3424(i) New 22.5.3.7 [optional.observe] optional::value_or
should never return a cv-qualified type Yes 3 2829(i) Open 22.5.3.7 [optional.observe] LWG 2740 leaves behind vacuous words No 2 4015(i) Open 22.5.3.8 [optional.monadic] LWG 3973 broke const
overloads of std::optional
monadic operations Yes 1 3613(i) New 22.5.4 [optional.nullopt] Specify that nullopt_t
is copyable Yes 3 3627(i) New 22.5.9 [optional.specalg] Inconsistent specifications for std::make_optional
overloads Yes 3 2881(i) New 22.6.3 [variant.variant] Adopt section III of P0308R0 No 3 3215(i) New 22.6.3.2 [variant.ctor] variant
default constructor has vague constexpr
requirements No 2 2991(i) Open 22.6.3.2 [variant.ctor] variant
copy constructor missing noexcept(see below)
Yes 2833(i) Open 22.6.3.2 [variant.ctor] Library needs to specify what it means when it declares a function constexpr
Yes 2 3991(i) New 22.6.3.4 [variant.assign] variant
's move assignment should not be guaranteed to produce a valueless by exception state Yes 3 3069(i) New 22.6.3.4 [variant.assign] Move assigning variant
's subobject corrupts data Yes 3 4197(i) New 22.6.7 [variant.visit] Complexity of std::visit
with immediate functions Yes 2 3416(i) New 22.7.4 [any.class] The Throws: specification of std::any
does not mention allocation No 3 3423(i) New 22.7.5 [any.nonmembers] std::any_cast
should never return a cv-qualified type Yes 3 3688(i) New 22.8.4 [expected.bad] Exception specifications of copy/move member functions of std::bad_expected_access
No 2 3891(i) New 22.8.6.1 [expected.object.general] LWG 3870 breaks std::expected<cv T, E>
Yes 2 4195(i) New 22.8.6.4 [expected.object.assign] expected<int, int>
isn't specified to be trivially assignable Yes 2 4026(i) New 22.8.6.4 [expected.object.assign] Assignment operators of std::expected
should propagate triviality Yes 2 4187(i) New 22.9.2 [template.bitset] bitset::reference
should be const-assignable Yes 3 2348(i) Open 22.9.2 [template.bitset] charT('1')
is not the wide equivalent of '1'
Yes 3 4294(i) New 22.9.2.2 [bitset.cons] bitset(const CharT*)
constructor needs to be constrained Yes 3805(i) New 22.10 [function.objects] Expression evaluating to a call wrapper is a prvalue, not an object No 4 4268(i) New 22.10.4 [func.require] function<void()>
suppresses nodiscard
warnings No 4007(i) New 22.10.4 [func.require] Mystic prohibition of calling a volatile
-qualified perfect forwarding call wrapper Yes 3 3046(i) New 22.10.6 [refwrap] Do not require reference_wrapper
to support non-referenceable function types Yes 3 2491(i) New 22.10.8 [comparisons] std::less<T*>
in constant expression Yes 3 2547(i) New 22.10.8 [comparisons] Container requirements (and other library text) should say "strict total order", not just "total order" No 3 3979(i) New 22.10.13 [func.not.fn] Should we reject std::bind_front<42>()
and its friends? Yes 4 4264(i) New 22.10.17.1 [func.wrap.general] Skipping indirection is not allowed for function_ref
Yes 3493(i) New 22.10.17.3.2 [func.wrap.func.con] The constructor of std::function
taking an F
is missing a constraint Yes 3 4255(i) New 22.10.17.4.3 [func.wrap.move.ctor] move_only_function
constructor should recognize empty copyable_function
s Yes 3680(i) New 22.10.17.4.3 [func.wrap.move.ctor] Constructor of move_only_function
with empty ref
-qualifier is over-constrained Yes 2 3642(i) New 22.10.17.4.3 [func.wrap.move.ctor] move_only_function
assignment operators seem to be defined suboptimal Yes 3 4256(i) New 22.10.17.6.3 [func.wrap.ref.ctor] Incorrect constrains for function_ref
constructors from nontype_t
Yes 4127(i) New 22.10.18.3 [func.search.bm] The Standard Library should not use predicates of the form pred(*i) != false
Yes 3 3512(i) New 22.10.19 [unord.hash] Incorrect exception safety guarantee for unordered containers No 3 3968(i) New 22.11.8 [bit.endian] std::endian::native
value should be more specific about object representations Yes 4 Issue Status Section Title Proposed Resolution Priority Duplicates 4173(i) New 23 [containers] Better term for "references, pointers and iterators to elements" No 4 4176(i) New 23 [containers] Refer back to container requirements when extending them No 4 2307(i) LEWG 23 [containers] Should the Standard Library use explicit
only when necessary? No 2 2885(i) LEWG 23 [containers] The relational operators of optional
and variant
completely reflect the semantics of the element types — this is inconsistent with other types in the library No 2884(i) LEWG 23 [containers] Relational operators for containers should sfinae; if the underlying type is not comparable, neither should the container be No 3059(i) New 23.2 [container.requirements] Wrong requirements for map-like associative container assignment? No 3 2269(i) New 23.2.2 [container.requirements.general] Container iterators and argument-dependent lookup No 4 2321(i) Open 23.2.2 [container.requirements.general] Moving containers should (usually) be required to preserve iterators Yes 3 1521(i) Open 23.2.2 [container.requirements.general] Requirements on internal pointer representations in containers Yes 3 3976(i) New 23.2.2.5 [container.alloc.reqmts] What does it mean for a type to be "allocator aware"? No 3297(i) New 23.2.4 [sequence.reqmts] Useless sequence container requirement Yes 3 2705(i) New 23.2.4 [sequence.reqmts] Questionable precondition on Sequence containers a.assign(n, t)
Yes 3 2206(i) Open 23.2.4 [sequence.reqmts] Inaccuracy in initializer_list
constructor requirements Yes 3 4159(i) New 23.2.5 [container.node] Uses-allocator construction mechanisms should be opted out for node handles Yes 3 3438(i) New 23.2.5.1 [container.node.overview] §[container.node.overview] missing multiset
/map
cases No 3 3227(i) New 23.2.7 [associative.reqmts] Ambiguity issue for extract
in ordered and unordered associative containers Yes 3 2362(i) New 23.2.7 [associative.reqmts] unique, associative emplace()
should not move/copy the mapped_type
constructor arguments when no insertion happens No 3 2844(i) Open 23.2.7 [associative.reqmts] Stability of a_uniq.insert(i, j)
No 3 2227(i) Open 23.2.7 [associative.reqmts] Stateful comparison objects in associative containers No 3 2215(i) Open 23.2.7 [associative.reqmts] (unordered) associative container functors should be CopyConstructible
Yes 3 4132(i) New 23.2.7.1 [associative.reqmts.general] Throws specifications need to include boolean-testable
operations Yes 3 3577(i) New 23.2.7.1 [associative.reqmts.general] Merging an (unordered) associative container with itself No 3 3691(i) New 23.2.7.1 [associative.reqmts.general] Replacement of keys in associative containers Yes 3 4046(i) New 23.2.7.2 [associative.reqmts.except] Effects of inserting into or erasing from flat container adaptors when an exception is thrown need to be more permissive No 2 1175(i) Open 23.2.8 [unord.req] unordered
complexity Yes 3 2198(i) Open 23.2.8 [unord.req] max_load_factor(z)
makes no strong guarantees, but bans useful behavior Yes 3 2189(i) Open 23.2.8.2 [unord.req.except] Throwing swap
breaks unordered containers' state No 3 617(i) Open 23.3.3 [array] std::array
is a sequence that doesn't satisfy the sequence requirements? No 3 3219(i) New 23.3.3.1 [array.overview] std::array
overview container requirements are incorrect Yes 3 2823(i) Open 23.3.3.1 [array.overview] std::array
initialization is still not permissive enough Yes 3 3488(i) Open 23.3.3.4 [array.special] Is array<const int, 0>
swappable or not? Yes 3 4276(i) New 23.3.3.5 [array.zero] front()
and back()
are not hardened for zero-length std::array
s Yes 2157(i) Open 23.3.3.5 [array.zero] How does std::array<T,0>
initialization work when T
is not default-constructible? Yes 3 4225(i) New 23.3.5.3 [deque.capacity] What should happen when an exception is thrown on resizing std::deque
, std::forward_list
, or std::list
? No 4123(i) New 23.3.5.4 [deque.modifiers] Container effects use "the assignment operator or move assignment operator" Yes 3 3308(i) New 23.3.5.4 [deque.modifiers] vector
and deque
iterator erase
invalidates elements even when no change occurs Yes 3 3758(i) New 23.3.13.3 [vector.capacity] Element-relocating operations of std::vector
and std::deque
should conditionally require Cpp17CopyInsertable in their preconditions No 3 2158(i) Open 23.3.13.3 [vector.capacity] Conditional copy/move in std::vector
Yes 3 1102(i) Open 23.3.13.3 [vector.capacity] std::vector
's reallocation policy still unclear Yes 3 4219(i) New 23.3.13.6 [vector.erasure] std::vector::erase[_if]
should be based on ranges remove
Yes 3638(i) New 23.3.14 [vector.bool] vector<bool>::swap(reference, reference)
is useless Yes 3 1422(i) Open 23.3.14 [vector.bool] vector<bool>
iterators are not random access No 3 4228(i) Tentatively NAD 23.3.14.1 [vector.bool.pspc] Does vector<bool, Allocator>
mandate that Allocator::value_type
is bool
? No 4122(i) New 23.3.16.1 [inplace.vector.overview] Ill-formed operator<=>
can cause hard error when instantiating std::inplace_vector
Yes 2 4151(i) New 23.3.16.5 [inplace.vector.modifiers] Precondition of inplace_vector::swap
Yes 2 4223(i) New 23.4.1 [associative.general] Deduction guides for maps are mishandling tuples and references Yes 4291(i) New 23.4.3.1 [map.overview] explicit map(const Allocator&)
should be constexpr
Yes 3531(i) New 23.4.3.1 [map.overview] LWG 3025 broke previous valid code Yes 3 2713(i) New 23.5 [unord] More missing allocator-extended constructors for unordered containers Yes 3 4292(i) New 23.5.3.1 [unord.map.overview] Unordered container local iterators should be constexpr iterators Yes 3189(i) New 23.6.4 [priority.queue] Missing requirement for std::priority_queue
No 3 3161(i) Open 23.6.6 [stack] Container adapters mandate use of emplace_back
but don't require it Yes 3 3959(i) New 23.6.8 [flat.map] Should the comparator of std::flat_map
/std::flat_multimap
be copied twice in some operations? No 3802(i) New 23.6.8 [flat.map] flat_foo
allocator-extended constructors lack move semantics No 2 3804(i) New 23.6.8 [flat.map] flat_foo
missing some allocator-extended deduction guides No 2 3966(i) New 23.6.8.1 [flat.map.overview] The value_type
and reference
members of std::flat_(multi)map::(const_)iterator
are unclear No 3 3963(i) New 23.6.8.2 [flat.map.defn] Different std::flat_map
/std::flat_multimap
specializations should be able to share same nested classes Yes 3 4000(i) New 23.6.8.7 [flat.map.modifiers] flat_map::insert_range
's Effects is not quite right Yes 3 4048(i) New 23.6.11 [flat.set] Inconsistent preconditions for transparent insertion of std::flat_map/std::flat_set
Yes 2 4180(i) New 23.6.12.5 [flat.multiset.modifiers] Inconsistent constraints on flat_foo::emplace
Yes 3 3813(i) New 23.7.2.2.1 [span.overview] std::span<volatile T, E>
is made ill-formed by P2278R4 when T
is a normal class type Yes 2 4293(i) New 23.7.2.2.4 [span.sub] span::subspan/first/last chooses wrong constructor when T is const-qualified bool Yes 3995(i) New 23.7.3 [views.multidim] Issue with custom index conversion in <mdspan>
No 3 4275(i) New 23.7.3.2 [mdspan.syn] std::dynamic_extent
should also be defined in <mdspan>
Yes 4020(i) New 23.7.3.3.2 [mdspan.extents.expo] extents::index-cast
weirdness Yes 4272(i) New 23.7.3.4 [mdspan.layout] For rank == 0
, layout_stride
is atypically convertible Yes 2 4266(i) Tentatively Ready 23.7.3.4.7 [mdspan.layout.stride] layout_stride::mapping
should treat empty mappings as exhaustive Yes 4021(i) New 23.7.3.6.1 [mdspan.mdspan.overview] mdspan::is_always_meow()
should be noexcept
Yes Issue Status Section Title Proposed Resolution Priority Duplicates 3952(i) New 24.2 [iterator.synopsis] iter_common_reference_t
does not conform to the definition of indirectly_readable
Yes 3 1213(i) Open 24.3 [iterator.requirements] Meaning of valid and singular iterator underspecified No 4 4271(i) New 24.3.1 [iterator.requirements.general] Caching range views claim amortized amortized 𝒪(1) runtime complexity for algorithms that are in fact 𝒪(n) Yes 4080(i) New 24.3.2 [iterator.assoc.types] Presumed value and difference types of an iterator type in ranges and non-ranges algorithms No 3 3838(i) New 24.3.2.1 [incrementable.traits] The last specialization of incrementable_traits
is under-constrained Yes 3 3615(i) New 24.3.2.1 [incrementable.traits] The last specialization of incrementable_traits
has wrong operand types Yes 3 3287(i) New 24.3.2.3 [iterator.traits] Exposition-only cpp17-input-iterator
concept is needlessly complex Yes 3 3890(i) New 24.3.4.4 [iterator.concept.winc] ABI issue for integer-class types Yes 3 3716(i) New 24.3.4.11 [iterator.concept.forward] §[iterator.concept.forward][forward.iterators] Two different definitions of multi-pass guarantee No 3 484(i) Open 24.3.5.3 [input.iterators] Convertible to T
No 3 2962(i) Open 24.3.5.3 [input.iterators] Iterators of Containers of move-only types do not model InputIterator
Yes 2 2035(i) Open 24.3.5.4 [output.iterators] Output iterator requirements are broken Yes 3 2038(i) Open 24.3.5.4 [output.iterators] Missing definition for incrementable
iterator No 3 4171(i) New 24.3.6.3 [indirectcallable.indirectinvocable] P2609R3 breaks code that uses views::zip
and get<T>
No 4270(i) New 24.3.6.4 [projected] Diagnose misuse of std::projected::operator*
Yes 3197(i) New 24.4.3 [iterator.operations] std::prev
should not require BidirectionalIterator
Yes 3 4055(i) New 24.4.3 [iterator.operations] §[iterator.operations] std::distance
is missing a precondition Yes 4 3439(i) New 24.4.3 [iterator.operations] "Distance
" template parameter is underspecified No 3 3344(i) New 24.4.3 [iterator.operations] advance(i, most-negative)
and prev(i, most-negative)
Yes 3 2931(i) Open 24.4.3 [iterator.operations] Missed optimization opportunity with single-argument std::next
No 3 2858(i) New 24.5.1 [reverse.iterators] LWG 2472: actually an incompatibility with C++03 Yes 4 3623(i) New 24.5.1.1 [reverse.iterators.general] Uses of std::reverse_iterator
with containers should not require manually including <iterator>
Yes 3 2595(i) New 24.5.1.2 [reverse.iterator] reverse_iterator::operator[]
's return type revisited Yes 3 3602(i) New 24.5.1.4 [reverse.iter.cons] reverse_iterator
's converting assignment is overconstrained Yes 3 3725(i) New 24.5.1.6 [reverse.iter.elem] reverse_iterator::operator->
should not use prev
for non-pointer iterators Yes 3 4104(i) New 24.5.3 [const.iterators] basic_const_iterator<volatile int*>
is not a contiguous_iterator
No 4 3986(i) New 24.5.3 [const.iterators] basic_const_iterator
doesn't work with optional
No 3 3988(i) Open 24.5.3 [const.iterators] Should as_const_view
and basic_const_iterator
provide base()
? Yes 3 3863(i) New 24.5.3.2 [const.iterators.alias] Is input_iterator
guaranteed to have iter_const_reference_t
? No 2 4253(i) Tentatively Ready 24.5.3.3 [const.iterators.iterator] basic_const_iterator
should provide iterator_type
Yes 4237(i) New 24.5.3.3 [const.iterators.iterator] The standard library iterator adaptor does not handle iterator_category
correctly No 3 4218(i) New 24.5.3.5 [const.iterators.ops] Constraint recursion in basic_const_iterator
's relational operators due to ADL + CWG 2369 Yes 2 4125(i) New 24.5.4.2 [move.iterator] move_iterator
's default constructor should be constrained Yes 3 4120(i) New 24.5.4.2 [move.iterator] move_iterator
should provide iterator_category
only when it models forward_iterator
Yes 3 4115(i) New 24.5.4.6 [move.iter.elem] move_iterator::operator*
should have conditional noexcept
specification Yes 4 4092(i) New 24.5.5.1 [common.iterator] The monotonic version of common_iterator::operator==
is underconstrained Yes 3 3783(i) New 24.5.5.1 [common.iterator] views::common
may not be a range adaptor object Yes 3 3748(i) New 24.5.5.6 [common.iter.cmp] common_iterator
and counted_iterator
' operator-
are missing cast to return type Yes 3 2366(i) New 24.6.4 [istreambuf.iterator] istreambuf_iterator
end-of-stream equality Yes 3 3107(i) New 24.6.4 [istreambuf.iterator] istreambuf_iterator
has public exposition-only member Yes 4 3188(i) New 24.6.4 [istreambuf.iterator] istreambuf_iterator::pointer
should not be unspecified Yes 3 3108(i) New 24.6.4.2 [istreambuf.iterator.proxy] istreambuf_iterator::proxy::operator*
should be const
Yes 3 3537(i) New 24.7 [iterator.range] §[iterator.range] Missing noexcept
for std::rbegin
/rend
for arrays and initializer_list
No 3 4181(i) New 24.7 [iterator.range] Some ranges have negative ssize
No 3 4131(i) New 24.7 [iterator.range] Including <optional>
doesn't provide std::begin/end
Yes 3 Issue Status Section Title Proposed Resolution Priority Duplicates 3729(i) New 25.2 [ranges.syn] std::tuple_element_t<std::ranges::subrange<I, S, K>>
should remove top-level cv-qualifiers Yes 4 4184(i) Tentatively NAD 25.3 [range.access] Domain of ranges::cmeow
doesn't match ranges::meow
No 4062(i) New 25.3.14 [range.prim.empty] ranges::empty
has no semantic requirements for forward_range
s No 3982(i) Tentatively NAD 25.4.4 [range.view] is-derived-from-view-interface
should require that T
is derived from view_interface<T>
Yes 3896(i) New 25.4.5 [range.refinements] The definition of viewable_range
is not quite right Yes 4 4003(i) Tentatively NAD 25.5.3 [view.interface] view_interface::back
is overconstrained Yes 4183(i) New 25.5.4.1 [range.subrange.general] subrange
should provide data()
Yes 4 4010(i) New 25.5.4.3 [range.subrange.access] subrange::advance
should be improved Yes 3 4121(i) New 25.5.7.1 [range.utility.conv.general] ranges::to
constructs associative containers via c.emplace(c.end(), *it)
Yes 2 3958(i) Tentatively NAD 25.5.7.2 [range.utility.conv.to] ranges::to
should prioritize the "reserve
" branch Yes 4229(i) New 25.5.7.2 [range.utility.conv.to] std::ranges::to
with union return type Yes 3722(i) New 25.5.7.2 [range.utility.conv.to] ranges::to
reserve
s the wrong size Yes 4 4066(i) New 25.5.7.2 [range.utility.conv.to] ranges::to
should reserve when sized_sentinel_for
is satisfied Yes 4008(i) New 25.5.7.2 [range.utility.conv.to] §[range.utility.conv.to] ranges::to
may cause infinite recursion if range_value_t<C>
is a non-move-constructible range Yes 3 4018(i) New 25.5.7.2 [range.utility.conv.to] ranges::to
's copy branch is underconstrained Yes 3 3845(i) New 25.5.7.2 [range.utility.conv.to] ranges::to
's from_range_t
tag branch has the wrong constraint Yes 4 3985(i) New 25.5.7.2 [range.utility.conv.to] ranges::to
should Mandates C
not to be view Yes 3 3983(i) New 25.5.7.3 [range.utility.conv.adaptors] ranges::to
adaptors are underconstrained Yes 3 3907(i) New 25.6 [range.factories] Can iterator types of range adaptors and range factories be SCARY? No 3 3614(i) New 25.6.4.2 [range.iota.view] iota_view::size
and the most negative signed integer values Yes 3 4002(i) New 25.6.4.3 [range.iota.iterator] The definition of iota_view::iterator::iterator_concept
should be improved Yes 3 3846(i) New 25.6.4.3 [range.iota.iterator] iota_view::iterator::operator-
is overconstrained Yes 3 3609(i) New 25.6.4.4 [range.iota.sentinel] std::ranges::iota_view<int, long>
has non-subtractable iterator
and sentinel
types Yes 3 3955(i) New 25.6.5.2 [range.repeat.view] Add noexcept
to several repeat_view[::iterator]
member functions Yes 3 3763(i) New 25.6.5.3 [range.repeat.iterator] Should range adaptor iterators only provide iterator_category
when its difference_type
is not an integer-class type? Yes 3 3679(i) LEWG 25.6.6 [range.istream] Is <ranges>
sufficient for istream_view
? No 3 3489(i) New 25.6.6.3 [range.istream.iterator] Improve istream_view
wording Yes 3 3981(i) Tentatively NAD 25.7.2 [range.adaptor.object] Range adaptor closure object is underspecified for its return type Yes 3994(i) New 25.7.2 [range.adaptor.object] adaptor(args...)(r)
is not equivalent to std::bind_back(adaptor, args...)(r)
No 4 4099(i) New 25.7.7.1 [range.as.rvalue.overview] The simple case of views::as_rvalue
and views::common
are not strictly correct Yes 4 3829(i) New 25.7.7.2 [range.as.rvalue.view] as_rvalue_view::end
should improve non-common case Yes 3 4214(i) New 25.7.10.1 [range.take.overview] Missing Preconditions for take
/drop
adaptor Yes 4050(i) New 25.7.10.1 [range.take.overview] Should views::iota(0) | views::take(5)
be views::iota(0, 5)
? Yes 4009(i) New 25.7.12.2 [range.drop.view] drop_view::begin const
may have 𝒪(n) complexity Yes 3730(i) New 25.7.12.2 [range.drop.view] std::ranges::drop_view
may have different size type from its underlying view Yes 3 3666(i) New 25.7.14 [range.join] join_view
's difference type is too small No 2 4220(i) New 25.7.14.2 [range.join.view] join_view
incorrectly stores inner range Yes 3873(i) New 25.7.15.2 [range.join.with.view] join_with_view
's const begin
is underconstrained No 3 4059(i) New 25.7.15.3 [range.join.with.iterator] Leaky abstraction in join_with_view
's iterator Yes 3 3852(i) New 25.7.15.3 [range.join.with.iterator] join_with_view::iterator
's iter_move
and iter_swap
should be conditionally noexcept
Yes 3 3972(i) New 25.7.15.3 [range.join.with.iterator] Issues with join_with_view::iterator
's iter_swap
No 2 3855(i) New 25.7.16.2 [range.lazy.split.view] tiny-range
is not quite right Yes 4 3685(i) New 25.7.16.2 [range.lazy.split.view] In lazy_split_view
, CTAD doesn't work when given an input_range
input and a tiny-range
pattern Yes 3 3599(i) New 25.7.16.2 [range.lazy.split.view] The const
overload of lazy_split_view::begin
should be constrained by const Pattern
Yes 3 4108(i) SG9 25.7.16.2 [range.lazy.split.view] lazy_split_view
should be sized_range
when pattern is empty tiny-range
Yes 4 4249(i) New 25.7.16.3 [range.lazy.split.outer] The past end issue for lazy_split_view
Yes 3686(i) New 25.7.16.3 [range.lazy.split.outer] In lazy_split_view
, comparing a default-constructed outer-iterator
or inner-iterator
with std::default_sentinel
results in null pointer dereference Yes 3 4017(i) New 25.7.17.3 [range.split.iterator] Behavior of std::views::split
on an empty range Yes 3 4166(i) New 25.7.18.2 [range.concat.view] concat_view::end()
should be more constrained in order to support noncopyable iterators Yes 4073(i) New 25.7.18.2 [range.concat.view] concat_view::size
may overflow No 4 4091(i) New 25.7.18.2 [range.concat.view] concat_view
rejects non-movable references Yes 4 4081(i) New 25.7.18.3 [range.concat.iterator] concat_view::iterator::operator-
is overconstrained Yes 3 4089(i) New 25.7.18.3 [range.concat.iterator] concat_view::iterator
's iter_swap
is overconstrained Yes 3 4019(i) SG9 25.7.21 [range.reverse] Reversing an infinite range leads to an infinite loop No 3 4097(i) LEWG 25.7.21.1 [range.reverse.overview] views::reverse
should be specialized for some view types Yes 3 3830(i) New 25.7.21.2 [range.reverse.view] reverse_view
should not cache when ranges::next
has constant time complexity Yes 3 3797(i) New 25.7.23.2 [range.elements.view] elements_view
insufficiently constrained Yes 2 4114(i) New 25.7.23.3 [range.elements.iterator] elements_view::iterator::operator*
missing conditional noexcept
specification Yes 3 3832(i) New 25.7.23.3 [range.elements.iterator] Missing change for element_view::iterator
in LWG 3798 Yes 3 3908(i) Tentatively NAD 25.7.24.3 [range.enumerate.iterator] enumerate_view::iterator
constructor is explicit Yes 4116(i) New 25.7.24.3 [range.enumerate.iterator] enumerate_view::iterator
and cartesian_product_view::iterator
should not always provide iterator_category
Yes 3864(i) New 25.7.25 [range.zip] zip
over range of reference to an abstract type No 4 3731(i) New 25.7.25.2 [range.zip.view] zip_view
and adjacent_view
are underconstrained Yes 3 4006(i) Tentatively NAD 25.7.29.4 [range.chunk.outer.value] chunk_view::outer-iterator::value_type
should provide empty
Yes 4254(i) New 25.7.32.3 [range.stride.iterator] stride_view::iterator
should provide operator->
Yes 3777(i) Open 25.7.33.2 [range.cartesian.view] Common cartesian_product_view
produces an invalid range if the first range is input and one of the ranges is empty Yes 2 4210(i) New 25.7.34.3 [range.cache.latest.iterator] Issue with cache_latest_view::iterator
's reference type No 3 4226(i) New 25.7.35 [range.to.input] to_input_view::iterator
cannot be compared to its const
sentinel Yes 2 4057(i) New 25.8.6 [coro.generator.iterator] generator::iterator
's operator*
is not noexcept
when it can be Yes 3 4117(i) New 25.8.6 [coro.generator.iterator] generator::iterator
should provide iterator_concept
Yes 4 Issue Status Section Title Proposed Resolution Priority Duplicates 2963(i) New 26 [algorithms] Algorithms with underspecified iterator requirements No 3 1238(i) Open 26 [algorithms] Defining algorithms taking iterator for range No 3 2173(i) Open 26 [algorithms] The meaning of operator +
in the description of the algorithms Yes 4 4277(i) New 26.2 [algorithms.requirements] §[algorithms.requirements] It is unclear what an algorithm is Yes 3049(i) Open 26.2 [algorithms.requirements] Missing wording allowing algorithms to use copies of function objects as substitutes for their parameters Yes 3 4273(i) New 26.3.6 [execpol] Standard execution policy types should be conventional tag class types Yes 4095(i) Tentatively NAD 26.4 [algorithm.syn] ranges::fold_meow
should explicitly spell out the return type Yes 4241(i) New 26.6.5 [alg.foreach] ranges::for_each(_n)
should be less constrained Yes 3793(i) New 26.6.5 [alg.foreach] Requirements for some algorithms' Size
template parameters are unclear No 3 4093(i) New 26.6.18 [alg.fold] ranges::fold_left_first_with_iter
incorrectly constructs optional<U>
Yes 3 4094(i) New 26.6.18 [alg.fold] ranges::fold_meow
is overconstrained Yes 3 3969(i) New 26.6.18 [alg.fold] std::ranges::fold_left_first_with_iter
should be more ADL-proof Yes 3 4262(i) New 26.7.1 [alg.copy] copy_if
, remove_copy
, remove_copy_if
, unique_copy
have too strong preconditions Yes 3089(i) New 26.7.1 [alg.copy] copy_n
should require non-overlapping ranges Yes 3 2471(i) Open 26.7.1 [alg.copy] copy_n
's number of InputIterator
increments unspecified No 3 3868(i) LEWG 26.7.5 [alg.replace] Constrained algorithms should not require output_iterator
Yes 4 4269(i) New 26.7.9 [alg.unique] unique_copy
passes arguments to its predicate backwards Yes 4103(i) New 26.7.9 [alg.unique] ranges::unique_copy
's constraints for the case where result
is an input_iterator
are not quite right Yes 3 2985(i) LEWG 26.7.10 [alg.reverse] std::reverse
should be permitted to be vectorized Yes 2267(i) New 26.8.2.4 [partial.sort.copy] partial_sort_copy
underspecified for ranges of two different types No 3 4162(i) New 26.8.3 [alg.nth.element] Worst time complexity of non-parallel versions of nth_element
is underspecified Yes 3 4111(i) New 26.8.4 [alg.binary.search] LWG 270 and ranges version of binary search algorithms No 3 2973(i) LEWG 26.8.6 [alg.merge] inplace_merge
exact comparison count complexity prohibits useful real-world optimizations Yes 3534(i) LEWG 26.8.7.4 [set.intersection] ranges::set_intersection
and ranges::set_difference
algorithm requirements are too strict Yes 3 3029(i) Open 26.8.8.3 [pop.heap] pop_heap
over-constrains input Yes 3 4167(i) New 26.8.9 [alg.min.max] Use of "smaller" and "larger" in min
, max
, and minmax
is unclear Yes 3 4034(i) New 26.8.9 [alg.min.max] Clarify specification of std::min
and std::max
Yes 4 3487(i) New 26.10 [numeric.ops] Missing precondition on input and output aliasing of [numeric.ops] No 3 3060(i) New 26.10.8 [exclusive.scan] XXX_scan
algorithms are specified to work with move-only T
, but are specified to make N
copies of T
into the destination range No 2 3463(i) New 26.10.11 [transform.inclusive.scan] Incorrect requirements for transform_inclusive_scan
without initial value Yes 3 4265(i) New 26.10.16 [numeric.ops.midpoint] std::midpoint
should not accept const bool
Yes 3628(i) New 26.11 [specialized.algorithms] "Effects: Equivalent to:" and uninitialized memory algorithms No 3 3063(i) New 26.11 [specialized.algorithms] Parallel algorithms in <memory>
are underspecified No 3 3647(i) New 26.11.2 [special.mem.concepts] nothrow-input-iterator
constraints should not mention copying Yes 3 3888(i) New 26.11.8 [specialized.construct] Most ranges uninitialized memory algorithms are underconstrained Yes 3 3889(i) New 26.11.9 [specialized.destroy] std::(ranges::)destroy_at
should destroy array elements in the decreasing index order Yes 3 4077(i) New 26.12.2 [alg.rand.generate] Unclear preconditions of std::ranges::generate_random
No 2 Issue Status Section Title Proposed Resolution Priority Duplicates 2513(i) New 27.1 [strings.general] Missing requirements for basic_string::value_type
No 4 4152(i) New 27.2.2 [char.traits.require] The primary template of std::char_traits
is totally underspecified Yes 4 3694(i) New 27.2.2 [char.traits.require] Should traits_type::length
be customizable? No 4 3942(i) New 27.2.4 [char.traits.specializations] Inconsistent use of const char_type&
in standard specializations of std::char_traits
Yes 3 4063(i) New 27.2.4.2 [char.traits.specializations.char] Freestanding std::char_traits<char>::eof
depends on non-freestanding EOF
No 2 2959(i) New 27.2.4.4 [char.traits.specializations.char16.t] char_traits<char16_t>::eof
is a valid UTF-16 code unit No 3 3989(i) New 27.3 [string.view] The whole range for an iterator obtained from a std::span
or std::basic_string_view
is not clear No 3 2883(i) LEWG 27.3 [string.view] The standard library should provide string_view
parameters instead or in addition for functions defined with char const *
or string const &
as parameter types. No 3457(i) New 27.3.3 [string.view.template] *this
is not invalidated Yes 3 4102(i) New 27.3.3.2 [string.view.cons] string_view(Iter, Iter)
constructor breaks existing code No 2 3339(i) New 27.4.3 [basic.string] Move-constructed empty-container capacity No 3 3451(i) New 27.4.3 [basic.string] Inconsistently explicit deduction guides Yes 3 4029(i) New 27.4.3.1 [basic.string.general] basic_string
accidentally fails to meet the reversible container requirements Yes 3 3663(i) New 27.4.3.3 [string.cons] basic_string(const T&, const Alloc&)
turns moves into copies Yes 3 3662(i) New 27.4.3.7.2 [string.append] basic_string::append/assign(NTBS, pos, n)
suboptimal Yes 3 4259(i) New 27.4.3.8.2 [string.find] P1148R0 changed the return values of searching functions of std::basic_string
on some platforms Yes 4261(i) New 27.4.3.8.2 [string.find] P1206R7 broke uses of container adaptors with old custom sequence containers No 3837(i) New 27.4.4.5 [string.erasure] std::erase_if
overloads for non-associative containers should move (and not copy) their predicate object Yes 3 2237(i) New 27.5 [c.strings] <cuchar>
macros No 4 2238(i) Open 27.5 [c.strings] Problematic iterator-pair constructor of containers No 3 Issue Status Section Title Proposed Resolution Priority Duplicates 3456(i) New 28.2.3 [charconv.from.chars] Pattern used by std::from_chars
is underspecified Yes 3 3082(i) Open 28.2.3 [charconv.from.chars] from_chars
specification regarding floating point rounding is inconsistent Yes 2 3081(i) Open 28.2.3 [charconv.from.chars] Floating point from_chars
API does not distinguish between overflow and underflow Yes 2 3353(i) New 28.3.3.1 [locale] locale
's copy assignment operator should return locale&
Yes 3 3674(i) New 28.3.3.1.4 [locale.members] Removal of requirement for locale names for construction of locales not explained Yes 2 4287(i) New 28.3.4.2.5.3 [locale.codecvt.virtuals] §[locale.codecvt.virtuals] do_in
and do_out
could do with better specification Yes 3337(i) New 28.3.4.2.5.3 [locale.codecvt.virtuals] What is "is initialized" supposed to mean? No 3 4163(i) Tentatively NAD 28.3.4.3.2.3 [facet.num.get.virtuals] Can the overload of std::num_get::do_get
for bool
call the overload for long
? No 3689(i) New 28.3.4.3.2.3 [facet.num.get.virtuals] num_get
overflow determination unclear and incorrect No 3 3214(i) New 28.3.4.3.2.3 [facet.num.get.virtuals] §[facet.num.get.virtuals] doesn't say what it means for digit grouping to be consistent No 4 4216(i) New 28.3.4.3.3.3 [facet.num.put.virtuals] num_put::do_put
and void
pointers Yes 3 2703(i) New 28.3.4.3.3.3 [facet.num.put.virtuals] No provision for fill-padding when boolalpha
is set No 3 2702(i) New 28.3.4.3.3.3 [facet.num.put.virtuals] num_put::do_put(..., bool)
performs ill-formed do_put
call No 3 2117(i) Open 28.3.4.3.3.3 [facet.num.put.virtuals] ios_base
manipulators should have showgrouping/noshowgrouping
No 3 4285(i) New 28.3.4.6.2.2 [locale.time.get.members] time_get::do_get_date
is problematic even after LWG 461 No 3275(i) New 28.3.4.6.2.3 [locale.time.get.virtuals] Why does time_get::do_get
require a valid pointer when none of the others do? Yes 3 2512(i) Open 28.3.4.6.2.3 [locale.time.get.virtuals] Y2K bites; what is an "unambiguous year identifier"? No 4 2983(i) New 28.3.4.7.3.3 [locale.money.put.virtuals] money_put::do_put
underspecified Yes 3 2691(i) New 28.3.4.7.4 [locale.moneypunct] money_base::space
and do_put
: U+0020 versus fill
Yes 3 4263(i) New 28.5 [format] What should std::format_to
etc. behave when the output is overlong? No 3651(i) New 28.5 [format] Unspecified lifetime guarantees for the format string No 3 3997(i) New 28.5.1 [format.syn] std::formatter
specializations should be consistently restricted to supported character types No 4 3641(i) New 28.5.1 [format.syn] Add operator==
to format_to_n_result
Yes 3 3939(i) New 28.5.2.2 [format.string.std] §[format.string.std] char
is not formatted as a character when charT
is wchar_t
No 3 3644(i) New 28.5.2.2 [format.string.std] std::format
does not define "integer presentation type" Yes 2 3586(i) New 28.5.2.2 [format.string.std] Formatting character alignment inconsistencies Yes 2 4090(i) SG16 28.5.2.2 [format.string.std] Underspecified use of locale facets for locale-dependent std::format
Yes 3 4078(i) New 28.5.5 [format.functions] What if arguments alias the output buffer in std::format_to
? No 4 3993(i) New 28.5.6.1 [formatter.requirements] The parse
function of a BasicFormatter type needs to be constexpr
Yes 3 4240(i) New 28.5.6.3 [format.formattable] The formattable type is not a formattable
type Yes 2 3943(i) New 28.5.6.3 [format.formattable] Clarify lifetime requirements of BasicFormatter and Formatter Yes 3 4284(i) New 28.5.6.4 [format.formatter.spec] Integer-class types should be formattable Yes 4146(i) New 28.5.6.4 [format.formatter.spec] §[format.formatter.spec]/3 unconditionally enables nonlocking for container adaptors Yes 3706(i) New 28.5.6.4 [format.formatter.spec] How does std::format
work with character arrays of unknown bound? No 3 4221(i) New 28.5.7 [format.range] Cannot format const-iterable only ranges No 4246(i) Tentatively NAD 28.5.7.2 [format.range.formatter] Redundant constraint in range_formatter::format
Yes 4107(i) New 28.5.7.4 [format.range.fmtmap] Map formatter may conflict with user-defined specializations of pair
/tuple
formatters Yes 3 2490(i) New 28.6 [re] <regex>
needs lots of noexcept
No 3 523(i) Open 28.6 [re] regex case-insensitive character ranges are unimplementable as specified No 4 3835(i) New 28.6.1 [re.general] Requirements for CharT
in the regex library No 4 3606(i) New 28.6.2 [re.req] Missing regex_traits::locale_type
requirements No 3 2431(i) New 28.6.2 [re.req] Missing regular expression traits requirements No 3 3998(i) New 28.6.4 [re.const] Constants in std::regex_constants
should be allowed to be enumerators No 3 2331(i) Open 28.6.4.2 [re.synopt] regex_constants::collate
's effects are inaccurately summarized Yes 3 3605(i) New 28.6.4.3 [re.matchflag] regex_constants::match_prev_avail
is underspecified No 3 2338(i) Open 28.6.6 [re.traits] §[re.traits]/7 expects of locale facets something not guaranteed by [locale.facet]/4 Yes 3 3261(i) New 28.6.7 [re.regex] regex
components' noexcept
annotations appear broken for POCMA or throwing BidirectionalIterator
No 3 3341(i) New 28.6.7.2 [re.regex.construct] basic_regex
range constructor: Missing requirements for iterator types No 3 3630(i) New 28.6.7.2 [re.regex.construct] Inconsistent basic_regex
construction and assignment from iterator range No 4 3603(i) New 28.6.7.2 [re.regex.construct] Matching of null characters by regular expressions is underspecified No 3 3604(i) New 28.6.7.2 [re.regex.construct] What is the effect of an invalid value of type syntax_option_type
? No 3 2137(i) Open 28.6.7.3 [re.regex.assign] Misleadingly constrained post-condition in the presence of exceptions Yes 3 3126(i) New 28.6.8 [re.submatch] There's no std::sub_match::compare(string_view)
overload Yes 3 2216(i) New 28.6.10.4 [re.alg.replace] regex_replace(basic_string)
allocator handling No 3 2220(i) Open 28.6.11.2.3 [re.tokiter.comp] Under-specification of operator==
for regex_token_iterator
Yes 3 2546(i) New 28.6.12 [re.grammar] Implementability of locale-sensitive UnicodeEscapeSequence matching No 4 2986(i) New 28.6.12 [re.grammar] Handling of multi-character collating elements by the regex
FSM is underspecified No 4 2987(i) New 28.6.12 [re.grammar] Relationship between traits_inst.lookup_collatename
and the regex
FSM is underspecified with regards to ClassAtomCollatingElement
No 3 Issue Status Section Title Proposed Resolution Priority Duplicates 4161(i) New 29.4 [complex.numbers] Some free functions don't automatically work for program-defined std::complex<NonFloatingPoint>
No 3 3933(i) New 29.4.3 [complex] P1467R9 accidentally changed the signatures of certain constructors of std::complex
Yes 4 3934(i) New 29.4.3 [complex] std::complex<T>::operator=(const T&)
has no specification Yes 3 2714(i) New 29.4.6 [complex.ops] complex
stream extraction underspecified Yes 3 2846(i) New 29.4.10 [cmplx.over] Undefined phrase "effectively cast" Yes 3 4109(i) New 29.5.3.1 [rand.req.genl] Instantiating templates in §[rand] with int8_t
/uint8_t
is undefined behavior Yes 4289(i) New 29.5.3.2 [rand.req.seedseq] Seed sequence is overspecified Yes 4212(i) New 29.5.4.5 [rand.eng.philox] Make the round states in [rand.eng.philox] explicit Yes 3 3402(i) New 29.5.9.3.4 [rand.dist.bern.negbin] Wording for negative_binomial_distribution
is unclear as a consequence of LWG 2406 resolution No 3 4052(i) New 29.5.9.6.2 [rand.dist.samp.pconst] Bogus requirements for piecewise_linear_distribution
No 4 3964(i) New 29.6.3.3 [valarray.transcend] std::atan2
and std::pow
overloads that take two std::valarray
parameters should require the arguments to have the same length Yes 4 2423(i) New 29.6.5 [template.slice.array] Missing specification slice_array
, gslice_array
, mask_array
, indirect_array
copy constructor Yes 4 2115(i) Open 29.6.8 [template.mask.array] Undefined behaviour for valarray
assignments with mask_array
index? No 4 3693(i) New 29.7 [c.math] §[c.math] Can any of float/double/long double
overloads be fused into template overloads? No 2 2847(i) New 29.7.1 [cmath.syn] sin(float)
should call sinf(float)
No 3 2923(i) New 29.7.1 [cmath.syn] noexcept
is inconsistently applied across headers which import components of the C standard library No 4 3093(i) New 29.7.2 [c.math.abs] LWG 2294/2192 missed a std::abs
overload No 3 3172(i) New 29.7.3 [c.math.hypot3] 3-arg std::hypot
is underspecified compared to the 2-arg overload Yes 3 3066(i) New 29.7.6 [sf.cmath] "report a domain error" in [sf.cmath]/1 is underspecified No 3 4136(i) New 29.9.3 [linalg.general] Specify behavior of [linalg] Hermitian algorithms on diagonal with nonzero imaginary part Yes 4185(i) New 29.9.7 [linalg.helpers] Ill-formed, no diagnostic required on runtime behavior No 3 4137(i) New 29.9.14 [linalg.algs.blas2] Fix Mandates, Preconditions, and Complexity elements of [linalg] algorithms Yes 4230(i) New 29.10.7.4 [simd.complex.access] simd<complex>::real/imag
is overconstrained Yes 2 4280(i) New 29.10.7.7 [simd.loadstore] simd::partial_load
uses undefined identifier T
Yes 4238(i) New 29.10.8.4 [simd.mask.unary] simd_mask<complex<double>>::operator+/-/~
return a disabled simd
specialization Yes 1 Issue Status Section Title Proposed Resolution Priority Duplicates 2592(i) New 30.2 [time.syn] Require that chrono::duration_cast
s from smaller durations to larger durations do not overflow Yes 4 3090(i) New 30.5.2 [time.duration.cons] What is §[time.duration.cons]p4's "no overflow is induced in the conversion" intended to mean? Yes 3 3503(i) New 30.5.8 [time.duration.cast] chrono::ceil
has surprising requirement Yes 3 2383(i) Open 30.5.9 [time.duration.literals] Overflow cannot be ill-formed for chrono::duration integer literals No 3 4288(i) New 30.7.2.2 [time.clock.system.members] The Constraints: element in [time.clock.system.members] is probably wrong Yes 4257(i) New 30.7.9 [time.clock.local] Stream insertion for chrono::local_time
should be constrained Yes 4274(i) Tentatively Ready 30.9.2 [time.hms.members] The chrono::hh_mm_ss
constructor is ill-formed for unsigned durations Yes 4193(i) New 30.11.2 [time.zone.db] §[time.zone.db] the specification uses the undefined term "thread-safe" No 3 4211(i) New 30.11.2.1 [time.zone.db.tzdb] IANA time zone database allows links to refer to links Yes 3678(i) New 30.11.5.1 [time.zone.overview] Constructors of std::chrono::time_zone
might be overly unspecified Yes 4 4067(i) New 30.11.7.2 [time.zone.zonedtime.ctor] Inconsistency and potential infinity meta-recursion in std::chrono::zoned_time
's constructors Yes 3 4139(i) New 30.11.8 [time.zone.leap] §[time.zone.leap] recursive constraint in <=>
No 3 4118(i) New 30.12 [time.format] How should duration
formatters format custom rep
types? Yes 3 4022(i) New 30.12 [time.format] Ambiguity in the formatting of negative years with format specifier %C
Yes 3856(i) New 30.12 [time.format] Unclear which conversion specifiers are valid for each chrono type Yes 3 3921(i) New 30.12 [time.format] Is std::chrono::duration<std::int64_t, std::ratio<INT64_MAX - 1, INT64_MAX>>{40}
required to be correctly formatted? No 3 3831(i) New 30.12 [time.format] Two-digit formatting of negative year
is ambiguous Yes 3 3844(i) Open 30.12 [time.format] Non-numeric formats for negative durations Yes 3 3962(i) New 30.13 [time.parse] What is the "decimal precision of the input"? Yes 3 3960(i) New 30.13 [time.parse] How does chrono::parse
handle duplicated data? Yes 3 3961(i) New 30.13 [time.parse] Does chrono::parse
check format strings? Yes 3 Issue Status Section Title Proposed Resolution Priority Duplicates 423(i) Open 31 [input.output] Effects of negative streamsize
in iostreams Yes 3 3696(i) New 31.2.2 [stream.types] "Basic integral types" should not be used Yes 3 3910(i) New 31.4.2 [iostream.objects.overview] The effects of including <iostream>
on initialization are not yet precisely specified Yes 4 3675(i) New 31.5.2.6 [ios.base.storage] std::ios_base::iword/pword
might be misspecified Yes 4 2675(i) New 31.5.2.7 [ios.base.callback] register_callback
can fail No 3 4192(i) New 31.5.2.8 [ios.base.cons] §[ios.base.cons] ios_base
members may not have indeterminate values after construction Yes 3 2214(i) Open 31.5.4.2 [basic.ios.cons] Clarify basic_ios::init
call restrictions Yes 4 2504(i) New 31.6.3 [streambuf] basic_streambuf
is not an abstract class No 3 3658(i) New 31.6.3.3.5 [streambuf.pub.put] basic_streambuf::sputn
is both overspecified and underspecified Yes 3 2342(i) New 31.7.6.2 [ostream] User conversion to wchar_t const*
or to wchar_t
not invoked for operator<<
Yes 4 2497(i) New 31.7.6.2.4 [ostream.sentry] Use of uncaught_exception()
Yes 3 4101(i) New 31.7.6.3.2 [ostream.inserters.arithmetic] LWG 117 loses the sign for negative NaN on some architectures Yes 3 4039(i) New 31.7.6.3.5 [ostream.formatted.print] §[ostream.formatted.print]: Inappropriate usage of badbit
in definition of vprint_unicode
/vprint_nonunicode
Yes 3501(i) New 31.7.6.5 [ostream.manip] basic_syncbuf
-related manipulators refer to some Allocator
without defining it Yes 3 3937(i) New 31.7.7 [std.manip] I/O manipulators should be specified in terms of base classes No 3 2984(i) New 31.7.8 [ext.manip] put_money(99)
is unnecessarily undefined Yes 3 3309(i) New 31.8 [string.streams] Is <ios>
implicitly #include
d by <sstream>
, <fstream>
etc.? No 3 3992(i) New 31.8.2.4 [stringbuf.members] basic_stringbuf::str()&&
should enforce 𝒪(1) Yes 3097(i) New 31.8.2.5 [stringbuf.virtuals] basic_stringbuf seekoff
effects trigger undefined behavior and have contradictory returns No 3 2286(i) Open 31.8.2.5 [stringbuf.virtuals] stringbuf::underflow()
underspecified Yes 4 3496(i) New 31.11.2.4 [syncstream.syncbuf.members] What does "uniquely associated" mean for basic_syncbuf::emit()
? No 3 3497(i) New 31.11.2.4 [syncstream.syncbuf.members] Postconditions for basic_syncbuf::emit()
No 3 3098(i) New 31.12.6.5.9 [fs.path.decompose] Misleading example for filesystem::path::filename()
Yes 3 3699(i) New 31.12.6.5.11 [fs.path.gen] lexically_relative
on UNC drive paths (\\?\C:\...
) results in a default-constructed value No 3 3794(i) New 31.12.6.6 [fs.path.itr] std::filesystem::path::iterator::reference
should be allowed to be std::filesystem::path
Yes 3 4070(i) SG16 31.12.6.9.2 [fs.path.fmtr.funcs] Transcoding by std::formatter<std::filesystem::path>
Yes 2 2947(i) New 31.12.8.1 [fs.enum.path.format] Clarify several filesystem terms No 3 3078(i) New 31.12.10 [fs.class.directory.entry] directory_entry
, directory_iterator
and recursive_directory_iterator
perform needless path copies No 3 3668(i) New 31.12.11.2 [fs.dir.itr.members] [recursive_]directory_iterator
constructors refer to undefined options
Yes 3 2708(i) Open 31.12.12.2 [fs.rec.dir.itr.members] recursive_directory_iterator::recursion_pending()
is incorrectly specified Yes 2 4279(i) New 31.12.13.2 [fs.op.absolute] §[fs.op.absolute] Non-normative encouragement should be Recommended practice No 3057(i) Open 31.12.13.4 [fs.op.copy] Correct copy_options
handling Yes 2 3056(i) New 31.12.13.5 [fs.op.copy.file] copy_file()
copies which attributes? Yes 3 3744(i) New 31.12.13.6 [fs.op.copy.symlink] copy_symlink(junction, new_symlink)
's behavior is unclear No 3 Issue Status Section Title Proposed Resolution Priority Duplicates 2819(i) New 32.2.5 [thread.req.lockable] Unspecified Return type: elements Yes 3 3499(i) New 32.2.5.4 [thread.req.lockable.timed] Timed lockable and mutex requirements are imprecise about duration
and time_point
No 3 3924(i) New 32.3.1 [thread.stoptoken.intro] Stop token data race avoidance requirements unclear Yes 3 1484(i) LEWG 32.4.3 [thread.thread.class] Need a way to join a thread with a timeout No 3516(i) New 32.4.3.2 [thread.thread.id] thread::id
spaceship may be inconsistent with equality Yes 3 3475(i) New 32.4.3.3 [thread.thread.constr] std::thread
's constructor needs to be able to report general memory allocation failures Yes 3 3633(i) New 32.5 [atomics] Atomics are copy constructible and copy assignable from volatile
atomics Yes 3 3220(i) New 32.5.2 [atomics.syn] P0558 broke conforming C++14 uses of atomic shared_ptr
Yes 3 2236(i) SG1 32.5.2 [atomics.syn] kill_dependency
unconditionally noexcept No 3980(i) Tentatively NAD 32.5.4 [atomics.order] The read exclusive ownership of an atomic read-modify-write operation and whether its read and write are two operations are unclear Yes 3999(i) New 32.5.4 [atomics.order] P0439R0 changed the value category of memory order constants Yes 4 3268(i) New 32.5.4 [atomics.order] memory_order::memory_order_foo
broken in C++20 Yes 4 3941(i) Open 32.5.4 [atomics.order] §[atomics.order] inadvertently prohibits widespread implementation techniques No 3 2265(i) Open 32.5.4 [atomics.order] 29.3p9 appears to rule out some acceptable executions No 4 1459(i) LEWG 32.5.4 [atomics.order] Overlapping evaluations are allowed No 1458 4174(i) SG1 32.5.4 [atomics.order] How does [atomics.order] p3 apply when then modification is an initialization? No 3 4177(i) SG1 32.5.4 [atomics.order] §[atomics.order] p8 "circularly depend on their own computation" is unclear for loop No 4 4004(i) SG1 32.5.4 [atomics.order] The load and store operation in §[atomics.order] p1 is ambiguous No 3 3263(i) New 32.5.6 [atomics.wait] Atomic waiting function calls should only be unblocked once Yes 3 3288(i) New 32.5.6 [atomics.wait] atomic<T>::notify_one
is unimplementable Yes 2 4244(i) New 32.5.7.2 [atomics.ref.ops] Whether the spuriously failed comparison applies to compare_exchange_strong
is unclear No 3409(i) New 32.5.7.2 [atomics.ref.ops] Too lax description of atomic_ref<T>::required_alignment
Yes 3 3417(i) SG1 32.5.8.2 [atomics.types.operations] Missing volatile
atomic deprecations Yes 3 3047(i) New 32.5.8.3 [atomics.types.int] atomic
compound assignment operators can cause undefined behavior when corresponding fetch_meow
members don't Yes 3 4194(i) Tentatively NAD 32.5.8.5 [atomics.types.pointer] atomic<void*>
should use generic class template Yes 3906(i) New 32.5.8.5 [atomics.types.pointer] "Undefined address" is undefined No 3 3418(i) New 32.5.9 [atomics.nonmembers] Deprecated free functions in <atomic>
Yes 3 1488(i) LEWG 32.6 [thread.mutex] Improve interoperability between the C++0x and C1x threads APIs No 936(i) LEWG 32.6.4 [thread.mutex.requirements] Mutex type overspecified No 961 961(i) LEWG 32.6.4 [thread.mutex.requirements] Various threading bugs #11 No 936 1493(i) LEWG 32.6.4 [thread.mutex.requirements] Add mutex
, recursive_mutex
, is_locked
function No 3343(i) Open 32.7.3 [thread.condition.nonmember] Ordering of calls to unlock()
and notify_all()
in Effects element of notify_all_at_thread_exit()
should be reversed Yes 3 3504(i) New 32.7.4 [thread.condition.condvar] condition_variable::wait_for
is overspecified Yes 3 3898(i) New 32.9.3.3 [thread.barrier.class] Possibly unintended preconditions for completion functions of std::barrier
Yes 3 2530(i) Open 32.10.5 [futures.state] Clarify observable side effects of releasing a shared state No 3 2532(i) Open 32.10.6 [futures.promise] Satisfying a promise
at thread exit Yes 3 3582(i) New 32.10.9 [futures.async] Unclear where std::async
exceptions are handled Yes 3 2202(i) Deferred 32.10.9 [futures.async] Missing allocator support by async
No 4 4160(i) New 32.10.10.1 [futures.task.general] packaged_task
should reject rvalue reference return types Yes 3 4158(i) New 32.10.10.2 [futures.task.members] packaged_task::operator=
should abandon its shared state Yes 3 Issue Status Section Title Proposed Resolution Priority Duplicates 4260(i) New 33.2.1 [exec.queryable.general] Query objects must be default constructible Yes 4143(i) New 33.7.2 [exec.set.value] execution::set_value/set_error/set_stopped/start
should always return void
Yes 2 4213(i) New 33.9 [exec.snd] Sender spec depends on unspecified order of evaluation No 4199(i) New 33.9.1 [exec.snd.general] constraints on user customizations of standard sender algorithms are incorrectly specified No 1 4278(i) New 33.9.2 [exec.snd.expos] Consider changing how get-domain-early(sndr)
works No 4248(i) New 33.9.2 [exec.snd.expos] Late domain-based dispatching of schedule_from
and continues_on
are flipped Yes 1 4190(i) New 33.9.2 [exec.snd.expos] Specification of completion-signatures-for in [exec.snd.expos]/p39 is recursive Yes 2 4215(i) New 33.12.1 [exec.run.loop] run_loop::finish
should be noexcept
Yes 2 4133(i) New 33.13.1 [exec.as.awaitable] awaitable-receiver
's members are potentially throwing No 1 Issue Status Section Title Proposed Resolution Priority Duplicates 2479(i) New 99 [depr.conversions.buffer] Unclear how wbuffer_convert
uses cvtstate
No 4 2480(i) New 99 [depr.conversions.buffer] Error handling of wbuffer_convert
unclear No 4 2478(i) New 99 [depr.conversions.string] Unclear how wstring_convert
uses cvtstate
No 4 2481(i) New 99 [depr.conversions.string] wstring_convert
should be more precise regarding "byte-error string" etc. No 4 2507(i) New 99 [depr.locale.stdcvt] codecvt_mode
should be a bitmask type No 3 3109(i) New 99 [depr.strstreambuf] strstreambuf
is copyable No 4 3095(i) New 99 [depr.strstreambuf.virtuals] strstreambuf
refers to nonexistent member of fpos
, fpos::offset
Yes 4 4206(i) New 99 [exec.syn] Alias template connect_result_t
should be constrained with sender_to
Yes 1 3909(i) Tentatively NAD 99 [ranges.refinements] Issues about viewable_range
Yes Issue Status Section Title Proposed Resolution Priority Duplicates 3114(i) LEWG 16 [networking.ts::buffer] [networking.ts] Permit efficient composition when using DynamicBuffer
Yes 3021(i) New 16.2.2 [networking.ts::buffer.reqmts.constbuffersequence] [networking.ts] Relax pointer equivalence requirement for ConstBufferSequence
Yes 3 3027(i) New 16.2.4 [networking.ts::buffer.reqmts.dynamicbuffer] [networking.ts] DynamicBuffer
prepare
exception specification Yes 3 3072(i) New 16.2.4 [networking.ts::buffer.reqmts.dynamicbuffer] [networking.ts] DynamicBuffer
object lifetimes underspecified Yes 3
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4