diff --git a/libcxx/docs/Status/Cxx17Issues.csv b/libcxx/docs/Status/Cxx17Issues.csv index 4e8cbf9abb893..2fb7f14996be0 100644 --- a/libcxx/docs/Status/Cxx17Issues.csv +++ b/libcxx/docs/Status/Cxx17Issues.csv @@ -1,4 +1,4 @@ -"Issue #","Issue Name","Meeting","Status","First released version","Notes" +"Issue #","Issue Name","Meeting","Status","First released version","GitHub issue","Notes" "`LWG2016 `__","Allocators must be no-throw swappable","2014-11 (Urbana)","|Complete|","","`#103224 `__","" "`LWG2118 `__","``unique_ptr``\ for array does not support cv qualification conversion of actual argument","2014-11 (Urbana)","|Complete|","","`#103225 `__","" "`LWG2170 `__","Aggregates cannot be ``DefaultConstructible``\ ","2014-11 (Urbana)","|Complete|","","`#103226 `__","" @@ -23,7 +23,7 @@ "`LWG2365 `__","Missing noexcept in ``shared_ptr::shared_ptr(nullptr_t)``\ ","2014-11 (Urbana)","|Complete|","","`#103246 `__","" "`LWG2376 `__","``bad_weak_ptr::what()``\ overspecified","2014-11 (Urbana)","|Complete|","","`#103247 `__","" "`LWG2387 `__","More nested types that must be accessible and unambiguous","2014-11 (Urbana)","|Complete|","","`#103248 `__","" -"","","","","","" +"","","","","","","" "`LWG2059 `__","C++0x ambiguity problem with map::erase","2015-05 (Lenexa)","|Complete|","","`#103249 `__","" "`LWG2063 `__","Contradictory requirements for string move assignment","2015-05 (Lenexa)","|Complete|","","`#103250 `__","" "`LWG2076 `__","Bad CopyConstructible requirement in set constructors","2015-05 (Lenexa)","|Complete|","","`#103251 `__","" @@ -59,7 +59,7 @@ "`LWG2470 `__","Allocator's destroy function should be allowed to fail to instantiate","2015-05 (Lenexa)","|Complete|","","`#103283 `__","" "`LWG2482 `__","[c.strings] Table 73 mentions nonexistent functions","2015-05 (Lenexa)","|Complete|","","`#103284 `__","" "`LWG2488 `__","Placeholders should be allowed and encouraged to be constexpr","2015-05 (Lenexa)","|Complete|","","`#103285 `__","" -"","","","","","" +"","","","","","","" "`LWG1169 `__","``num_get``\ not fully compatible with ``strto*``\ ","2015-10 (Kona)","|Complete|","","`#103286 `__","" "`LWG2072 `__","Unclear wording about capacity of temporary buffers","2015-10 (Kona)","|Complete|","","`#103287 `__","" "`LWG2101 `__","Some transformation types can produce impossible types","2015-10 (Kona)","|Complete|","","`#103288 `__","" @@ -98,7 +98,7 @@ "`LWG2489 `__","``mem_fn()``\ should be ``noexcept``\ ","2015-10 (Kona)","|Complete|","","`#103335 `__","" "`LWG2492 `__","Clarify requirements for ``comp``\ ","2015-10 (Kona)","|Complete|","","`#103336 `__","" "`LWG2495 `__","There is no such thing as an Exception Safety element","2015-10 (Kona)","|Complete|","","`#103337 `__","" -"","","","","","" +"","","","","","","" "`LWG2192 `__","Validity and return type of ``std::abs(0u)``\ is unclear","2016-02 (Jacksonville)","|Complete|","","`#103338 `__","" "`LWG2276 `__","Missing requirement on ``std::promise::set_exception``\ ","2016-02 (Jacksonville)","|Complete|","","`#103339 `__","" "`LWG2296 `__","``std::addressof``\ should be ``constexpr``\ ","2016-02 (Jacksonville)","|Complete|","","`#103340 `__","" @@ -128,7 +128,7 @@ "`LWG2585 `__","``forward_list::resize(size_type, const value_type&)``\ effects incorrect","2016-02 (Jacksonville)","|Complete|","","`#103363 `__","" "`LWG2586 `__","Wrong value category used in ``scoped_allocator_adaptor::construct()``\ ","2016-02 (Jacksonville)","|Complete|","","`#103364 `__","" "`LWG2590 `__","Aggregate initialization for ``std::array``\ ","2016-02 (Jacksonville)","|Complete|","","`#103365 `__","" -"","","","","","" +"","","","","","","" "`LWG2181 `__","Exceptions from seed sequence operations","2016-06 (Oulu)","|Complete|","","`#103367 `__","" "`LWG2309 `__","mutex::lock() should not throw device_or_resource_busy","2016-06 (Oulu)","|Complete|","","`#103368 `__","" "`LWG2310 `__","Public exposition only member in std::array","2016-06 (Oulu)","|Complete|","","`#103369 `__","" @@ -179,7 +179,7 @@ "`LWG2726 `__","``[recursive_]directory_iterator::increment(error_code&)`` is underspecified","2016-06 (Oulu)","|Complete|","","`#103429 `__","" "`LWG2727 `__","Parallel algorithms with constexpr specifier","2016-06 (Oulu)","","","`#99968 `__","" "`LWG2728 `__","status(p).permissions() and symlink_status(p).permissions() are not specified","2016-06 (Oulu)","|Complete|","","`#103430 `__","" -"","","","","","" +"","","","","","","" "`LWG2062 `__","Effect contradictions w/o no-throw guarantee of std::function swaps","2016-11 (Issaquah)","|Complete|","","`#103431 `__","" "`LWG2166 `__","Heap property underspecified?","2016-11 (Issaquah)","","","`#99969 `__","" "`LWG2221 `__","No formatted output operator for nullptr","2016-11 (Issaquah)","|Complete|","","`#103432 `__","" @@ -257,7 +257,7 @@ "`LWG2773 `__","Making std::ignore constexpr","2016-11 (Issaquah)","|Complete|","","`#103541 `__","" "`LWG2777 `__","basic_string_view::copy should use char_traits::copy","2016-11 (Issaquah)","|Complete|","","`#103542 `__","" "`LWG2778 `__","basic_string_view is missing constexpr","2016-11 (Issaquah)","|Complete|","","`#103543 `__","" -"","","","","","" +"","","","","","","" "`LWG2260 `__","Missing requirement for Allocator::pointer","2017-02 (Kona)","|Complete|","","`#103544 `__","" "`LWG2676 `__","Provide filesystem::path overloads for File-based streams","2017-02 (Kona)","|Complete|","","`#103545 `__","" "`LWG2768 `__","any_cast and move semantics","2017-02 (Kona)","|Complete|","","`#103546 `__","" @@ -309,7 +309,7 @@ "`LWG2911 `__","An is_aggregate type trait is needed","2017-02 (Kona)","|Complete|","","`#103597 `__","" "`LWG2921 `__","packaged_task and type-erased allocators","2017-02 (Kona)","|Complete|","20","`#103598 `__","Originally implemented in LLVM 6 but reverted later. Old documentation incorrectly said it was implemented." "`LWG2934 `__","optional doesn't compare with T","2017-02 (Kona)","|Complete|","","`#103599 `__","" -"","","","","","" +"","","","","","","" "`LWG2901 `__","Variants cannot properly support allocators","2017-07 (Toronto)","|Complete|","","`#103600 `__","" "`LWG2955 `__","``to_chars / from_chars``\ depend on ``std::string``\ ","2017-07 (Toronto)","|Nothing To Do|","","`#103601 `__","Resolved by `P0682R1 `__" "`LWG2956 `__","``filesystem::canonical()``\ still defined in terms of ``absolute(p, base)``\ ","2017-07 (Toronto)","|Complete|","","`#103602 `__","" diff --git a/libcxx/docs/Status/Cxx17Papers.csv b/libcxx/docs/Status/Cxx17Papers.csv index ac9bb06e33ae0..1a9d3b08f3ec3 100644 --- a/libcxx/docs/Status/Cxx17Papers.csv +++ b/libcxx/docs/Status/Cxx17Papers.csv @@ -1,4 +1,4 @@ -"Paper #","Paper Name","Meeting","Status","First released version","Notes" +"Paper #","Paper Name","Meeting","Status","First released version","GitHub issue","Notes" "`N3911 `__","TransformationTrait Alias ``void_t``\ .","2014-11 (Urbana)","|Complete|","3.6","`#103603 `__","" "`N4089 `__","Safe conversions in ``unique_ptr``\ .","2014-11 (Urbana)","|Complete|","5","`#99936 `__","" "`N4169 `__","A proposal to add invoke function template","2014-11 (Urbana)","|Complete|","3.7","`#103604 `__","" @@ -10,13 +10,13 @@ "`N4280 `__","Non-member size() and more","2014-11 (Urbana)","|Complete|","3.6","`#103610 `__","" "`N4284 `__","Contiguous Iterators.","2014-11 (Urbana)","|Complete|","3.6","`#103611 `__","" "`N4285 `__","Cleanup for exception-specification and throw-expression.","2014-11 (Urbana)","|Complete|","4","`#103612 `__","" -"","","","","","" +"","","","","","","" "`N4387 `__","improving pair and tuple","2015-05 (Lenexa)","|Complete|","4","`#103613 `__","" "`N4389 `__","bool_constant","2015-05 (Lenexa)","|Complete|","3.7","`#103614 `__","" "`N4508 `__","shared_mutex for C++17","2015-05 (Lenexa)","|Complete|","3.7","`#103615 `__","" "`N4366 `__","LWG 2228 missing SFINAE rule","2015-05 (Lenexa)","|Complete|","3.1","`#103616 `__","" "`N4510 `__","Minimal incomplete type support for standard containers, revision 4","2015-05 (Lenexa)","|Complete|","3.6","`#103617 `__","" -"","","","","","" +"","","","","","","" "`P0004R1 `__","Remove Deprecated iostreams aliases.","2015-10 (Kona)","|Complete|","3.8","`#103618 `__","" "`P0006R0 `__","Adopt Type Traits Variable Templates for C++17.","2015-10 (Kona)","|Complete|","3.8","`#103619 `__","" "`P0092R1 `__","Polishing ","2015-10 (Kona)","|Complete|","3.8","`#103620 `__","" @@ -24,7 +24,7 @@ "`P0156R0 `__","Variadic lock_guard(rev 3).","2015-10 (Kona)","|Nothing To Do|","","`#103622 `__","Pulled at the 2017-01 meeting in Kona" "`P0074R0 `__","Making ``std::owner_less``\ more flexible","2015-10 (Kona)","|Complete|","3.8","`#103623 `__","" "`P0013R1 `__","Logical type traits rev 2","2015-10 (Kona)","|Complete|","3.8","`#103624 `__","" -"","","","","","" +"","","","","","","" "`P0024R2 `__","The Parallelism TS Should be Standardized","2016-02 (Jacksonville)","|Partial|","","`#99938 `__","" "`P0226R1 `__","Mathematical Special Functions for C++17","2016-02 (Jacksonville)","|In Progress|","","`#99939 `__","Progress is tracked `here `__" "`P0220R1 `__","Adopt Library Fundamentals V1 TS Components for C++17","2016-02 (Jacksonville)","|Complete|","16","`#103625 `__","" @@ -40,7 +40,7 @@ "`P0031R0 `__","A Proposal to Add Constexpr Modifiers to reverse_iterator, move_iterator, array and Range Access","2016-02 (Jacksonville)","|Complete|","4","`#103636 `__","" "`P0272R1 `__","Give ``std::string``\ a non-const ``.data()``\ member function","2016-02 (Jacksonville)","|Complete|","3.9","`#103637 `__","" "`P0077R2 `__","``is_callable``\ , the missing INVOKE related trait","2016-02 (Jacksonville)","|Complete|","3.9","`#103638 `__","" -"","","","","","" +"","","","","","","" "`P0032R3 `__","Homogeneous interface for variant, any and optional","2016-06 (Oulu)","|Complete|","4","`#103639 `__","" "`P0040R3 `__","Extending memory management tools","2016-06 (Oulu)","|Complete|","4","`#103640 `__","" "`P0063R3 `__","C++17 should refer to C11 instead of C99","2016-06 (Oulu)","|Complete|","7","`#103642 `__","" @@ -69,7 +69,7 @@ "`P0392R0 `__","Adapting string_view by filesystem paths","2016-06 (Oulu)","|Complete|","4","`#103665 `__","" "`P0393R3 `__","Making Variant Greater Equal","2016-06 (Oulu)","|Complete|","4","`#103666 `__","" "`P0394R4 `__","Hotel Parallelifornia: terminate() for Parallel Algorithms Exception Handling","2016-06 (Oulu)","|Complete|","17","`#103667 `__","" -"","","","","","" +"","","","","","","" "`P0003R5 `__","Removing Deprecated Exception Specifications from C++17","2016-11 (Issaquah)","|Complete|","5","`#103668 `__","" "`P0067R5 `__","Elementary string conversions, revision 5","2016-11 (Issaquah)","|Partial|","","`#99940 `__","For integer types, ``std::(to|from)_chars`` has been available since v7; for ``float`` and ``double``, ``std::to_chars`` since v14 and ``std::from_chars`` since v20. Support is complete except for ``long double``." "`P0403R1 `__","Literal suffixes for ``basic_string_view``\ ","2016-11 (Issaquah)","|Complete|","4","`#103669 `__","" @@ -88,7 +88,7 @@ "`P0516R0 `__","Clarify That shared_future's Copy Operations have Wide Contracts","2016-11 (Issaquah)","|Complete|","4","`#103679 `__","" "`P0517R0 `__","Make future_error Constructible","2016-11 (Issaquah)","|Complete|","4","`#103680 `__","" "`P0521R0 `__","Proposed Resolution for CA 14 (shared_ptr use_count/unique)","2016-11 (Issaquah)","|Complete|","18","`#103681 `__","" -"","","","","","" +"","","","","","","" "`P0156R2 `__","Variadic Lock guard(rev 5)","2017-02 (Kona)","|Complete|","5","`#103682 `__","" "`P0270R3 `__","Removing C dependencies from signal handler wording","2017-02 (Kona)","|Nothing To Do|","","`#99946 `__","" "`P0298R3 `__","A byte type definition","2017-02 (Kona)","|Complete|","5","`#103683 `__","" @@ -108,6 +108,6 @@ "`P0607R0 `__","Inline Variables for the Standard Library","2017-02 (Kona)","|In Progress|","6","`#99951 `__","The parts of P0607 that are not done are the ```` bits" "`P0618R0 `__","Deprecating ","2017-02 (Kona)","|Complete|","15","`#103697 `__","" "`P0623R0 `__","Final C++17 Parallel Algorithms Fixes","2017-02 (Kona)","|Nothing To Do|","","`#103698 `__","" -"","","","","","" +"","","","","","","" "`P0682R1 `__","Repairing elementary string conversions","2017-07 (Toronto)","","","`#99952 `__","" "`P0739R0 `__","Some improvements to class template argument deduction integration into the standard library","2017-07 (Toronto)","|Complete|","5","`#103699 `__","" diff --git a/libcxx/docs/Status/Cxx20Issues.csv b/libcxx/docs/Status/Cxx20Issues.csv index 646615b2d8d7f..3d01ff5bbbdfb 100644 --- a/libcxx/docs/Status/Cxx20Issues.csv +++ b/libcxx/docs/Status/Cxx20Issues.csv @@ -1,4 +1,4 @@ -"Issue #","Issue Name","Meeting","Status","First released version","Notes" +"Issue #","Issue Name","Meeting","Status","First released version","GitHub issue","Notes" "`LWG2070 `__","``allocate_shared``\ should use ``allocator_traits::construct``\ ","2017-07 (Toronto)","|Nothing To Do|","","`#103733 `__","Resolved by `P0674R1 `__" "`LWG2444 `__","Inconsistent complexity for ``std::sort_heap``\ ","2017-07 (Toronto)","|Nothing To Do|","","`#103734 `__","" "`LWG2593 `__","Moved-from state of Allocators","2017-07 (Toronto)","|Nothing To Do|","","`#100220 `__","" @@ -12,7 +12,7 @@ "`LWG2961 `__","Bad postcondition for ``set_default_resource``\ ","2017-07 (Toronto)","|Complete|","16","`#103740 `__","" "`LWG2966 `__","Incomplete resolution of US 74","2017-07 (Toronto)","|Nothing To Do|","","`#103741 `__","" "`LWG2974 `__","Diagnose out of bounds ``tuple_element/variant_alternative``\ ","2017-07 (Toronto)","|Complete|","","`#103742 `__","" -"","","","","","" +"","","","","","","" "`LWG2779 `__","[networking.ts] Relax requirements on buffer sequence iterators","2017-11 (Albuquerque)","|Nothing To Do|","","`#100223 `__","" "`LWG2870 `__","Default value of parameter theta of polar should be dependent","2017-11 (Albuquerque)","|Complete|","","`#103743 `__","" "`LWG2935 `__","What should create_directories do when p already exists but is not a directory?","2017-11 (Albuquerque)","|Nothing To Do|","","`#103744 `__","" @@ -39,7 +39,7 @@ "`LWG2998 `__","Requirements on function objects passed to {``forward_``,}list-specific algorithms","2017-11 (Albuquerque)","|Nothing To Do|","","`#103762 `__","" "`LWG3001 `__","weak_ptr::element_type needs remove_extent_t","2017-11 (Albuquerque)","|Complete|","14","`#103763 `__","" "`LWG3024 `__","variant's copies must be deleted instead of disabled via SFINAE","2017-11 (Albuquerque)","|Complete|","","`#103764 `__","" -"","","","","","" +"","","","","","","" "`LWG2164 `__","What are the semantics of ``vector.emplace(vector.begin(), vector.back())``\ ?","2018-03 (Jacksonville)","|Complete|","","`#103765 `__","" "`LWG2243 `__","``istream::putback``\ problem","2018-03 (Jacksonville)","|Complete|","","`#103766 `__","" "`LWG2816 `__","``resize_file``\ has impossible postcondition","2018-03 (Jacksonville)","|Nothing To Do|","","`#103770 `__","" @@ -74,7 +74,7 @@ "`LWG3048 `__","``transform_reduce(exec, first1, last1, first2, init)``\ discards execution policy","2018-03 (Jacksonville)","|Complete|","17","`#103794 `__","" "`LWG3051 `__","Floating point classifications were inadvertently changed in P0175","2018-03 (Jacksonville)","|Nothing To Do|","","`#103795 `__","" "`LWG3075 `__","``basic_string``\ needs deduction guides from ``basic_string_view``\ ","2018-03 (Jacksonville)","|Complete|","","`#103796 `__","" -"","","","","","" +"","","","","","","" "`LWG2139 `__","What is a user-defined type?","2018-06 (Rapperswil)","","","`#100233 `__","" "`LWG2970 `__","Return type of std::visit misspecified","2018-06 (Rapperswil)","|Complete|","11","`#103797 `__","" "`LWG3058 `__","Parallel adjacent_difference shouldn't require creating temporaries","2018-06 (Rapperswil)","","","`#100234 `__","" @@ -90,7 +90,7 @@ "`LWG3100 `__","Unnecessary and confusing ""empty span"" wording","2018-06 (Rapperswil)","|Nothing To Do|","","`#103803 `__","" "`LWG3102 `__","Clarify span iterator and ``const_iterator`` behavior","2018-06 (Rapperswil)","|Complete|","","`#103804 `__","" "`LWG3104 `__","Fixing duration division","2018-06 (Rapperswil)","|Complete|","","`#103805 `__","" -"","","","","","" +"","","","","","","" "`LWG2183 `__","Muddled allocator requirements for ``match_results``\ constructors","2018-11 (San Diego)","|Complete|","","`#103806 `__","" "`LWG2184 `__","Muddled allocator requirements for ``match_results``\ assignments","2018-11 (San Diego)","|Complete|","","`#103807 `__","" "`LWG2412 `__","``promise::set_value()``\ and ``promise::get_future()``\ should not race","2018-11 (San Diego)","","","`#100239 `__","" @@ -128,7 +128,7 @@ "`LWG3148 `__","````\ should be freestanding","2018-11 (San Diego)","","","`#100250 `__","" "`LWG3153 `__","``Common``\ and ``common_type``\ have too little in common","2018-11 (San Diego)","|Complete|","13","`#103831 `__","" "`LWG3154 `__","``Common``\ and ``CommonReference``\ have a common defect","2018-11 (San Diego)","|Nothing To Do|","","`#103832 `__","" -"","","","","","" +"","","","","","","" "`LWG3012 `__","``atomic``\ is unimplementable for non-``is_trivially_copy_constructible T``\ ","2019-02 (Kona)","","","`#100252 `__","" "`LWG3040 `__","``basic_string_view::starts_with``\ *Effects* are incorrect","2019-02 (Kona)","|Complete|","","`#103834 `__","" "`LWG3077 `__","``(push|emplace)_back``\ should invalidate the ``end``\ iterator","2019-02 (Kona)","|Nothing To Do|","","`#103835 `__","" @@ -142,7 +142,7 @@ "`LWG3179 `__","``subrange``\ should always model ``Range``\ ","2019-02 (Kona)","|Nothing To Do|","","`#103842 `__","" "`LWG3180 `__","Inconsistently named return type for ``ranges::minmax_element``\ ","2019-02 (Kona)","|Complete|","15","`#103844 `__","" "`LWG3182 `__","Specification of ``Same``\ could be clearer","2019-02 (Kona)","|Complete|","15","`#103845 `__","" -"","","","","","" +"","","","","","","" "`LWG2899 `__","``is_(nothrow_)move_constructible``\ and ``tuple``\ , ``optional``\ and ``unique_ptr``\ ","2019-07 (Cologne)","","","`#100255 `__","" "`LWG3055 `__","``path::operator+=(*single-character*)``\ misspecified","2019-07 (Cologne)","|Complete|","7","`#103846 `__","" "`LWG3158 `__","``tuple(allocator_arg_t, const Alloc&)``\ should be conditionally explicit","2019-07 (Cologne)","|Complete|","10","`#103847 `__","" @@ -160,7 +160,7 @@ "`LWG3206 `__","``year_month_day``\ conversion to ``sys_days``\ uses not-existing member function","2019-07 (Cologne)","|Complete|","","`#103858 `__","" "`LWG3208 `__","``Boolean``\ 's expression requirements are ordered inconsistently","2019-07 (Cologne)","|Nothing To Do|","","`#103860 `__","" "`LWG3209 `__","Expression in ``year::ok()``\ returns clause is ill-formed","2019-07 (Cologne)","|Complete|","","`#103861 `__","" -"","","","","","" +"","","","","","","" "`LWG3231 `__","``year_month_day_last::day``\ specification does not cover ``!ok()``\ values","2019-11 (Belfast)","|Nothing To Do|","","`#103862 `__","" "`LWG3225 `__","``zoned_time``\ converting constructor shall not be ``noexcept``\ ","2019-11 (Belfast)","|Complete|","19","`#103863 `__","" "`LWG3190 `__","``std::allocator::allocate``\ sometimes returns too little storage","2019-11 (Belfast)","|Complete|","14","`#103864 `__","" @@ -188,7 +188,7 @@ "`LWG3276 `__","Class ``split_view::outer_iterator::value_type``\ should inherit from ``view_interface``\ ","2019-11 (Belfast)","|Complete|","15","`#103881 `__","" "`LWG3277 `__","Pre-increment on prvalues is not a requirement of ``weakly_incrementable``\ ","2019-11 (Belfast)","|Nothing To Do|","","`#103882 `__","" "`LWG3149 `__","``DefaultConstructible``\ should require default initialization","2019-11 (Belfast)","|Complete|","13","`#103883 `__","" -"","","","","","" +"","","","","","","" "`LWG1203 `__","More useful rvalue stream insertion","2020-02 (Prague)","|Complete|","12","`#103884 `__","" "`LWG2859 `__","Definition of *reachable* in [ptr.launder] misses pointer arithmetic from pointer-interconvertible object","2020-02 (Prague)","","","`#100269 `__","" "`LWG3018 `__","``shared_ptr``\ of function type","2020-02 (Prague)","|Nothing To Do|","","`#103885 `__","" @@ -298,5 +298,5 @@ "`LWG3396 `__","Clarify point of reference for ``source_location::current()``\ (DE 169)","2020-02 (Prague)","|Nothing To Do|","16","`#103995 `__","" "`LWG3397 `__","``ranges::basic_istream_view::iterator``\ should not provide ``iterator_category``\ ","2020-02 (Prague)","|Complete|","16","`#103996 `__","" "`LWG3398 `__","``tuple_element_t``\ is also wrong for ``const subrange``\ ","2020-02 (Prague)","|Complete|","14","`#103997 `__","" -"","","","","","" +"","","","","","","" "`LWG3446 `__","``indirectly_readable_traits``\ ambiguity for types with both ``value_type``\ and ``element_type``\ ","2020-11 (Virtual)","|Complete|","13","`#103998 `__","" diff --git a/libcxx/docs/Status/Cxx20Papers.csv b/libcxx/docs/Status/Cxx20Papers.csv index a0c49df0a3f87..7fbccde688009 100644 --- a/libcxx/docs/Status/Cxx20Papers.csv +++ b/libcxx/docs/Status/Cxx20Papers.csv @@ -1,7 +1,7 @@ -"Paper #","Paper Name","Meeting","Status","First released version","Notes" +"Paper #","Paper Name","Meeting","Status","First released version","GitHub issue","Notes" "`P0463R1 `__","Endian just Endian","2017-07 (Toronto)","|Complete|","7","`#103999 `__","" "`P0674R1 `__","Extending make_shared to Support Arrays","2017-07 (Toronto)","|Complete|","15","`#104000 `__","" -"","","","","","" +"","","","","","","" "`P0020R6 `__","Floating Point Atomic","2017-11 (Albuquerque)","|Complete|","18","`#104001 `__","The feature-test macro was not set until LLVM 20." "`P0053R7 `__","C++ Synchronized Buffered Ostream","2017-11 (Albuquerque)","|Complete|","18","`#104002 `__","" "`P0202R3 `__","Add constexpr modifiers to functions in and Headers","2017-11 (Albuquerque)","|Complete|","12","`#104003 `__","" @@ -16,7 +16,7 @@ "`P0767R1 `__","Deprecate POD","2017-11 (Albuquerque)","|Complete|","21","`#104013 `__","It was previously erroneously marked as complete in LLVM 7." "`P0768R1 `__","Library Support for the Spaceship (Comparison) Operator","2017-11 (Albuquerque)","|Complete|","","`#104014 `__","" "`P0777R1 `__","Treating Unnecessary ``decay``\ ","2017-11 (Albuquerque)","|Complete|","7","`#104016 `__","" -"","","","","","" +"","","","","","","" "`P0122R7 `__","","2018-03 (Jacksonville)","|Complete|","7","`#104017 `__","" "`P0355R7 `__","Extending chrono to Calendars and Time Zones","2018-03 (Jacksonville)","|Partial|","","`#99982 `__","See the `Github issue `__ for detailed status" "`P0551R3 `__","Thou Shalt Not Specialize ``std``\ Function Templates!","2018-03 (Jacksonville)","|Complete|","11","`#104018 `__","" @@ -26,7 +26,7 @@ "`P0858R0 `__","Constexpr iterator requirements","2018-03 (Jacksonville)","|Complete|","12","`#104024 `__","" "`P0905R1 `__","Symmetry for spaceship","2018-03 (Jacksonville)","|Complete|","7","`#104025 `__","" "`P0966R1 `__","``string::reserve``\ Should Not Shrink","2018-03 (Jacksonville)","|Complete|","12","`#104026 `__","It was previously erroneously marked as complete in version 8. See `bug 45368 `__" -"","","","","","" +"","","","","","","" "`P0019R8 `__","Atomic Ref","2018-06 (Rapperswil)","|Complete|","19","`#104028 `__","" "`P0458R2 `__","Checking for Existence of an Element in Associative Containers","2018-06 (Rapperswil)","|Complete|","13","`#104029 `__","" "`P0475R1 `__","LWG 2511: guaranteed copy elision for piecewise construction","2018-06 (Rapperswil)","|Complete|","","`#104031 `__","" @@ -50,7 +50,7 @@ "`P1023R0 `__","constexpr comparison operators for std::array","2018-06 (Rapperswil)","|Complete|","8","`#104103 `__","" "`P1025R1 `__","Update The Reference To The Unicode Standard","2018-06 (Rapperswil)","","","`#100598 `__","" "`P1120R0 `__","Consistency improvements for <=> and other comparison operators","2018-06 (Rapperswil)","","","`#99989 `__","" -"","","","","","" +"","","","","","","" "`P0318R1 `__","unwrap_ref_decay and unwrap_reference","2018-11 (San Diego)","|Complete|","8","`#104105 `__","" "`P0356R5 `__","Simplified partial function application","2018-11 (San Diego)","|Complete|","13","`#104106 `__","" "`P0357R3 `__","reference_wrapper for incomplete types","2018-11 (San Diego)","|Complete|","8","`#104107 `__","" @@ -80,7 +80,7 @@ "`P1248R1 `__","Remove CommonReference requirement from StrictWeakOrdering (a.k.a Fixing Relations)","2018-11 (San Diego)","|Complete|","13","`#104131 `__","" "`P1285R0 `__","Improving Completeness Requirements for Type Traits","2018-11 (San Diego)","","","`#99995 `__","" "`P1353R0 `__","Missing feature test macros","2018-11 (San Diego)","|Complete|","19","`#100006 `__","" -"","","","","","" +"","","","","","","" "`P0339R6 `__","polymorphic_allocator<> as a vocabulary type","2019-02 (Kona)","|Complete|","16","`#104132 `__","" "`P0340R3 `__","Making std::underlying_type SFINAE-friendly","2019-02 (Kona)","|Complete|","9","`#104133 `__","" "`P0738R2 `__","I Stream, You Stream, We All Stream for istream_iterator","2019-02 (Kona)","","","`#100007 `__","" @@ -98,7 +98,7 @@ "`P1462R1 `__","Mandating the Standard Library: Clause 20 - Strings library","2019-02 (Kona)","|Complete|","9","`#104145 `__","" "`P1463R1 `__","Mandating the Standard Library: Clause 21 - Containers library","2019-02 (Kona)","","","`#100010 `__","" "`P1464R1 `__","Mandating the Standard Library: Clause 22 - Iterators library","2019-02 (Kona)","|Complete|","9","`#104147 `__","" -"","","","","","" +"","","","","","","" "`P0325R4 `__","to_array from LFTS with updates","2019-07 (Cologne)","|Complete|","10","`#104149 `__","" "`P0408R7 `__","Efficient Access to basic_stringbuf's Buffer","2019-07 (Cologne)","|Complete|","17","`#104150 `__","" "`P0466R5 `__","Layout-compatibility and Pointer-interconvertibility Traits","2019-07 (Cologne)","","","`#100013 `__","" @@ -133,7 +133,7 @@ "`P1652R1 `__","Printf corner cases in std::format","2019-07 (Cologne)","|Complete|","14","`#104177 `__","" "`P1661R1 `__","Remove dedicated precalculated hash lookup interface","2019-07 (Cologne)","|Nothing To Do|","","`#104178 `__","" "`P1754R1 `__","Rename concepts to standard_case for C++20, while we still can","2019-07 (Cologne)","|Complete|","15","`#104179 `__","" -"","","","","","" +"","","","","","","" "`P0883R2 `__","Fixing Atomic Initialization","2019-11 (Belfast)","|Complete|","14","`#104180 `__","shared_ptr and floating-point changes weren't applied as they themselves aren't implemented yet. Also, ``ATOMIC_FLAG_INIT`` was marked deprecated in version 14, but was undeprecated with the implementation of LWG3659 in version 15." "`P1391R4 `__","Range constructor for std::string_view","2019-11 (Belfast)","|Complete|","14","`#104181 `__","" "`P1394R4 `__","Range constructor for std::span","2019-11 (Belfast)","|Complete|","14","`#104182 `__","" @@ -163,7 +163,7 @@ "`P1960R0 `__","NB Comment Changes Reviewed by SG1","2019-11 (Belfast)","","","`#100033 `__","" "`P1961R0 `__","Harmonizing the definitions of total order for pointers","2019-11 (Belfast)","","","`#100611 `__","" "`P1965R0 `__","Blanket Wording for Specifying ""Hidden Friends""","2019-11 (Belfast)","","","`#100034 `__","" -"","","","","","" +"","","","","","","" "`P0586R2 `__","Safe integral comparisons","2020-02 (Prague)","|Complete|","13","`#104199 `__","" "`P0593R6 `__","Implicit creation of objects for low-level object manipulation","2020-02 (Prague)","","","`#100035 `__","" "`P1115R3 `__","Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if","2020-02 (Prague)","|Complete|","11","`#104200 `__","" @@ -191,7 +191,7 @@ "`P2102R0 `__","Make 'implicit expression variations' more explicit (Wording for US185)","2020-02 (Prague)","|Complete|","15","`#100042 `__","" "`P2106R0 `__","Alternative wording for GB315 and GB316","2020-02 (Prague)","|Complete|","15","`#104215 `__","" "`P2116R0 `__","Remove tuple-like protocol support from fixed-extent span","2020-02 (Prague)","|Complete|","11","`#104216 `__","" -"","","","","","" +"","","","","","","" "`P2231R1 `__","Missing constexpr in std::optional and std::variant","2021-06 (Virtual)","|Complete|","19","`#104217 `__","Changes of feature-test macros are completed in LLVM 20." "`P2325R3 `__","Views should not be required to be default constructible","2021-06 (Virtual)","|Complete|","16","`#104218 `__","" "`P2210R2 `__","Superior String Splitting","2021-06 (Virtual)","|Complete|","16","`#104219 `__","" @@ -199,7 +199,7 @@ "`P2281R1 `__","Clarifying range adaptor objects","2021-06 (Virtual)","|Complete|","14","`#104221 `__","" "`P2328R1 `__","join_view should join all views of ranges","2021-06 (Virtual)","|Complete|","15","`#104222 `__","" "`P2367R0 `__","Remove misuses of list-initialization from Clause 24","2021-06 (Virtual)","|Complete|","15","`#104223 `__","" -"","","","","","" +"","","","","","","" "`P2372R3 `__","Fixing locale handling in chrono formatters","2021-10 (Virtual)","|Complete|","21","`#100043 `__","" "`P2415R2 `__","What is a ``view``","2021-10 (Virtual)","|Complete|","14","`#104224 `__","" "`P2418R2 `__","Add support for ``std::generator``-like types to ``std::format``","2021-10 (Virtual)","|Complete|","15","`#104225 `__","" diff --git a/libcxx/docs/Status/Cxx23Issues.csv b/libcxx/docs/Status/Cxx23Issues.csv index 9318176ac964a..5a68b51ec85fb 100644 --- a/libcxx/docs/Status/Cxx23Issues.csv +++ b/libcxx/docs/Status/Cxx23Issues.csv @@ -1,4 +1,4 @@ -"Issue #","Issue Name","Meeting","Status","First released version","Notes" +"Issue #","Issue Name","Meeting","Status","First released version","GitHub issue","Notes" "`LWG2839 `__","Self-move-assignment of library types, again","2020-11 (Virtual)","|Nothing To Do|","","`#104255 `__","" "`LWG3117 `__","Missing ``packaged_task`` deduction guides","2020-11 (Virtual)","|Complete|","16","`#104256 `__","" "`LWG3143 `__","``monotonic_buffer_resource`` growth policy is unclear","2020-11 (Virtual)","","","`#104258 `__","" @@ -49,7 +49,7 @@ "`LWG3477 `__","Simplify constraints for ``semiregular-box``","2020-11 (Virtual)","|Complete|","13","`#104308 `__","" "`LWG3482 `__","``drop_view``'s const begin should additionally require ``sized_range``","2020-11 (Virtual)","|Complete|","14","`#104309 `__","" "`LWG3483 `__","``transform_view::iterator``'s difference is overconstrained","2020-11 (Virtual)","|Complete|","14","`#104310 `__","" -"","","","","","" +"","","","","","","" "`LWG3391 `__","Problems with ``counted_iterator``/``move_iterator::base() const &``","2021-02 (Virtual)","","","`#104311 `__","" "`LWG3433 `__","``subrange::advance(n)`` has UB when ``n < 0``","2021-02 (Virtual)","|Complete|","14","`#104312 `__","" "`LWG3490 `__","``ranges::drop_while_view::begin()`` is missing a precondition","2021-02 (Virtual)","|Nothing To Do|","","`#104313 `__","" @@ -59,7 +59,7 @@ "`LWG3500 `__","``join_view::iterator::operator->()`` is bogus","2021-02 (Virtual)","|Complete|","14","`#104318 `__","" "`LWG3502 `__","``elements_view`` should not be allowed to return dangling reference","2021-02 (Virtual)","|Complete|","16","`#104319 `__","" "`LWG3505 `__","``split_view::outer-iterator::operator++`` misspecified","2021-02 (Virtual)","","","`#104320 `__","" -"","","","","","" +"","","","","","","" "`LWG2774 `__","``std::function`` construction vs assignment","2021-06 (Virtual)","","","`#104321 `__","" "`LWG2818 `__","``::std::`` everywhere rule needs tweaking","2021-06 (Virtual)","|Nothing To Do|","","`#104322 `__","" "`LWG2997 `__","LWG 491 and the specification of ``{forward_,}list::unique``","2021-06 (Virtual)","","","`#104323 `__","" @@ -96,7 +96,7 @@ "`LWG3552 `__","Parallel specialized memory algorithms should require forward iterators","2021-06 (Virtual)","","","`#104357 `__","" "`LWG3553 `__","Useless constraint in ``split_view::outer-iterator::value_type::begin()``","2021-06 (Virtual)","","","`#104358 `__","" "`LWG3555 `__","``{transform,elements}_view::iterator::iterator_concept`` should consider const-qualification of the underlying range","2021-06 (Virtual)","","","`#104359 `__","" -"","","","","","" +"","","","","","","" "`LWG2191 `__","Incorrect specification of ``match_results(match_results&&)``","2021-10 (Virtual)","|Nothing To Do|","","`#104360 `__","" "`LWG2381 `__","Inconsistency in parsing floating point numbers","2021-10 (Virtual)","|Complete|","19","`#104361 `__","" "`LWG2762 `__","``unique_ptr operator*()`` should be ``noexcept``","2021-10 (Virtual)","|Complete|","19","`#104362 `__","" @@ -136,7 +136,7 @@ "`LWG3592 `__","``lazy_split_view`` needs to check the simpleness of Pattern","2021-10 (Virtual)","","","`#104938 `__","" "`LWG3593 `__","Several iterators' ``base() const &`` and ``lazy_split_view::outer-iterator::value_type::end()`` missing ``noexcept``","2021-10 (Virtual)","","","`#104939 `__","" "`LWG3595 `__","Exposition-only classes proxy and postfix-proxy for ``common_iterator`` should be fully ``constexpr``","2021-10 (Virtual)","|Complete|","14","`#104940 `__","" -"","","","","","" +"","","","","","","" "`LWG3088 `__","``forward_list::merge`` behaviour unclear when passed ``*this``","2022-02 (Virtual)","|Complete|","Yes","`#104942 `__","" "`LWG3471 `__","``polymorphic_allocator::allocate`` does not satisfy ``Cpp17Allocator`` requirements","2022-02 (Virtual)","","","`#104943 `__","" "`LWG3525 `__","``uses_allocator_construction_args`` fails to handle types convertible to ``pair``","2022-02 (Virtual)","","","`#104944 `__","" @@ -158,7 +158,7 @@ "`LWG3657 `__","``std::hash`` is not enabled","2022-02 (Virtual)","|Complete|","17","`#104960 `__","" "`LWG3660 `__","``iterator_traits::pointer`` should conform to §[iterator.traits]","2022-02 (Virtual)","|Complete|","14","`#104961 `__","" "`LWG3661 `__","``constinit atomic> a(nullptr);`` should work","2022-02 (Virtual)","","","`#104962 `__","" -"","","","","","" +"","","","","","","" "`LWG3564 `__","``transform_view::iterator::value_type`` and ``iterator_category`` should use ``const F&``","2022-07 (Virtual)","|Complete|","20","`#104963 `__","" "`LWG3617 `__","``function``/``packaged_task`` deduction guides and deducing ``this``","2022-07 (Virtual)","","","`#104965 `__","" "`LWG3656 `__","Inconsistent bit operations returning a count","2022-07 (Virtual)","|Complete|","15","`#104966 `__","" @@ -185,7 +185,7 @@ "`LWG3719 `__","Directory iterators should be usable with default sentinel","2022-07 (Virtual)","|Complete|","17","`#104992 `__","" "`LWG3721 `__","Allow an ``arg-id`` with a value of zero for ``width`` in ``std-format-spec``","2022-07 (Virtual)","|Complete|","16","`#104993 `__","" "`LWG3724 `__","``decay-copy`` should be constrained","2022-07 (Virtual)","|Complete|","14","`#104994 `__","" -"","","","","","" +"","","","","","","" "`LWG3028 `__","Container requirements tables should distinguish ``const`` and non-``const`` variables","2022-11 (Kona)","","","`#104995 `__","" "`LWG3118 `__","``fpos`` equality comparison unspecified","2022-11 (Kona)","","","`#104996 `__","" "`LWG3177 `__","Limit permission to specialize variable templates to program-defined types","2022-11 (Kona)","|Nothing To Do|","","`#104997 `__","" @@ -244,7 +244,7 @@ "`LWG3823 `__","Unnecessary precondition for ``is_aggregate``","2022-11 (Kona)","|Nothing To Do|","","`#105058 `__","" "`LWG3824 `__","Number of ``bind`` placeholders is underspecified","2022-11 (Kona)","|Nothing To Do|","","`#105060 `__","" "`LWG3826 `__","Redundant specification [for overload of yield_value]","2022-11 (Kona)","|Nothing To Do|","","`#105061 `__","" -"","","","","","" +"","","","","","","" "`LWG2195 `__","Missing constructors for ``match_results``","2023-02 (Issaquah)","","","`#105062 `__","" "`LWG2295 `__","Locale name when the provided ``Facet`` is a ``nullptr``","2023-02 (Issaquah)","","","`#105063 `__","" "`LWG3032 `__","``ValueSwappable`` requirement missing for ``push_heap`` and ``make_heap``","2023-02 (Issaquah)","","","`#105064 `__","" diff --git a/libcxx/docs/Status/Cxx23Papers.csv b/libcxx/docs/Status/Cxx23Papers.csv index 3a87e64339e1f..b655384bad7f2 100644 --- a/libcxx/docs/Status/Cxx23Papers.csv +++ b/libcxx/docs/Status/Cxx23Papers.csv @@ -1,16 +1,16 @@ -"Paper #","Paper Name","Meeting","Status","First released version","Notes" +"Paper #","Paper Name","Meeting","Status","First released version","GitHub issue","Notes" "`P0881R7 `__","A Proposal to add stacktrace library","2020-11 (Virtual)","","","`#105131 `__","" "`P0943R6 `__","Support C atomics in C++","2020-11 (Virtual)","|Complete|","15","`#105132 `__","" "`P1048R1 `__","A proposal for a type trait to detect scoped enumerations","2020-11 (Virtual)","|Complete|","12","`#105134 `__","" "`P1679R3 `__","string contains function","2020-11 (Virtual)","|Complete|","12","`#105135 `__","" -"","","","","","" +"","","","","","","" "`P1682R3 `__","std::to_underlying for enumerations","2021-02 (Virtual)","|Complete|","13","`#105136 `__","" "`P2017R1 `__","Conditionally borrowed ranges","2021-02 (Virtual)","|Complete|","16","`#105138 `__","" "`P2160R1 `__","Locks lock lockables","2021-02 (Virtual)","|Nothing To Do|","","`#105139 `__","" "`P2162R2 `__","Inheriting from std::variant","2021-02 (Virtual)","|Complete|","13","`#105140 `__","" "`P2212R2 `__","Relax Requirements for time_point::clock","2021-02 (Virtual)","|Nothing To Do|","","`#105141 `__","" "`P2259R1 `__","Repairing input range adaptors and counted_iterator","2021-02 (Virtual)","","","`#105142 `__","" -"","","","","","" +"","","","","","","" "`P0401R6 `__","Providing size feedback in the Allocator interface","2021-06 (Virtual)","|Complete|","15","`#105144 `__","" "`P0448R4 `__","A strstream replacement using span as buffer","2021-06 (Virtual)","","","`#105145 `__","" "`P1132R8 `__","out_ptr - a scalable output pointer abstraction","2021-06 (Virtual)","|Complete|","19","`#105146 `__","" @@ -22,7 +22,7 @@ "`P1989R2 `__","Range constructor for std::string_view","2021-06 (Virtual)","|Complete|","14","`#105154 `__","" "`P2136R3 `__","invoke_r","2021-06 (Virtual)","|Complete|","17","`#105155 `__","" "`P2166R1 `__","A Proposal to Prohibit std::basic_string and std::basic_string_view construction from nullptr","2021-06 (Virtual)","|Complete|","13","`#105156 `__","" -"","","","","","" +"","","","","","","" "`P0288R9 `__","``any_invocable``","2021-10 (Virtual)","","","`#105157 `__","" "`P0798R8 `__","Monadic operations for ``std::optional``","2021-10 (Virtual)","|Complete|","14","`#105158 `__","" "`P0849R8 `__","``auto(x)``: ``DECAY_COPY`` in the language","2021-10 (Virtual)","|Complete|","14","`#105159 `__","" @@ -37,7 +37,7 @@ "`P2340R1 `__","Clarifying the status of the 'C headers'","2021-10 (Virtual)","|Nothing To Do|","","`#105170 `__","" "`P2393R1 `__","Cleaning up ``integer``-class types","2021-10 (Virtual)","","","`#105171 `__","" "`P2401R0 `__","Add a conditional ``noexcept`` specification to ``std::exchange``","2021-10 (Virtual)","|Complete|","14","`#105172 `__","" -"","","","","","" +"","","","","","","" "`P0323R12 `__","``std::expected``","2022-02 (Virtual)","|Complete|","16","`#105173 `__","" "`P0533R9 `__","``constexpr`` for ```` and ````","2022-02 (Virtual)","|In Progress|","","`#105174 `__","``isfinite``, ``isinf``, ``isnan`` and ``isnormal`` are implemented" "`P0627R6 `__","Function to mark unreachable code","2022-02 (Virtual)","|Complete|","15","`#105175 `__","" @@ -50,7 +50,7 @@ "`P2441R2 `__","``views::join_with``","2022-02 (Virtual)","|Complete|","21","`#105185 `__","" "`P2442R1 `__","Windowing range adaptors: ``views::chunk`` and ``views::slide``","2022-02 (Virtual)","","","`#105187 `__","" "`P2443R1 `__","``views::chunk_by``","2022-02 (Virtual)","|Complete|","18","`#105188 `__","" -"","","","","","" +"","","","","","","" "`P0009R18 `__","mdspan: A Non-Owning Multidimensional Array Reference","2022-07 (Virtual)","|Complete|","18","`#105189 `__","" "`P0429R9 `__","A Standard ``flat_map``","2022-07 (Virtual)","|Complete|","20","`#105190 `__","" "`P1169R4 `__","``static operator()``","2022-07 (Virtual)","|Complete|","16","`#105192 `__","" @@ -91,7 +91,7 @@ "`P2599R2 `__","``mdspan::size_type`` should be ``index_type``","2022-07 (Virtual)","|Complete|","18","`#105235 `__","" "`P2604R0 `__","mdspan: rename pointer and contiguous","2022-07 (Virtual)","|Complete|","18","`#105236 `__","" "`P2613R1 `__","Add the missing ``empty`` to ``mdspan``","2022-07 (Virtual)","|Complete|","18","`#105237 `__","" -"","","","","","" +"","","","","","","" "`P1202R5 `__","Asymmetric Fences","2022-11 (Kona)","","","`#105238 `__","" "`P1264R2 `__","Revising the wording of ``stream`` input operations","2022-11 (Kona)","|Complete|","9","`#105239 `__","" "`P1478R8 `__","``Byte-wise`` ``atomic`` ``memcpy``","2022-11 (Kona)","","","`#105240 `__","" @@ -101,7 +101,7 @@ "`P2539R4 `__","Should the output of ``std::print`` to a terminal be synchronized with the underlying stream?","2022-11 (Kona)","|Complete|","18","`#105245 `__","" "`P2602R2 `__","Poison Pills are Too Toxic","2022-11 (Kona)","|Complete|","19","`#105246 `__","Implemented as a DR in C++20." "`P2708R1 `__","No Further Fundamentals TSes","2022-11 (Kona)","|Nothing To Do|","","`#105247 `__","" -"","","","","","" +"","","","","","","" "`P0290R4 `__","``apply()`` for ``synchronized_value``","2023-02 (Issaquah)","","","`#105249 `__","" "`P2770R0 `__","Stashing stashing ``iterators`` for proper flattening","2023-02 (Issaquah)","|Complete|","21","`#105250 `__","" "`P2164R9 `__","``views::enumerate``","2023-02 (Issaquah)","","","`#105251 `__","" diff --git a/libcxx/docs/Status/Cxx2cIssues.csv b/libcxx/docs/Status/Cxx2cIssues.csv index 237217a31b9ea..859c49af17ec9 100644 --- a/libcxx/docs/Status/Cxx2cIssues.csv +++ b/libcxx/docs/Status/Cxx2cIssues.csv @@ -1,4 +1,4 @@ -"Issue #","Issue Name","Meeting","Status","First released version","Notes" +"Issue #","Issue Name","Meeting","Status","First released version","GitHub issue","Notes" "`LWG2994 `__","Needless UB for ``basic_string`` and ``basic_string_view``","2023-06 (Varna)","|Complete|","5","`#105268 `__","" "`LWG3884 `__","``flat_foo`` is missing allocator-extended copy/move constructors","2023-06 (Varna)","","","`#105269 `__","" "`LWG3885 `__","``op`` should be in [zombie.names]","2023-06 (Varna)","|Nothing To Do|","","`#105270 `__","" @@ -16,7 +16,7 @@ "`LWG3935 `__","``template constexpr complex& operator=(const complex&)`` has no specification","2023-06 (Varna)","|Complete|","3.4","`#105284 `__","" "`LWG3938 `__","Cannot use ``std::expected`` monadic ops with move-only ``error_type``","2023-06 (Varna)","|Complete|","18","`#105285 `__","" "`LWG3940 `__","``std::expected::value()`` also needs ``E`` to be copy constructible","2023-06 (Varna)","|Complete|","18","`#105286 `__","" -"","","","","","" +"","","","","","","" "`LWG2392 `__","""character type"" is used but not defined","2023-11 (Kona)","","","`#105287 `__","" "`LWG3203 `__","``span`` element access invalidation","2023-11 (Kona)","|Nothing To Do|","","`#105288 `__","" "`LWG3305 `__","``any_cast``","2023-11 (Kona)","|Complete|","18","`#105289 `__","" @@ -39,7 +39,7 @@ "`LWG3987 `__","Including `` doesn't provide `std::begin`/`end`","2023-11 (Kona)","|Complete|","","`#105309 `__","" "`LWG3990 `__","Program-defined specializations of ``std::tuple`` and ``std::variant`` can't be properly supported","2023-11 (Kona)","|Complete|","21","`#105310 `__","" "`LWG4001 `__","``iota_view`` should provide ``empty``","2023-11 (Kona)","|Complete|","19","`#105311 `__","" -"","","","","","" +"","","","","","","" "`LWG3767 `__","``codecvt`` incorrectly added to locale","2024-03 (Tokyo)","","","`#105313 `__","" "`LWG3919 `__","``enumerate_view`` may invoke UB for sized common non-forward underlying ranges","2024-03 (Tokyo)","","","`#105315 `__","" "`LWG3950 `__","``std::basic_string_view`` comparison operators are overspecified","2024-03 (Tokyo)","|Complete|","18","`#105316 `__","" @@ -61,7 +61,7 @@ "`LWG4045 `__","``tuple`` can create dangling references from ``tuple-like``","2024-03 (Tokyo)","","","`#105337 `__","" "`LWG4053 `__","Unary call to ``std::views::repeat`` does not decay the argument","2024-03 (Tokyo)","|Complete|","19","`#105338 `__","" "`LWG4054 `__","Repeating a ``repeat_view`` should repeat the view","2024-03 (Tokyo)","|Complete|","19","`#105340 `__","" -"","","","","","" +"","","","","","","" "`LWG3944 `__","Formatters converting sequences of ``char`` to sequences of ``wchar_t``","2024-06 (St. Louis)","|Complete|","21","`#105342 `__","" "`LWG4060 `__","``submdspan`` preconditions do not forbid creating invalid pointer","2024-06 (St. Louis)","","","`#105343 `__","" "`LWG4061 `__","Should ``std::basic_format_context`` be default-constructible/copyable/movable?","2024-06 (St. Louis)","|Complete|","19","`#105344 `__","" @@ -75,7 +75,7 @@ "`LWG4098 `__","``views::adjacent<0>`` should reject non-forward ranges","2024-06 (St. Louis)","","","`#105353 `__","" "`LWG4105 `__","``ranges::ends_with``\`s Returns misses difference casting","2024-06 (St. Louis)","","","`#105354 `__","" "`LWG4106 `__","``basic_format_args`` should not be default-constructible","2024-06 (St. Louis)","|Complete|","19","`#105355 `__","" -"","","","","","" +"","","","","","","" "`LWG3216 `__","Rebinding the allocator before calling ``construct``/``destroy`` in ``allocate_shared``","2024-11 (Wrocław)","","","`#118332 `__","" "`LWG3436 `__","``std::construct_at`` should support arrays","2024-11 (Wrocław)","","","`#118335 `__","" "`LWG3886 `__","Monad mo' problems","2024-11 (Wrocław)","|Complete|","22","`#118336 `__","" @@ -110,7 +110,7 @@ "`LWG4164 `__","Missing guarantees for ``forward_list`` modifiers","2024-11 (Wrocław)","|Complete|","21","`#118366 `__","" "`LWG4169 `__","``std::atomic``'s default constructor should be constrained","2024-11 (Wrocław)","","","`#118367 `__","" "`LWG4170 `__","``contiguous_iterator`` should require ``to_address(I{})``","2024-11 (Wrocław)","","","`#118368 `__","" -"","","","","","" +"","","","","","","" "`LWG3578 `__","Iterator SCARYness in the context of associative container merging","2025-02 (Hagenberg)","","","`#127859 `__","" "`LWG3956 `__","``chrono::parse`` uses ``from_stream`` as a customization point","2025-02 (Hagenberg)","","","`#127860 `__","" "`LWG4172 `__","``unique_lock`` self-move-assignment is broken","2025-02 (Hagenberg)","","","`#127861 `__","" @@ -120,7 +120,7 @@ "`LWG4189 `__","``cache_latest_view`` should be freestanding","2025-02 (Hagenberg)","","","`#127865 `__","" "`LWG4191 `__","P1467 changed the return type of ``pow(complex, int)``","2025-02 (Hagenberg)","","","`#127866 `__","" "`LWG4196 `__","Complexity of ``inplace_merge()`` is incorrect","2025-02 (Hagenberg)","","","`#127867 `__","" -"","","","","","" +"","","","","","","" "`LWG4198 `__","``schedule_from`` isn't starting the schedule sender if decay-copying results throws","2025-06 (Sofia)","","","`#148188 `__","" "`LWG4202 `__","``enable-sender`` should be a variable template","2025-06 (Sofia)","","","`#148189 `__","" "`LWG4203 `__","Constraints on ``get-state`` functions are incorrect","2025-06 (Sofia)","","","`#148190 `__","" @@ -145,9 +145,9 @@ "`LWG4242 `__","``ranges::distance`` does not work with volatile iterators","2025-06 (Sofia)","","","`#148224 `__","" "`LWG4245 `__","Operators that interact with ``counted_iterator`` and ``default_sentinel_t`` should be ``noexcept``","2025-06 (Sofia)","","","`#148226 `__","" "`LWG4247 `__","Header ```` is not yet freestanding","2025-06 (Sofia)","","","`#148227 `__","" -"","","","","","" +"","","","","","","" "`LWG3343 `__","Ordering of calls to ``unlock()`` and ``notify_all()`` in Effects element of ``notify_all_at_thread_exit()`` should be reversed","Not Adopted Yet","|Complete|","16","`#105356 `__","" "`LWG4139 `__","§[time.zone.leap] recursive constraint in ``<=>``","Not Adopted Yet","|Complete|","20","`#118369 `__","" "`LWG3456 `__","Pattern used by ``std::from_chars`` is underspecified (option B)","Not Adopted Yet","|Complete|","20","`#118370 `__","" "`LWG3882 `__","``tuple`` relational operators have confused friendships","Not Adopted Yet","|Complete|","22","The comparsion operators are constrained harder than the proposed resolution. libstdc++ and MSVC STL do the same.","" -"","","","","","" +"","","","","","","" diff --git a/libcxx/docs/Status/Cxx2cPapers.csv b/libcxx/docs/Status/Cxx2cPapers.csv index 0eedc82e3dbf5..a5423acf0d419 100644 --- a/libcxx/docs/Status/Cxx2cPapers.csv +++ b/libcxx/docs/Status/Cxx2cPapers.csv @@ -1,4 +1,4 @@ -"Paper #","Paper Name","Meeting","Status","First released version","Notes" +"Paper #","Paper Name","Meeting","Status","First released version","GitHub issue","Notes" "`P2497R0 `__","Testing for success or failure of ```` functions","2023-06 (Varna)","|Complete|","18","`#105357 `__","" "`P2592R3 `__","Hashing support for ``std::chrono`` value classes","2023-06 (Varna)","","","`#105358 `__","" "`P2587R3 `__","``to_string`` or not ``to_string``","2023-06 (Varna)","","","`#105359 `__","" @@ -26,7 +26,7 @@ "`P2548R6 `__","``copyable_function``","2023-06 (Varna)","","","`#105387 `__","" "`P2714R1 `__","Bind front and back to NTTP callables","2023-06 (Varna)","|Partial|","20","`#105388 `__","" "`P2630R4 `__","``submdspan``","2023-06 (Varna)","","","`#105389 `__","" -"","","","","","" +"","","","","","","" "`P0543R3 `__","Saturation arithmetic","2023-11 (Kona)","|Complete|","18","`#105390 `__","" "`P2407R5 `__","Freestanding Library: Partial Classes","2023-11 (Kona)","","","`#105391 `__","" "`P2546R5 `__","Debugging Support","2023-11 (Kona)","","","`#105392 `__","" @@ -45,7 +45,7 @@ "`P2836R1 `__","``std::basic_const_iterator`` should follow its underlying type's convertibility","2023-11 (Kona)","","","`#105406 `__","" "`P2264R7 `__","Make ``assert()`` macro user friendly for C and C++","2023-11 (Kona)","","","`#105407 `__","" "`P1673R13 `__","A free function linear algebra interface based on the BLAS","2023-11 (Kona)","","","`#105408 `__","" -"","","","","","" +"","","","","","","" "`P2875R4 `__","Undeprecate ``polymorphic_allocator::destroy`` for C++26","2024-03 (Tokyo)","|Complete|","15","`#105410 `__","" "`P2867R2 `__","Remove Deprecated ``strstreams`` From C++26","2024-03 (Tokyo)","|Complete|","19","`#105411 `__","" "`P2869R4 `__","Remove Deprecated ``shared_ptr`` Atomic Access APIs from C++26","2024-03 (Tokyo)","","","`#105412 `__","" @@ -62,7 +62,7 @@ "`P2944R3 `__","Comparisons for ``reference_wrapper``","2024-03 (Tokyo)","|Complete|","22","`#105424 `__","The changes to ``tuple``'s equality overload from P2165R4 are not yet implemented." "`P2642R6 `__","Padded ``mdspan`` layouts","2024-03 (Tokyo)","","","`#105425 `__","" "`P3029R1 `__","Better ``mdspan``'s CTAD","2024-03 (Tokyo)","|Complete|","19","`#105426 `__","" -"","","","","","" +"","","","","","","" "`P2747R2 `__","``constexpr`` placement new","2024-06 (St. Louis)","|Complete|","20","`#105427 `__","" "`P2997R1 `__","Removing the common reference requirement from the indirectly invocable concepts","2024-06 (St. Louis)","|Complete|","19","`#105428 `__","Implemented as a DR against C++20. (MSVC STL and libstdc++ will do the same.)" "`P2389R2 `__","``dextents`` Index Type Parameter","2024-06 (St. Louis)","|Complete|","19","`#105429 `__","" @@ -75,7 +75,7 @@ "`P2075R6 `__","Philox as an extension of the C++ RNG engines","2024-06 (St. Louis)","","","`#105437 `__","" "`P2422R1 `__","Remove ``nodiscard`` annotations from the standard library specification","2024-06 (St. Louis)","|Complete|","19","`#105438 `__","``nodiscard`` attributes were kept as a conforming extension" "`P2300R10 `__","``std::execution``","2024-06 (St. Louis)","","","`#105440 `__","" -"","","","","","" +"","","","","","","" "`P3136R1 `__","Retiring niebloids","2024-11 (Wrocław)","|Complete|","14","`#118133 `__","" "`P3138R5 `__","``views::cache_latest``","2024-11 (Wrocław)","","","`#118134 `__","" "`P3379R0 `__","Constrain ``std::expected`` equality operators","2024-11 (Wrocław)","|Complete|","21","`#118135 `__","" @@ -95,7 +95,7 @@ "`P3325R5 `__","A Utility for Creating Execution Environments","2024-11 (Wrocław)","","","`#118385 `__","" "`P3068R6 `__","Allowing exception throwing in constant-evaluation","2024-11 (Wrocław)","","","`#118386 `__","" "`P3247R2 `__","Deprecate the notion of trivial types","2024-11 (Wrocław)","|Complete|","21","`#118387 `__","" -"","","","","","" +"","","","","","","" "`P3074R7 `__","trivial unions (was ``std::uninitialized``)","2025-02 (Hagenberg)","","","`#127868 `__","" "`P1494R5 `__","Partial program correctness","2025-02 (Hagenberg)","","","`#127869 `__","" "`P2900R14 `__","Contracts for C++","2025-02 (Hagenberg)","","","`#127870 `__","" @@ -116,7 +116,7 @@ "`P3471R4 `__","Standard Library Hardening","2025-02 (Hagenberg)","","","`#127885 `__","" "`P0447R28 `__","Introduction of ``std::hive`` to the standard library","2025-02 (Hagenberg)","","","`#127886 `__","" "`P3019R14 `__","``indirect`` and ``polymorphic``: Vocabulary Types for Composite Class Design","2025-02 (Hagenberg)","","","`#127887 `__","" -"","","","","","" +"","","","","","","" "`P2996R13 `__","Reflection for C++26","2025-06 (Sofia)","","","`#148123 `__","" "`P3394R4 `__","Annotations for Reflection","2025-06 (Sofia)","","","`#148124 `__","" "`P3293R3 `__","Splicing a base class subobject","2025-06 (Sofia)","","","`#148125 `__","" @@ -156,4 +156,4 @@ "`P3697R1 `__","Minor additions to C++26 standard library hardening","2025-06 (Sofia)","","","`#148180 `__","" "`P3552R3 `__","Add a Coroutine Task Type","2025-06 (Sofia)","","","`#148182 `__","" "`P1317R2 `__","Remove return type deduction in ``std::apply``","2025-06 (Sofia)","","","`#148183 `__","" -"","","","","","" +"","","","","","",""