From 3956a1f8b6d29d2ed3590c7e8f877c7525b165ef Mon Sep 17 00:00:00 2001 From: Mark de Wever Date: Sat, 16 Oct 2021 12:22:25 +0200 Subject: [PATCH] [libc++][doc] Adds more issue status labels. A followup to D111458 adding more labels to LWG-issues. This should add the labels for the not completed chrono, format, ranges, and spaceship issues. Some minor formatting cleanups along the way. Reviewed By: #libc, Quuxplusone Differential Revision: https://reviews.llvm.org/D111935 --- libcxx/docs/Status/Cxx20Issues.csv | 90 +++++++++++++++++++------------------- libcxx/docs/Status/Cxx2bIssues.csv | 80 ++++++++++++++++----------------- 2 files changed, 85 insertions(+), 85 deletions(-) diff --git a/libcxx/docs/Status/Cxx20Issues.csv b/libcxx/docs/Status/Cxx20Issues.csv index 264261c..e2c9940 100644 --- a/libcxx/docs/Status/Cxx20Issues.csv +++ b/libcxx/docs/Status/Cxx20Issues.csv @@ -23,7 +23,7 @@ "`2950 `__","std::byte operations are misspecified","Albuquerque","|Complete|","" "`2952 `__","iterator_traits should work for pointers to cv T","Albuquerque","|Complete|","" "`2953 `__","LWG 2853 should apply to deque::erase too","Albuquerque","|Complete|","" -"`2958 `__","Moves improperly defined as deleted","Albuquerque","*We already do this*","" +"`2958 `__","Moves improperly defined as deleted","Albuquerque","|Complete|","" "`2964 `__","Apparently redundant requirement for dynamic_pointer_cast","Albuquerque","","" "`2965 `__","Non-existing path::native_string() in filesystem_error::what() specification","Albuquerque","|Nothing To Do|","" "`2972 `__","What is ``is_trivially_destructible_v``\ ?","Albuquerque","|Complete|","" @@ -70,7 +70,7 @@ "`3041 `__","Unnecessary ``decay``\ in ``reference_wrapper``\ ","Jacksonville","|Complete|","" "`3042 `__","``is_literal_type_v``\ should be inline","Jacksonville","|Complete|","" "`3043 `__","Bogus postcondition for ``filesystem_error``\ constructor","Jacksonville","|Complete|","" -"`3045 `__","``atomic<*floating-point*>``\ doesn't have ``value_type``\ or ``difference_type``\ ","Jacksonville","","" +"`3045 `__","``atomic``\ doesn't have ``value_type``\ or ``difference_type``\ ","Jacksonville","","" "`3048 `__","``transform_reduce(exec, first1, last1, first2, init)``\ discards execution policy","Jacksonville","","" "`3051 `__","Floating point classifications were inadvertently changed in P0175","Jacksonville","|Nothing To Do|","" "`3075 `__","``basic_string``\ needs deduction guides from ``basic_string_view``\ ","Jacksonville","|Complete|","" @@ -112,10 +112,10 @@ "`3054 `__","``uninitialized_copy``\ appears to not be able to meet its exception-safety guarantee","San Diego","","" "`3065 `__","LWG 2989 missed that all ``path``\ 's other operators should be hidden friends as well","San Diego","|Complete|","" "`3096 `__","``path::lexically_relative``\ is confused by trailing slashes","San Diego","|Complete|","" -"`3116 `__","``*OUTERMOST_ALLOC_TRAITS*``\ needs ``remove_reference_t``\ ","San Diego","","" +"`3116 `__","``OUTERMOST_ALLOC_TRAITS``\ needs ``remove_reference_t``\ ","San Diego","","" "`3122 `__","``__cpp_lib_chrono_udls``\ was accidentally dropped","San Diego","|Complete|","" -"`3127 `__","``basic_osyncstream::rdbuf``\ needs a ````const_cast````\ ","San Diego","","" -"`3128 `__","``strstream::rdbuf``\ needs a ````const_cast````\ ","San Diego","|Nothing To Do|","" +"`3127 `__","``basic_osyncstream::rdbuf``\ needs a ``const_cast``\ ","San Diego","","" +"`3128 `__","``strstream::rdbuf``\ needs a ``const_cast``\ ","San Diego","|Nothing To Do|","" "`3129 `__","``regex_token_iterator``\ constructor uses wrong pointer arithmetic","San Diego","","" "`3130 `__","|sect|\ [input.output] needs many ``addressof``\ ","San Diego","","" "`3131 `__","``addressof``\ all the things","San Diego","","" @@ -136,8 +136,8 @@ "`3112 `__","``system_error``\ and ``filesystem_error``\ constructors taking a ``string``\ may not be able to meet their postconditions","Kona","","" "`3119 `__","Program-definedness of closure types","Kona","|Nothing To Do|","" "`3133 `__","Modernizing numeric type requirements","Kona","","" -"`3144 `__","``span``\ does not have a ````const_pointer````\ typedef","Kona","|Complete|","" -"`3173 `__","Enable CTAD for *``ref-view``*\ ","Kona","","","|ranges|" +"`3144 `__","``span``\ does not have a ``const_pointer``\ typedef","Kona","|Complete|","" +"`3173 `__","Enable CTAD for ``ref-view``\ ","Kona","","","|ranges|" "`3179 `__","``subrange``\ should always model ``Range``\ ","Kona","","","|ranges|" "`3180 `__","Inconsistently named return type for ``ranges::minmax_element``\ ","Kona","","","|ranges|" "`3182 `__","Specification of ``Same``\ could be clearer","Kona","","" @@ -161,70 +161,70 @@ "`3209 `__","Expression in ``year::ok()``\ returns clause is ill-formed","Cologne","|Complete|","" "","","","","" "`3231 `__","``year_month_day_last::day``\ specification does not cover ``!ok()``\ values","Belfast","|Nothing To Do|","" -"`3225 `__","``zoned_time``\ converting constructor shall not be ``noexcept``\ ","Belfast","","" +"`3225 `__","``zoned_time``\ converting constructor shall not be ``noexcept``\ ","Belfast","","","|chrono|" "`3190 `__","``std::allocator::allocate``\ sometimes returns too little storage","Belfast","","" "`3218 `__","Modifier for ``%d``\ parse flag does not match POSIX and ``format``\ specification","Belfast","","","|chrono| |format|" -"`3224 `__","``zoned_time``\ constructor from ``TimeZonePtr``\ does not specify initialization of ``tp_``\ ","Belfast","","" +"`3224 `__","``zoned_time``\ constructor from ``TimeZonePtr``\ does not specify initialization of ``tp_``\ ","Belfast","","","|chrono|" "`3230 `__","Format specifier ``%y/%Y``\ is missing locale alternative versions","Belfast","","","|chrono| |format|" -"`3232 `__","Inconsistency in ``zoned_time``\ deduction guides","Belfast","","" +"`3232 `__","Inconsistency in ``zoned_time``\ deduction guides","Belfast","","","|chrono|" "`3222 `__","P0574R1 introduced preconditions on non-existent parameters","Belfast","","" "`3221 `__","Result of ``year_month``\ arithmetic with ``months``\ is ambiguous","Belfast","|Complete|","8.0" "`3235 `__","``parse``\ manipulator without abbreviation is not callable","Belfast","","" "`3246 `__","What are the constraints on the template parameter of ``basic_format_arg``\ ?","Belfast","","","|format|" "`3253 `__","``basic_syncbuf::basic_syncbuf()``\ should not be explicit","Belfast","","" -"`3245 `__","Unnecessary restriction on ``'%p'``\ parse specifier","Belfast","","" +"`3245 `__","Unnecessary restriction on ``'%p'``\ parse specifier","Belfast","","","|chrono|" "`3244 `__","Constraints for ``Source``\ in |sect|\ [fs.path.req] insufficiently constrainty","Belfast","","" "`3241 `__","``chrono-spec``\ grammar ambiguity in |sect|\ [time.format]","Belfast","","","|chrono| |format|" "`3257 `__","Missing feature testing macro update from P0858","Belfast","","" "`3256 `__","Feature testing macro for ``constexpr``\ algorithms","Belfast","|Complete|","13.0" -"`3273 `__","Specify ``weekday_indexed``\ to range of ``[0, 7]``\ ","Belfast","","" +"`3273 `__","Specify ``weekday_indexed``\ to range of ``[0, 7]``\ ","Belfast","","","|chrono|" "`3070 `__","``path::lexically_relative``\ causes surprising results if a filename can also be a *root-name*","Belfast","","" "`3266 `__","``to_chars(bool)``\ should be deleted","Belfast","|Complete|","14.0" "`3272 `__","``%I%p``\ should parse/format ``duration``\ since midnight","Belfast","","","|chrono| |format|" -"`3259 `__","The definition of *constexpr iterators* should be adjusted","Belfast","","" +"`3259 `__","The definition of *constexpr iterators* should be adjusted","Belfast","","","|ranges|" "`3103 `__","Errors in taking subview of ``span``\ should be ill-formed where possible","Belfast","","" "`3274 `__","Missing feature test macro for ````\ ","Belfast","|Complete|","11.0" "`3276 `__","Class ``split_view::outer_iterator::value_type``\ should inherit from ``view_interface``\ ","Belfast","","","|ranges|" -"`3277 `__","Pre-increment on prvalues is not a requirement of ``weakly_incrementable``\ ","Belfast","","" +"`3277 `__","Pre-increment on prvalues is not a requirement of ``weakly_incrementable``\ ","Belfast","","","|ranges|" "`3149 `__","``DefaultConstructible``\ should require default initialization","Belfast","|Complete|","13.0" "","","","","" "`1203 `__","More useful rvalue stream insertion","Prague","|Complete|","12.0" "`2859 `__","Definition of *reachable* in [ptr.launder] misses pointer arithmetic from pointer-interconvertible object","Prague","","" "`3018 `__","``shared_ptr``\ of function type","Prague","","" -"`3050 `__","Conversion specification problem in ``chrono::duration``\ constructor","Prague","","" +"`3050 `__","Conversion specification problem in ``chrono::duration``\ constructor","Prague","","","|chrono|" "`3141 `__","``CopyConstructible``\ doesn't preserve source values","Prague","|Nothing to do|","" "`3150 `__","``UniformRandomBitGenerator``\ should validate ``min``\ and ``max``\ ","Prague","|Complete|","13.0" "`3175 `__","The ``CommonReference``\ requirement of concept ``SwappableWith``\ is not satisfied in the example","Prague","|Complete|","13.0" "`3194 `__","``ConvertibleTo``\ prose does not match code","Prague","|Complete|","13.0" "`3200 `__","``midpoint``\ should not constrain ``T``\ is complete","Prague","|Nothing To Do|","" "`3201 `__","``lerp``\ should be marked as ``noexcept``\ ","Prague","|Complete|","" -"`3226 `__","``zoned_time``\ constructor from ``string_view``\ should accept ``zoned_time``\ ","Prague","","" +"`3226 `__","``zoned_time``\ constructor from ``string_view``\ should accept ``zoned_time``\ ","Prague","","","|chrono|" "`3233 `__","Broken requirements for ``shared_ptr``\ converting constructors","Prague","","" "`3237 `__","LWG 3038 and 3190 have inconsistent PRs","Prague","","" "`3238 `__","Insufficiently-defined behavior of ``std::function``\ deduction guides","Prague","","" "`3242 `__","``std::format``\ : missing rules for ``arg-id``\ in ``width``\ and ``precision``\ ","Prague","|Complete|","Clang 14","|format|" "`3243 `__","``std::format``\ and negative zeroes","Prague","","","|format|" -"`3247 `__","``ranges::iter_move``\ should perform ADL-only lookup of ``iter_move``\ ","Prague","","" +"`3247 `__","``ranges::iter_move``\ should perform ADL-only lookup of ``iter_move``\ ","Prague","","","|ranges|" "`3248 `__","``std::format``\ ``#b``\ , ``#B``\ , ``#o``\ , ``#x``\ , and ``#X``\ presentation types misformat negative numbers","Prague","|Complete|","14.0","|format|" "`3250 `__","``std::format``\ : ``#``\ (alternate form) for NaN and inf","Prague","","","|format|" -"`3251 `__","Are ``std::format``\ alignment specifiers applied to string arguments?","Prague","","" -"`3252 `__","Parse locale's aware modifiers for commands are not consistent with POSIX spec","Prague","","" +"`3251 `__","Are ``std::format``\ alignment specifiers applied to string arguments?","Prague","","","|format|" +"`3252 `__","Parse locale's aware modifiers for commands are not consistent with POSIX spec","Prague","","","|chrono|" "`3254 `__","Strike ``stop_token``\ 's ``operator!=``\ ","Prague","","" "`3255 `__","``span``\ 's ``array``\ constructor is too strict","Prague","|Complete|","" -"`3260 `__","``year_month*``\ arithmetic rejects durations convertible to years","Prague","","" +"`3260 `__","``year_month*``\ arithmetic rejects durations convertible to years","Prague","","","|chrono|" "`3262 `__","Formatting of negative durations is not specified","Prague","","","|chrono| |format|" -"`3264 `__","``sized_range``\ and ``ranges::size``\ redundantly use ``disable_sized_range``\ ","Prague","","" -"`3269 `__","Parse manipulators do not specify the result of the extraction from stream","Prague","","" +"`3264 `__","``sized_range``\ and ``ranges::size``\ redundantly use ``disable_sized_range``\ ","Prague","","","|ranges|" +"`3269 `__","Parse manipulators do not specify the result of the extraction from stream","Prague","","","|chrono|" "`3270 `__","Parsing and formatting ``%j``\ with ``duration``\ s","Prague","","","|chrono| |format|" "`3280 `__","View converting constructors can cause constraint recursion and are unneeded","Prague","","","|ranges|" "`3281 `__","Conversion from ``*pair-like*``\ types to ``subrange``\ is a silent semantic promotion","Prague","","","|ranges|" "`3282 `__","``subrange``\ converting constructor should disallow derived to base conversions","Prague","","","|ranges|" -"`3284 `__","``random_access_iterator``\ semantic constraints accidentally promote difference type using unary negate","Prague","","" +"`3284 `__","``random_access_iterator``\ semantic constraints accidentally promote difference type using unary negate","Prague","","","|ranges|" "`3285 `__","The type of a customization point object shall satisfy ``semiregular``\ ","Prague","","" "`3286 `__","``ranges::size``\ is not required to be valid after a call to ``ranges::begin``\ on an input range","Prague","","","|ranges|" "`3291 `__","``iota_view::iterator``\ has the wrong ``iterator_category``\ ","Prague","","","|ranges|" "`3292 `__","``iota_view``\ is under-constrained","Prague","","","|ranges|" -"`3294 `__","``zoned_time``\ deduction guides misinterprets ``string``\ /``char*``\ ","Prague","","" +"`3294 `__","``zoned_time``\ deduction guides misinterprets ``string``\ /``char*``\ ","Prague","","","|chrono|" "`3296 `__","Inconsistent default argument for ``basic_regex<>::assign``\ ","Prague","|Complete|","" "`3299 `__","Pointers don't need customized iterator behavior","Prague","","","|ranges|" "`3300 `__","Non-array ``ssize``\ overload is underconstrained","Prague","","" @@ -235,23 +235,23 @@ "`3307 `__","``std::allocator().allocate(n)``\ ","Prague","","" "`3310 `__","Replace ``SIZE_MAX``\ with ``numeric_limits::max()``\ ","Prague","","" "`3313 `__","``join_view::iterator::operator--``\ is incorrectly constrained","Prague","","","|ranges|" -"`3314 `__","Is stream insertion behavior locale dependent when ``Period::type``\ is ``micro``\ ?","Prague","","" +"`3314 `__","Is stream insertion behavior locale dependent when ``Period::type``\ is ``micro``\ ?","Prague","","","|chrono|" "`3315 `__","Correct Allocator Default Behavior","Prague","","" -"`3316 `__","Correctly define epoch for ``utc_clock``\ / ``utc_timepoint``\ ","Prague","","" -"`3317 `__","Incorrect ``operator<<``\ for floating-point durations","Prague","","" -"`3318 `__","Clarify whether clocks can represent time before their epoch","Prague","","" -"`3319 `__","Properly reference specification of IANA time zone database","Prague","","" +"`3316 `__","Correctly define epoch for ``utc_clock``\ / ``utc_timepoint``\ ","Prague","","","|chrono|" +"`3317 `__","Incorrect ``operator<<``\ for floating-point durations","Prague","","","|chrono|" +"`3318 `__","Clarify whether clocks can represent time before their epoch","Prague","","","|chrono|" +"`3319 `__","Properly reference specification of IANA time zone database","Prague","","","|chrono|" "`3320 `__","``span::cbegin/cend``\ methods produce different results than ``std::[ranges::]cbegin/cend``\ ","Prague","|Complete|","" "`3321 `__","``uninitialized_construct_using_allocator``\ should use ``construct_at``\ ","Prague","","" "`3323 `__","``*has-tuple-element*``\ helper concept needs ``convertible_to``\ ","Prague","","","|ranges|" -"`3324 `__","Special-case ``std::strong/weak/partial_order``\ for pointers","Prague","","" +"`3324 `__","Special-case ``std::strong/weak/partial_order``\ for pointers","Prague","","","|spaceship|" "`3325 `__","Constrain return type of transformation function for ``transform_view``\ ","Prague","","","|ranges|" -"`3326 `__","``enable_view``\ has false positives","Prague","|In progress|","" +"`3326 `__","``enable_view``\ has false positives","Prague","|In progress|","","|ranges|" "`3327 `__","Format alignment specifiers vs. text direction","Prague","|Nothing To Do|","","|format|" "`3328 `__","Clarify that ``std::string``\ is not good for UTF-8","Prague","","" "`3329 `__","``totally_ordered_with``\ both directly and indirectly requires ``common_reference_with``\ ","Prague","|Complete|","13.0" -"`3330 `__","Include ````\ from most library headers","Prague","","" -"`3331 `__","Define ``totally_ordered/_with``\ in terms of ``*partially-ordered-with*``\ ","Prague","|Complete|","13.0" +"`3330 `__","Include ````\ from most library headers","Prague","","","|spaceship|" +"`3331 `__","Define ``totally_ordered/_with``\ in terms of ``partially-ordered-with``\ ","Prague","|Complete|","13.0" "`3332 `__","Issue in |sect|\ [time.format]","Prague","","","|chrono| |format|" "`3334 `__","``basic_osyncstream``\ move assignment and destruction calls ``basic_syncbuf::emit()``\ twice","Prague","","" "`3335 `__","Resolve C++20 NB comments US 273 and GB 274","Prague","","","|ranges|" @@ -261,15 +261,15 @@ "`3347 `__","``std::pair``\ now requires ``T``\ and ``U``\ to be less-than-comparable","Prague","","" "`3348 `__","``__cpp_lib_unwrap_ref``\ in wrong header","Prague","|Complete|","12.0" "`3349 `__","Missing ``__cpp_lib_constexpr_complex``\ for P0415R1","Prague","","" -"`3350 `__","Simplify return type of ``lexicographical_compare_three_way``\ ","Prague","","" -"`3351 `__","``ranges::enable_safe_range``\ should not be constrained","Prague","","" -"`3352 `__","``strong_equality``\ isn't a thing","Prague","","" -"`3354 `__","``has_strong_structural_equality``\ has a meaningless definition","Prague","","" +"`3350 `__","Simplify return type of ``lexicographical_compare_three_way``\ ","Prague","","","|spaceship|" +"`3351 `__","``ranges::enable_safe_range``\ should not be constrained","Prague","","","|ranges|" +"`3352 `__","``strong_equality``\ isn't a thing","Prague","","","|spaceship|" +"`3354 `__","``has_strong_structural_equality``\ has a meaningless definition","Prague","","","|spaceship|" "`3355 `__","The memory algorithms should support move-only input iterators introduced by P1207","Prague","","","|ranges|" "`3356 `__","``__cpp_lib_nothrow_convertible``\ should be ``__cpp_lib_is_nothrow_convertible``\ ","Prague","|Complete|","12.0" "`3358 `__","|sect|\ [span.cons] is mistaken that ``to_address``\ can throw","Prague","","" -"`3359 `__","````\ leap second support should allow for negative leap seconds","Prague","","" -"`3360 `__","``three_way_comparable_with``\ is inconsistent with similar concepts","Prague","","" +"`3359 `__","````\ leap second support should allow for negative leap seconds","Prague","","","|chrono|" +"`3360 `__","``three_way_comparable_with``\ is inconsistent with similar concepts","Prague","","","|spaceship|" "`3362 `__","Strike ``stop_source``\ 's ``operator!=``\ ","Prague","","" "`3363 `__","``drop_while_view``\ should opt-out of ``sized_range``\ ","Prague","","","|ranges|" "`3364 `__","Initialize data members of ranges and their iterators","Prague","","","|ranges|" @@ -279,21 +279,21 @@ "`3372 `__","``vformat_to``\ should not try to deduce ``Out``\ twice","Prague","","","|format|" "`3373 `__","``{to,from}_chars_result``\ and ``format_to_n_result``\ need the ""we really mean what we say"" wording","Prague","","","|format|" "`3374 `__","P0653 + P1006 should have made the other ``std::to_address``\ overload ``constexpr``\ ","Prague","|Complete|","12.0" -"`3375 `__","``decay``\ in ``viewable_range``\ should be ``remove_cvref``\ ","Prague","","" -"`3377 `__","``elements_view::iterator``\ befriends a specialization of itself","Prague","","" +"`3375 `__","``decay``\ in ``viewable_range``\ should be ``remove_cvref``\ ","Prague","","","|ranges|" +"`3377 `__","``elements_view::iterator``\ befriends a specialization of itself","Prague","","","|ranges|" "`3379 `__","""``safe``\ "" in several library names is misleading","Prague","|In Progress|","" -"`3380 `__","``common_type``\ and comparison categories","Prague","","" +"`3380 `__","``common_type``\ and comparison categories","Prague","","","|spaceship|" "`3381 `__","``begin``\ and ``data``\ must agree for ``contiguous_range``\ ","Prague","","","|ranges|" "`3382 `__","NTTP for ``pair``\ and ``array``\ ","Prague","","" -"`3383 `__","|sect|\ [time.zone.leap.nonmembers] ``sys_seconds``\ should be replaced with ``seconds``\ ","Prague","","" +"`3383 `__","|sect|\ [time.zone.leap.nonmembers] ``sys_seconds``\ should be replaced with ``seconds``\ ","Prague","","","|chrono|" "`3384 `__","``transform_view::*sentinel*``\ has an incorrect ``operator-``\ ","Prague","","","|ranges|" "`3385 `__","``common_iterator``\ is not sufficiently constrained for non-copyable iterators","Prague","","","|ranges|" "`3387 `__","|sect|\ [range.reverse.view] ``reverse_view``\ unintentionally requires ``range``\ ","Prague","","","|ranges|" "`3388 `__","``view``\ iterator types have ill-formed ``<=>``\ operators","Prague","","","|ranges|" "`3389 `__","A move-only iterator still does not have a ``counted_iterator``\ ","Prague","","","|ranges|" -"`3390 `__","``make_move_iterator()``\ cannot be used to construct a ``move_iterator``\ for a move-only iterator","Prague","","" +"`3390 `__","``make_move_iterator()``\ cannot be used to construct a ``move_iterator``\ for a move-only iterator","Prague","","","|ranges|" "`3393 `__","Missing/incorrect feature test macro for coroutines","Prague","","" -"`3395 `__","Definition for three-way comparison needs to be updated (US 152)","Prague","","" +"`3395 `__","Definition for three-way comparison needs to be updated (US 152)","Prague","","","|spaceship|" "`3396 `__","Clarify point of reference for ``source_location::current()``\ (DE 169)","Prague","","" "`3397 `__","``ranges::basic_istream_view::iterator``\ should not provide ``iterator_category``\ ","Prague","","","|ranges|" "`3398 `__","``tuple_element_t``\ is also wrong for ``const subrange``\ ","Prague","","","|ranges|" diff --git a/libcxx/docs/Status/Cxx2bIssues.csv b/libcxx/docs/Status/Cxx2bIssues.csv index efadf16..c6026d7 100644 --- a/libcxx/docs/Status/Cxx2bIssues.csv +++ b/libcxx/docs/Status/Cxx2bIssues.csv @@ -2,14 +2,14 @@ "`2839 `__","Self-move-assignment of library types, again","November 2020","","" "`3117 `__","Missing ``packaged_task`` deduction guides","November 2020","","" "`3143 `__","``monotonic_buffer_resource`` growth policy is unclear","November 2020","","" -"`3195 `__","What is the stored pointer value of an empty weak_ptr?","November 2020","","" +"`3195 `__","What is the stored pointer value of an empty ``weak_ptr``?","November 2020","","" "`3211 `__","``std::tuple<>`` should be trivially constructible","November 2020","","" -"`3236 `__","Random access iterator requirements lack limiting relational operators domain to comparing those from the same range","November 2020","","" +"`3236 `__","Random access iterator requirements lack limiting relational operators domain to comparing those from the same range","November 2020","","","|ranges|" "`3265 `__","``move_iterator``'s conversions are more broken after P1207","November 2020","Fixed by `LWG3435 `__","" "`3435 `__","``three_way_comparable_with, reverse_iterator>``","November 2020","|Complete|","13.0" -"`3432 `__","Missing requirement for comparison_category","November 2020","","" +"`3432 `__","Missing requirement for ``comparison_category``","November 2020","","","|spaceship|" "`3447 `__","Deduction guides for ``take_view`` and ``drop_view`` have different constraints","November 2020","|Complete|","14.0" -"`3450 `__","The const overloads of ``take_while_view::begin/end`` are underconstrained","November 2020","","" +"`3450 `__","The const overloads of ``take_while_view::begin/end`` are underconstrained","November 2020","","","|ranges|" "`3464 `__","``istream::gcount()`` can overflow","November 2020","","" "`2731 `__","Existence of ``lock_guard::mutex_type`` typedef unclear","November 2020","","" "`2743 `__","P0083R3 ``node_handle`` private members missing ""exposition only"" comment","November 2020","","" @@ -18,59 +18,59 @@ "`3170 `__","``is_always_equal`` added to ``std::allocator`` makes the standard library treat derived types as always equal","November 2020","","" "`3036 `__","``polymorphic_allocator::destroy`` is extraneous","November 2020","","" "`3171 `__","LWG2989 breaks ``directory_entry`` stream insertion","November 2020","","" -"`3306 `__","``ranges::advance`` violates its preconditions","November 2020","","" -"`3403 `__","Domain of ``ranges::ssize(E)`` doesn't ``match ranges::size(E)``","November 2020","","" -"`3404 `__","Finish removing subrange's conversions from pair-like","November 2020","","" -"`3405 `__","``common_view``'s converting constructor is bad, too","November 2020","","" -"`3406 `__","``elements_view::begin()`` and ``elements_view::end()`` have incompatible constraints","November 2020","","" +"`3306 `__","``ranges::advance`` violates its preconditions","November 2020","","","|ranges|" +"`3403 `__","Domain of ``ranges::ssize(E)`` doesn't ``match ranges::size(E)``","November 2020","","","|ranges|" +"`3404 `__","Finish removing subrange's conversions from pair-like","November 2020","","","|ranges|" +"`3405 `__","``common_view``'s converting constructor is bad, too","November 2020","","","|ranges|" +"`3406 `__","``elements_view::begin()`` and ``elements_view::end()`` have incompatible constraints","November 2020","","","|ranges|" "`3419 `__","[algorithms.requirements]/15 doesn't reserve as many rights as it intends to","November 2020","","" -"`3420 `__","cpp17-iterator should check that the type looks like an iterator first","November 2020","","" -"`3421 `__","Imperfect ADL emulation for boolean-testable","November 2020","","" +"`3420 `__","cpp17-iterator should check that the type looks like an iterator first","November 2020","","","|ranges|" +"`3421 `__","Imperfect ADL emulation for boolean-testable","November 2020","","","|ranges|" "`3425 `__","``condition_variable_any`` fails to constrain its Lock parameters","November 2020","","" -"`3426 `__","``operator<=>(const unique_ptr&, nullptr_t)`` can't get no satisfaction","November 2020","","" -"`3427 `__","``operator<=>(const shared_ptr&, nullptr_t)`` definition ill-formed","November 2020","","" -"`3428 `__","``single_view``'s in place constructor should be explicit","November 2020","","" +"`3426 `__","``operator<=>(const unique_ptr&, nullptr_t)`` can't get no satisfaction","November 2020","","","|spaceship|" +"`3427 `__","``operator<=>(const shared_ptr&, nullptr_t)`` definition ill-formed","November 2020","","","|spaceship|" +"`3428 `__","``single_view``'s in place constructor should be explicit","November 2020","","","|ranges|" "`3434 `__","``ios_base`` never reclaims memory for iarray and parray","November 2020","","" "`3437 `__","``__cpp_lib_polymorphic_allocator`` is in the wrong header","November 2020","","" -"`3446 `__","``indirectly_readable_traits`` ambiguity for types with both ``value_type`` and ``element_type``","November 2020","","" -"`3448 `__","``transform_view``'s sentinel not comparable with ``iterator``","November 2020","","" -"`3449 `__","take_view and take_while_view's ``sentinel`` not comparable with their const iterator","November 2020","","" -"`3453 `__","Generic code cannot call ``ranges::advance(i, s)``","November 2020","","" +"`3446 `__","``indirectly_readable_traits`` ambiguity for types with both ``value_type`` and ``element_type``","November 2020","","","|ranges|" +"`3448 `__","``transform_view``'s ``sentinel`` not comparable with ``iterator``","November 2020","","","|ranges|" +"`3449 `__","``take_view`` and ``take_while_view``'s ``sentinel`` not comparable with their ``const iterator``","November 2020","","","|ranges|" +"`3453 `__","Generic code cannot call ``ranges::advance(i, s)``","November 2020","","","|ranges|" "`3455 `__","Incorrect Postconditions on ``unique_ptr`` move assignment","November 2020","|Nothing To Do|","" "`3460 `__","Unimplementable ``noop_coroutine_handle`` guarantees","November 2020","","" -"`3461 `__","``convertible_to``'s description mishandles cv-qualified void","November 2020","","" -"`3465 `__","compare_partial_order_fallback requires ``F < E``","November 2020","","" +"`3461 `__","``convertible_to``'s description mishandles cv-qualified ``void``","November 2020","","" +"`3465 `__","``compare_partial_order_fallback`` requires ``F < E``","November 2020","","","|spaceship|" "`3466 `__","Specify the requirements for ``promise``/``future``/``shared_future`` consistently","November 2020","","" "`3467 `__","``bool`` can't be an integer-like type","November 2020","","" -"`3472 `__","``counted_iterator`` is missing preconditions","November 2020","","" -"`3473 `__","Normative encouragement in non-normative note","November 2020","","" +"`3472 `__","``counted_iterator`` is missing preconditions","November 2020","","","|ranges|" +"`3473 `__","Normative encouragement in non-normative note","November 2020","","","|format|" "`3474 `__","Nesting ``join_views`` is broken because of CTAD","November 2020","","","|ranges|" "`3476 `__","``thread`` and ``jthread`` constructors require that the parameters be move-constructible but never move construct the parameters","November 2020","","" -"`3477 `__","Simplify constraints for semiregular-box","November 2020","","" -"`3482 `__","``drop_view``'s const begin should additionally require sized_range","November 2020","","" -"`3483 `__","``transform_view::iterator``'s difference is overconstrained","November 2020","","" +"`3477 `__","Simplify constraints for ``semiregular-box``","November 2020","","","|ranges|" +"`3482 `__","``drop_view``'s const begin should additionally require ``sized_range``","November 2020","","","|ranges|" +"`3483 `__","``transform_view::iterator``'s difference is overconstrained","November 2020","","","|ranges|" "","","","","" -"`3391 `__","Problems with ``counted_iterator``/``move_iterator::base() const &``","February 2021","","" -"`3433 `__","``subrange::advance(n)`` has UB when ``n < 0``","February 2021","","" -"`3490 `__","``ranges::drop_while_view::begin()`` is missing a precondition","February 2021","","" -"`3492 `__","Minimal improvements to ``elements_view::iterator``","February 2021","","" -"`3494 `__","Allow ranges to be conditionally borrowed","February 2021","Superseded by `P2017R1 `__","" +"`3391 `__","Problems with ``counted_iterator``/``move_iterator::base() const &``","February 2021","","","|ranges|" +"`3433 `__","``subrange::advance(n)`` has UB when ``n < 0``","February 2021","","","|ranges|" +"`3490 `__","``ranges::drop_while_view::begin()`` is missing a precondition","February 2021","","","|ranges|" +"`3492 `__","Minimal improvements to ``elements_view::iterator``","February 2021","","","|ranges|" +"`3494 `__","Allow ranges to be conditionally borrowed","February 2021","Superseded by `P2017R1 `__","","|ranges|" "`3495 `__","``constexpr launder`` makes pointers to inactive members of unions usable","February 2021","","" "`3500 `__","``join_view::iterator::operator->()`` is bogus","February 2021","","","|ranges|" -"`3502 `__","``elements_view`` should not be allowed to return dangling reference","February 2021","","" +"`3502 `__","``elements_view`` should not be allowed to return dangling reference","February 2021","","","|ranges|" "`3505 `__","``split_view::outer-iterator::operator++`` misspecified","February 2021","","","|ranges|" "","","","","" `2774 `__,"``std::function`` construction vs assignment","June 2021","","" `2818 `__,"``::std::`` everywhere rule needs tweaking","June 2021","","" `2997 `__,"LWG 491 and the specification of ``{forward_,}list::unique``","June 2021","","" -`3410 `__,"``lexicographical_compare_three_way`` is overspecified","June 2021","","" +`3410 `__,"``lexicographical_compare_three_way`` is overspecified","June 2021","","","|spaceship|" `3430 `__,"``std::fstream`` & co. should be constructible from string_view","June 2021","","" `3462 `__,"§[formatter.requirements]: Formatter requirements forbid use of ``fc.arg()``","June 2021","","","|format|" `3481 `__,"``viewable_range`` mishandles lvalue move-only views","June 2021","","","|ranges|" `3506 `__,"Missing allocator-extended constructors for ``priority_queue``","June 2021","|Complete|","14.0" `3517 `__,"``join_view::iterator``'s ``iter_swap`` is underconstrained","June 2021","","","|ranges|" `3518 `__,"Exception requirements on char trait operations unclear","June 2021","","" -`3519 `__,"Incomplete synopses for classes","June 2021","","" +`3519 `__,"Incomplete synopses for ```` classes","June 2021","","" `3520 `__,"``iter_move`` and ``iter_swap`` are inconsistent for ``transform_view::iterator``","June 2021","","","|ranges|" `3521 `__,"Overly strict requirements on ``qsort`` and ``bsearch``","June 2021","","" `3522 `__,"Missing requirement on ``InputIterator`` template parameter for ``priority_queue`` constructors","June 2021","|Complete|","14.0","|ranges|" @@ -82,7 +82,7 @@ `3530 `__,"``BUILTIN-PTR-MEOW`` should not opt the type out of syntactic checks","June 2021","","" `3532 `__,"``split_view::inner-iterator::operator++(int)`` should depend on ``Base``","June 2021","","","|ranges|" `3533 `__,"Make ``base() const &`` consistent across iterator wrappers that supports ``input_iterators``","June 2021","","","|ranges|" -`3536 `__,"Should ``chrono::from_stream()`` assign zero to duration for failure?","June 2021","","" +`3536 `__,"Should ``chrono::from_stream()`` assign zero to duration for failure?","June 2021","","","|chrono|" `3539 `__,"``format_to`` must not copy models of ``output_iterator``","June 2021","","","|format|" `3540 `__,"§[format.arg] There should be no const in ``basic_format_arg(const T* p)``","June 2021","","","|format|" `3541 `__,"``indirectly_readable_traits`` should be SFINAE-friendly for all types","June 2021","","","|ranges|" @@ -101,10 +101,10 @@ `2381 `__,"Inconsistency in parsing floating point numbers","October 2021","","" `2762 `__,"``unique_ptr operator*()`` should be ``noexcept``","October 2021","","" `3121 `__,"``tuple`` constructor constraints for ``UTypes&&...`` overloads","October 2021","","" -`3123 `__,"``duration`` constructor from representation shouldn't be effectively non-throwing","October 2021","","" +`3123 `__,"``duration`` constructor from representation shouldn't be effectively non-throwing","October 2021","","","|chrono|" `3146 `__,"Excessive unwrapping in ``std::ref/cref``","October 2021","","" `3152 `__,"``common_type`` and ``common_reference`` have flaws in common","October 2021","","" -`3293 `__,"``move_iterator operator+()`` has incorrect constraints","October 2021","","" +`3293 `__,"``move_iterator operator+()`` has incorrect constraints","October 2021","","","|ranges|" `3361 `__,"``safe_range`` case","October 2021","","","|ranges|" `3392 `__,"``ranges::distance()`` cannot be used on a move-only iterator with a sized sentinel","October 2021","","","|ranges|" `3407 `__,"Some problems with the wording changes of P1739R4","October 2021","","","|ranges|" @@ -113,20 +113,20 @@ `3480 `__,"``directory_iterator`` and ``recursive_directory_iterator`` are not C++20 ranges","October 2021","|Complete|","14.0","|ranges|" `3498 `__,"Inconsistent ``noexcept``-specifiers for ``basic_syncbuf``","October 2021","","" `3535 `__,"``join_view::iterator::iterator_category`` and ``::iterator_concept`` lie","October 2021","","","|ranges|" -`3554 `__,"``chrono::parse`` needs ``const charT*`` and ``basic_string_view`` overloads","October 2021","","" +`3554 `__,"``chrono::parse`` needs ``const charT*`` and ``basic_string_view`` overloads","October 2021","","","|chrono|" `3557 `__,"The ``static_cast`` expression in ``convertible_to`` has the wrong operand","October 2021","","" `3559 `__,"Semantic requirements of ``sized_range`` is circular","October 2021","","","|ranges|" `3560 `__,"``ranges::equal`` and ``ranges::is_permutation`` should short-circuit for ``sized_ranges``","October 2021","","","|ranges|" `3561 `__,"Issue with internal counter in ``discard_block_engine``","October 2021","","" `3563 `__,"``keys_view`` example is broken","October 2021","","","|ranges|" -`3566 `__,"Constraint recursion for ``operator<=>(optional, U)``","October 2021","","" +`3566 `__,"Constraint recursion for ``operator<=>(optional, U)``","October 2021","","","|spaceship|" `3567 `__,"Formatting move-only iterators take two","October 2021","","","|format|" `3568 `__,"``basic_istream_view`` needs to initialize ``value_``","October 2021","","","|ranges|" `3570 `__,"``basic_osyncstream::emit`` should be an unformatted output function","October 2021","","" `3571 `__,"``flush_emit`` should set ``badbit`` if the ``emit`` call fails","October 2021","","" `3572 `__,"``copyable-box`` should be fully ``constexpr``","October 2021","","","|ranges|" `3573 `__,"Missing Throws element for ``basic_string_view(It begin, End end)``","October 2021","","" -`3574 `__,"``common_iterator`` should be completely ``constexpr``-able","October 2021","","" +`3574 `__,"``common_iterator`` should be completely ``constexpr``-able","October 2021","","","|ranges|" `3580 `__,"``iota_view``'s ``iterator``'s binary ``operator+`` should be improved","October 2021","","","|ranges|" `3581 `__,"The range constructor makes ``basic_string_view`` not trivially move constructible","October 2021","","","|ranges|" `3585 `__,"``variant`` converting assignment with immovable alternative","October 2021","","" @@ -135,5 +135,5 @@ `3591 `__,"``lazy_split_view::inner-iterator::base() &&`` invalidates outer iterators","October 2021","","","|ranges|" `3592 `__,"``lazy_split_view`` needs to check the simpleness of Pattern","October 2021","","","|ranges|" `3593 `__,"Several iterators' ``base() const &`` and ``lazy_split_view::outer-iterator::value_type::end()`` missing ``noexcept``","October 2021","","","|ranges|" -`3595 `__,"Exposition-only classes proxy and postfix-proxy for ``common_iterator`` should be fully ``constexpr``","October 2021","","" +`3595 `__,"Exposition-only classes proxy and postfix-proxy for ``common_iterator`` should be fully ``constexpr``","October 2021","","","|ranges|" "","","","","" -- 2.7.4