diff --git a/libcxx/docs/Status/Cxx20Issues.csv b/libcxx/docs/Status/Cxx20Issues.csv index 1a51daa0ec641..2722e0bfe0b6d 100644 --- a/libcxx/docs/Status/Cxx20Issues.csv +++ b/libcxx/docs/Status/Cxx20Issues.csv @@ -12,7 +12,7 @@ "`2961 `__","Bad postcondition for ``set_default_resource``\ ","Toronto","|Complete|","16.0" "`2966 `__","Incomplete resolution of US 74","Toronto","|Nothing To Do|","" "`2974 `__","Diagnose out of bounds ``tuple_element/variant_alternative``\ ","Toronto","|Complete|","" -"","","","","" +"","","","","","" "`2779 `__","[networking.ts] Relax requirements on buffer sequence iterators","Albuquerque","","" "`2870 `__","Default value of parameter theta of polar should be dependent","Albuquerque","|Complete|","" "`2935 `__","What should create_directories do when p already exists but is not a directory?","Albuquerque","|Nothing To Do|","" @@ -39,7 +39,7 @@ "`2998 `__","Requirements on function objects passed to {``forward_``,}list-specific algorithms","Albuquerque","|Nothing To Do|","" "`3001 `__","weak_ptr::element_type needs remove_extent_t","Albuquerque","|Complete|","14.0" "`3024 `__","variant's copies must be deleted instead of disabled via SFINAE","Albuquerque","|Complete|","" -"","","","","" +"","","","","","" "`2164 `__","What are the semantics of ``vector.emplace(vector.begin(), vector.back())``\ ?","Jacksonville","|Complete|","" "`2243 `__","``istream::putback``\ problem","Jacksonville","|Complete|","" "`2816 `__","``resize_file``\ has impossible postcondition","Jacksonville","|Nothing To Do|","" @@ -74,7 +74,7 @@ "`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|","" -"","","","","" +"","","","","","" "`2139 `__","What is a user-defined type?","Rapperswil","","" "`2970 `__","Return type of std::visit misspecified","Rapperswil","","" "`3058 `__","Parallel adjacent_difference shouldn't require creating temporaries","Rapperswil","","" @@ -90,7 +90,7 @@ "`3100 `__","Unnecessary and confusing ""empty span"" wording","Rapperswil","|Nothing To Do|","" "`3102 `__","Clarify span iterator and ``const_iterator`` behavior","Rapperswil","|Complete|","" "`3104 `__","Fixing duration division","Rapperswil","|Complete|","" -"","","","","" +"","","","","","" "`2183 `__","Muddled allocator requirements for ``match_results``\ constructors","San Diego","|Complete|","" "`2184 `__","Muddled allocator requirements for ``match_results``\ assignments","San Diego","|Complete|","" "`2412 `__","``promise::set_value()``\ and ``promise::get_future()``\ should not race","San Diego","","" @@ -128,7 +128,7 @@ "`3148 `__","````\ should be freestanding","San Diego","","" "`3153 `__","``Common``\ and ``common_type``\ have too little in common","San Diego","|Complete|","13.0" "`3154 `__","``Common``\ and ``CommonReference``\ have a common defect","San Diego","|Nothing To Do|","" -"","","","","" +"","","","","","" "`3012 `__","``atomic``\ is unimplementable for non-``is_trivially_copy_constructible T``\ ","Kona","","" "`3040 `__","``basic_string_view::starts_with``\ *Effects* are incorrect","Kona","|Complete|","" "`3077 `__","``(push|emplace)_back``\ should invalidate the ``end``\ iterator","Kona","|Nothing To Do|","" @@ -142,7 +142,7 @@ "`3179 `__","``subrange``\ should always model ``Range``\ ","Kona","|Nothing To Do|","","|ranges|" "`3180 `__","Inconsistently named return type for ``ranges::minmax_element``\ ","Kona","|Complete|","15.0","|ranges|" "`3182 `__","Specification of ``Same``\ could be clearer","Kona","|Complete|","15.0" -"","","","","" +"","","","","","" "`2899 `__","``is_(nothrow_)move_constructible``\ and ``tuple``\ , ``optional``\ and ``unique_ptr``\ ","Cologne","","" "`3055 `__","``path::operator+=(*single-character*)``\ misspecified","Cologne","|Complete|","7.0" "`3158 `__","``tuple(allocator_arg_t, const Alloc&)``\ should be conditionally explicit","Cologne","|Complete|","10.0" @@ -160,7 +160,7 @@ "`3206 `__","``year_month_day``\ conversion to ``sys_days``\ uses not-existing member function","Cologne","|Complete|","" "`3208 `__","``Boolean``\ 's expression requirements are ordered inconsistently","Cologne","|Nothing To Do|","" "`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","","","|chrono|" "`3190 `__","``std::allocator::allocate``\ sometimes returns too little storage","Belfast","|Complete|","14.0" @@ -188,7 +188,7 @@ "`3276 `__","Class ``split_view::outer_iterator::value_type``\ should inherit from ``view_interface``\ ","Belfast","|Complete|","15.0","|ranges|" "`3277 `__","Pre-increment on prvalues is not a requirement of ``weakly_incrementable``\ ","Belfast","|Nothing To Do|","","|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","","" diff --git a/libcxx/docs/Status/Cxx20Papers.csv b/libcxx/docs/Status/Cxx20Papers.csv index 9ce8af1dea7aa..43006ac9e5e84 100644 --- a/libcxx/docs/Status/Cxx20Papers.csv +++ b/libcxx/docs/Status/Cxx20Papers.csv @@ -1,7 +1,7 @@ "Paper #","Group","Paper Name","Meeting","Status","First released version","Labels" "`P0463R1 `__","LWG","Endian just Endian","Toronto","|Complete|","7.0" "`P0674R1 `__","LWG","Extending make_shared to Support Arrays","Toronto","|Complete|","15.0" -"","","","","","" +"","","","","","","" "`P0020R6 `__","LWG","Floating Point Atomic","Albuquerque","","" "`P0053R7 `__","LWG","C++ Synchronized Buffered Ostream","Albuquerque","","" "`P0202R3 `__","LWG","Add constexpr modifiers to functions in and Headers","Albuquerque","|Complete|","12.0" @@ -25,7 +25,7 @@ "`P0858R0 `__","LWG","Constexpr iterator requirements","Jacksonville","|Complete|","12.0" "`P0905R1 `__","CWG","Symmetry for spaceship","Jacksonville","","" "`P0966R1 `__","LWG","``string::reserve``\ Should Not Shrink","Jacksonville","|Complete| [#note-P0966]_","12.0" -"","","","","","" +"","","","","","","" "`P0019R8 `__","LWG","Atomic Ref","Rapperswil","","" "`P0458R2 `__","LWG","Checking for Existence of an Element in Associative Containers","Rapperswil","|Complete|","13.0" "`P0475R1 `__","LWG","LWG 2511: guaranteed copy elision for piecewise construction","Rapperswil","|Complete|","" @@ -49,7 +49,7 @@ "`P1023R0 `__","LWG","constexpr comparison operators for std::array","Rapperswil","|Complete|","8.0" "`P1025R1 `__","CWG","Update The Reference To The Unicode Standard","Rapperswil","","" "`P1120R0 `__","CWG","Consistency improvements for <=> and other comparison operators","Rapperswil","","" -"","","","","","" +"","","","","","","" "`P0318R1 `__","LWG","unwrap_ref_decay and unwrap_reference","San Diego","|Complete|","8.0" "`P0356R5 `__","LWG","Simplified partial function application","San Diego","|Complete|","13.0" "`P0357R3 `__","LWG","reference_wrapper for incomplete types","San Diego","|Complete|","8.0" @@ -79,7 +79,7 @@ "`P1248R1 `__","LWG","Remove CommonReference requirement from StrictWeakOrdering (a.k.a Fixing Relations)","San Diego","|Complete|","13.0" "`P1285R0 `__","LWG","Improving Completeness Requirements for Type Traits","San Diego","* *","" "`P1353R0 `__","CWG","Missing feature test macros","San Diego","* *","" -"","","","","","" +"","","","","","","" "`P0339R6 `__","LWG","polymorphic_allocator<> as a vocabulary type","Kona","|Complete|","16.0" "`P0340R3 `__","LWG","Making std::underlying_type SFINAE-friendly","Kona","|Complete|","9.0" "`P0738R2 `__","LWG","I Stream, You Stream, We All Stream for istream_iterator","Kona","","" @@ -97,7 +97,7 @@ "`P1462R1 `__","LWG","Mandating the Standard Library: Clause 20 - Strings library","Kona","|Complete|","9.0" "`P1463R1 `__","LWG","Mandating the Standard Library: Clause 21 - Containers library","Kona","","" "`P1464R1 `__","LWG","Mandating the Standard Library: Clause 22 - Iterators library","Kona","|Complete|","9.0" -"","","","","","" +"","","","","","","" "`P0325R4 `__","LWG","to_array from LFTS with updates","Cologne","|Complete|","10.0" "`P0408R7 `__","LWG","Efficient Access to basic_stringbuf's Buffer","Cologne","","" "`P0466R5 `__","LWG","Layout-compatibility and Pointer-interconvertibility Traits","Cologne","","" @@ -132,7 +132,7 @@ "`P1652R1 `__","LWG","Printf corner cases in std::format","Cologne","|Complete|","14.0" "`P1661R1 `__","LWG","Remove dedicated precalculated hash lookup interface","Cologne","|Nothing To Do|","" "`P1754R1 `__","LWG","Rename concepts to standard_case for C++20, while we still can","Cologne","|In Progress|","","|ranges|" -"","","","","","" +"","","","","","","" "`P0883R2 `__","LWG","Fixing Atomic Initialization","Belfast","|Complete| [#note-P0883.1]_ [#note-P0883.2]_","14.0" "`P1391R4 `__","LWG","Range constructor for std::string_view","Belfast","|Complete|","14.0","|ranges|" "`P1394R4 `__","LWG","Range constructor for std::span","Belfast","|Complete|","14.0","|ranges|" @@ -162,7 +162,7 @@ "`P1960R0 `__","LWG","NB Comment Changes Reviewed by SG1","Belfast","* *","" "`P1961R0 `__","LWG","Harmonizing the definitions of total order for pointers","Belfast","* *","" "`P1965R0 `__","LWG","Blanket Wording for Specifying ""Hidden Friends""","Belfast","* *","" -"","","","","","" +"","","","","","","" "`P0586R2 `__","LWG","Safe integral comparisons","Prague","|Complete|","13.0" "`P0593R6 `__","CWG","Implicit creation of objects for low-level object manipulation","Prague","* *","" "`P1115R3 `__","LWG","Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if","Prague","|Complete|","11.0" @@ -191,7 +191,7 @@ "`P2102R0 `__","LWG","Make 'implicit expression variations' more explicit (Wording for US185)","Prague","* *","" "`P2106R0 `__","LWG","Alternative wording for GB315 and GB316","Prague","|Complete|","15.0","|ranges|" "`P2116R0 `__","LWG","Remove tuple-like protocol support from fixed-extent span","Prague","|Complete|","11.0" -"","","","","","" +"","","","","","","" "`P2231R1 `__","LWG","Missing constexpr in std::optional and std::variant","June 2021","|Partial| [#note-P2231]_","13.0" "`P2325R3 `__","LWG","Views should not be required to be default constructible","June 2021","|In progress|","","|ranges|" "`P2210R2 `__","LWG",Superior String Splitting,"June 2021","|In progress|","","|ranges|" @@ -199,7 +199,7 @@ "`P2281R1 `__","LWG",Clarifying range adaptor objects,"June 2021","|Complete|","14.0","|ranges|" "`P2328R1 `__","LWG",join_view should join all views of ranges,"June 2021","","","|ranges|" "`P2367R0 `__","LWG",Remove misuses of list-initialization from Clause 24,"June 2021","","","|ranges|" -"","","","","","" +"","","","","","","" "`P2372R3 `__","LWG","Fixing locale handling in chrono formatters","October 2021","|In Progress|","" "`P2415R2 `__","LWG","What is a ``view``","October 2021","|Complete|","14.0","|ranges|" "`P2418R2 `__","LWG","Add support for ``std::generator``-like types to ``std::format``","October 2021","|Complete|","15.0" diff --git a/libcxx/docs/Status/Cxx2bIssues.csv b/libcxx/docs/Status/Cxx2bIssues.csv index 8171ce30c1c24..1b8a359453f80 100644 --- a/libcxx/docs/Status/Cxx2bIssues.csv +++ b/libcxx/docs/Status/Cxx2bIssues.csv @@ -49,7 +49,7 @@ "`3477 `__","Simplify constraints for ``semiregular-box``","November 2020","","","|ranges|" "`3482 `__","``drop_view``'s const begin should additionally require ``sized_range``","November 2020","|Complete|","14.0","|ranges|" "`3483 `__","``transform_view::iterator``'s difference is overconstrained","November 2020","|Complete|","14.0","|ranges|" -"","","","","" +"","","","","","" "`3391 `__","Problems with ``counted_iterator``/``move_iterator::base() const &``","February 2021","","","|ranges|" "`3433 `__","``subrange::advance(n)`` has UB when ``n < 0``","February 2021","|Complete|","14.0","|ranges|" "`3490 `__","``ranges::drop_while_view::begin()`` is missing a precondition","February 2021","|Nothing To Do|","","|ranges|" @@ -59,7 +59,7 @@ "`3500 `__","``join_view::iterator::operator->()`` is bogus","February 2021","|Complete|","14.0","|ranges|" "`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","|Nothing To Do|","" `2997 `__,"LWG 491 and the specification of ``{forward_,}list::unique``","June 2021","","" @@ -96,7 +96,7 @@ `3552 `__,"Parallel specialized memory algorithms should require forward iterators","June 2021","","" `3553 `__,"Useless constraint in ``split_view::outer-iterator::value_type::begin()``","June 2021","","","|ranges|" `3555 `__,"``{transform,elements}_view::iterator::iterator_concept`` should consider const-qualification of the underlying range","June 2021","","","|ranges|" -"","","","","" +"","","","","","" `2191 `__,"Incorrect specification of ``match_results(match_results&&)``","October 2021","|Nothing To Do|","" `2381 `__,"Inconsistency in parsing floating point numbers","October 2021","","" `2762 `__,"``unique_ptr operator*()`` should be ``noexcept``","October 2021","","" @@ -136,7 +136,7 @@ `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","|Complete|","14.0","|ranges|" -"","","","","" +"","","","","","" "`3088 `__","``forward_list::merge`` behaviour unclear when passed ``*this``","February 2022","","" "`3471 `__","``polymorphic_allocator::allocate`` does not satisfy ``Cpp17Allocator`` requirements","February 2022","","" "`3525 `__","``uses_allocator_construction_args`` fails to handle types convertible to ``pair``","February 2022","","" @@ -158,7 +158,7 @@ "`3657 `__","``std::hash`` is not enabled","February 2022","","" "`3660 `__","``iterator_traits::pointer`` should conform to ยง[iterator.traits]","February 2022","|Complete|","14.0","|ranges|" "`3661 `__","``constinit atomic> a(nullptr);`` should work","February 2022","","" -"","","","","" +"","","","","","" "`3564 `__","``transform_view::iterator::value_type`` and ``iterator_category`` should use ``const F&``","July 2022","","","|ranges|" "`3617 `__","``function``/``packaged_task`` deduction guides and deducing ``this``","July 2022","","" "`3656 `__","Inconsistent bit operations returning a count","July 2022","|Complete|","15.0","" @@ -185,7 +185,7 @@ "`3719 `__","Directory iterators should be usable with default sentinel","July 2022","","","|ranges|" "`3721 `__","Allow an ``arg-id`` with a value of zero for ``width`` in ``std-format-spec``","July 2022","|Complete|","16.0","|format|" "`3724 `__","``decay-copy`` should be constrained","July 2022","|Complete|","14.0" -"","","","","" +"","","","","","" "`3028 `__","Container requirements tables should distinguish ``const`` and non-``const`` variables", "November 2022","","","" "`3118 `__","``fpos`` equality comparison unspecified", "November 2022","","","" "`3177 `__","Limit permission to specialize variable templates to program-defined types", "November 2022","|Nothing to do|","","" @@ -244,7 +244,6 @@ "`3823 `__","Unnecessary precondition for ``is_aggregate``", "November 2022","","","" "`3824 `__","Number of ``bind`` placeholders is underspecified", "November 2022","|Nothing to do|","","" "`3826 `__","Redundant specification [for overload of yield_value]", "November 2022","","","" -"","","","","" +"","","","","","" "`3631 `__","``basic_format_arg(T&&)`` should use ``remove_cvref_t`` throughout","Not voted in","|Complete|","15.0","" "`3645 `__","``resize_and_overwrite`` is overspecified to call its callback with lvalues","Not voted in","|Complete|","14.0","" -"","","","","" diff --git a/libcxx/docs/Status/Cxx2bPapers.csv b/libcxx/docs/Status/Cxx2bPapers.csv index aacdf16a245ea..74fc7c576e4fa 100644 --- a/libcxx/docs/Status/Cxx2bPapers.csv +++ b/libcxx/docs/Status/Cxx2bPapers.csv @@ -3,14 +3,14 @@ "`P0943R6 `__","LWG","Support C atomics in C++","Autumn 2020","|Complete|","15.0" "`P1048R1 `__","LWG","A proposal for a type trait to detect scoped enumerations","Autumn 2020","|Complete|","12.0" "`P1679R3 `__","LWG","string contains function","Autumn 2020","|Complete|","12.0" -"","","","","","" +"","","","","","","" "`P1682R3 `__","LWG","std::to_underlying for enumerations","February 2021","|Complete|","13.0" "`P2017R1 `__","LWG","Conditionally borrowed ranges","February 2021","","","|ranges|" "`P2160R1 `__","LWG","Locks lock lockables","February 2021","","" "`P2162R2 `__","LWG","Inheriting from std::variant","February 2021","|Complete|","13.0" "`P2212R2 `__","LWG","Relax Requirements for time_point::clock","February 2021","","" "`P2259R1 `__","LWG","Repairing input range adaptors and counted_iterator","February 2021","","","|ranges|" -"","","","","","" +"","","","","","","" "`P0401R6 `__","LWG","Providing size feedback in the Allocator interface","June 2021","|Complete|","15.0" "`P0448R4 `__","LWG","A strstream replacement using span as buffer","June 2021","","" "`P1132R8 `__","LWG","out_ptr - a scalable output pointer abstraction","June 2021","","" @@ -22,7 +22,7 @@ "`P1989R2 `__","LWG","Range constructor for std::string_view","June 2021","|Complete|","14.0","|ranges|" "`P2136R3 `__","LWG","invoke_r","June 2021","","" "`P2166R1 `__","LWG","A Proposal to Prohibit std::basic_string and std::basic_string_view construction from nullptr","June 2021","|Complete|","13.0" -"","","","","","" +"","","","","","","" "`P0288R9 `__","LWG","``any_invocable``","October 2021","","" "`P0798R8 `__","LWG","Monadic operations for ``std::optional``","October 2021","|Complete|","14.0" "`P0849R8 `__","LWG","``auto(x)``: ``DECAY_COPY`` in the language","October 2021","|Complete|","14.0" @@ -37,7 +37,7 @@ "`P2340R1 `__","LWG","Clarifying the status of the 'C headers'","October 2021","","" "`P2393R1 `__","LWG","Cleaning up ``integer``-class types","October 2021","","" "`P2401R0 `__","LWG","Add a conditional ``noexcept`` specification to ``std::exchange``","October 2021","|Complete|","14.0" -"","","","","","" +"","","","","","","" "`P0323R12 `__","LWG","``std::expected``","February 2022","|Complete|","16.0" "`P0533R9 `__","LWG","``constexpr`` for ```` and ````","February 2022","|In progress| [#note-P0533R9]_","" "`P0627R6 `__","LWG","Function to mark unreachable code","February 2022","|Complete|","15.0" @@ -50,7 +50,7 @@ "`P2441R2 `__","LWG","``views::join_with``","February 2022","","","|ranges|" "`P2442R1 `__","LWG","Windowing range adaptors: ``views::chunk`` and ``views::slide``","February 2022","","","|ranges|" "`P2443R1 `__","LWG","``views::chunk_by``","February 2022","","","|ranges|" -"","","","","","" +"","","","","","","" "`P0009R18 `__","LWG","mdspan: A Non-Owning Multidimensional Array Reference","July 2022","","" "`P0429R9 `__","LWG","A Standard ``flat_map``","July 2022","","" "`P1169R4 `__","LWG","``static operator()``","July 2022","|Complete|","16.0" @@ -94,7 +94,7 @@ "`P2599R2 `__","LWG","``mdspan::size_type`` should be ``index_type``","July 2022","","" "`P2604R0 `__","LWG","mdspan: rename pointer and contiguous","July 2022","","" "`P2613R1 `__","LWG","Add the missing ``empty`` to ``mdspan``","July 2022","","" -"","","","","","" +"","","","","","","" "`P1202R5 `__","LWG", "Asymmetric Fences", "November 2022","","","|concurrency TS|" "`P1264R2 `__","LWG", "Revising the wording of ``stream`` input operations", "November 2022","|Complete|","9.0","" "`P1478R8 `__","LWG", "``Byte-wise`` ``atomic`` ``memcpy``", "November 2022","","","|concurrency TS|" @@ -104,4 +104,3 @@ "`P2539R4 `__","LWG", "Should the output of ``std::print`` to a terminal be synchronized with the underlying stream?", "November 2022","","","|format|" "`P2602R2 `__","LWG", "Poison Pills are Too Toxic", "November 2022","","","|ranges|" "`P2708R1 `__","LWG", "No Further Fundamentals TSes", "November 2022","|Nothing to do|","","" -"","","","","",""