[libc++] Standardize how we track removed and superseded papers

Instead of having various status entries like 'Superseded by XXX',
we use '|Nothing To Do|' but we add a note explaining that the paper
was pulled at another meeting.
This commit is contained in:
Louis Dionne 2024-08-21 13:11:46 -04:00
parent ec866638ff
commit 7a28192ce1
8 changed files with 36 additions and 19 deletions

View File

@ -45,7 +45,12 @@ Paper Status
.. [#note-P0607] P0607: The parts of P0607 that are not done are the ``<regex>`` bits.
.. [#note-P0154] P0154: The required macros are only implemented as of clang 19.
.. [#note-P0452] P0452: The changes to ``std::transform_inclusive_scan`` and ``std::transform_exclusive_scan`` have not yet been implemented.
.. [#note-P0156] P0156: This paper was reverted in Kona.
.. [#note-P0156] P0156: That paper was pulled out of the draft at the 2017-01 meeting in Kona.
.. [#note-P0181] P0181: That paper was pulled out of the draft at the 2017-01 meeting in Kona.
.. [#note-P0067] P0067: That paper was resolved by `P0067R5 <https://wg21.link/P0067R5>`__.
.. [#note-LWG2587] LWG2587: That LWG issue was resolved by `LWG2567 <https://wg21.link/LWG2567>`__.
.. [#note-LWG2588] LWG2588: That LWG issue was resolved by `LWG2568 <https://wg21.link/LWG2568>`__.
.. [#note-LWG2955] LWG2955: That LWG issue was resolved by `P0682R1 <https://wg21.link/P0682R1>`__.
.. _issues-status-cxx17:

View File

@ -211,8 +211,8 @@
"`LWG2570 <https://wg21.link/LWG2570>`__","[fund.ts.v2] conjunction and disjunction requirements are too strict","2016-11 (Issaquah)","","",""
"`LWG2578 <https://wg21.link/LWG2578>`__","Iterator requirements should reference iterator traits","2016-11 (Issaquah)","|Complete|","",""
"`LWG2584 <https://wg21.link/LWG2584>`__","<regex> ECMAScript IdentityEscape is ambiguous","2016-11 (Issaquah)","","",""
"`LWG2587 <https://wg21.link/LWG2587>`__","""Convertible to bool"" requirement in conjunction and disjunction","2016-11 (Issaquah)","Resolved by `LWG2567 <https://wg21.link/LWG2567>`__","",""
"`LWG2588 <https://wg21.link/LWG2588>`__","[fund.ts.v2] ""Convertible to bool"" requirement in conjunction and disjunction","2016-11 (Issaquah)","Resolved by `LWG2568 <https://wg21.link/LWG2568>`__","",""
"`LWG2587 <https://wg21.link/LWG2587>`__","""Convertible to bool"" requirement in conjunction and disjunction","2016-11 (Issaquah)","|Nothing To Do| [#note-LWG2587]_","",""
"`LWG2588 <https://wg21.link/LWG2588>`__","[fund.ts.v2] ""Convertible to bool"" requirement in conjunction and disjunction","2016-11 (Issaquah)","|Nothing To Do| [#note-LWG2588]_","",""
"`LWG2589 <https://wg21.link/LWG2589>`__","match_results can't satisfy the requirements of a container","2016-11 (Issaquah)","|Complete|","",""
"`LWG2591 <https://wg21.link/LWG2591>`__","std::function's member template target() should not lead to undefined behaviour","2016-11 (Issaquah)","|Complete|","",""
"`LWG2598 <https://wg21.link/LWG2598>`__","addressof works on temporaries","2016-11 (Issaquah)","|Complete|","",""
@ -310,5 +310,5 @@
"`LWG2934 <https://wg21.link/LWG2934>`__","optional<const T> doesn't compare with T","2017-02 (Kona)","|Complete|","",""
"","","","","",""
"`LWG2901 <https://wg21.link/LWG2901>`__","Variants cannot properly support allocators","2017-07 (Toronto)","|Complete|","",""
"`LWG2955 <https://wg21.link/LWG2955>`__","``to_chars / from_chars``\ depend on ``std::string``\ ","2017-07 (Toronto)","Resolved by `P0682R1 <https://wg21.link/P0682R1>`__","",""
"`LWG2955 <https://wg21.link/LWG2955>`__","``to_chars / from_chars``\ depend on ``std::string``\ ","2017-07 (Toronto)","|Nothing To Do| [#note-LWG2955]_","",""
"`LWG2956 <https://wg21.link/LWG2956>`__","``filesystem::canonical()``\ still defined in terms of ``absolute(p, base)``\ ","2017-07 (Toronto)","|Complete|","",""

1 Issue # Issue Name Meeting Status First released version Labels
211 `LWG2570 <https://wg21.link/LWG2570>`__ [fund.ts.v2] conjunction and disjunction requirements are too strict 2016-11 (Issaquah)
212 `LWG2578 <https://wg21.link/LWG2578>`__ Iterator requirements should reference iterator traits 2016-11 (Issaquah) |Complete|
213 `LWG2584 <https://wg21.link/LWG2584>`__ <regex> ECMAScript IdentityEscape is ambiguous 2016-11 (Issaquah)
214 `LWG2587 <https://wg21.link/LWG2587>`__ "Convertible to bool" requirement in conjunction and disjunction 2016-11 (Issaquah) Resolved by `LWG2567 <https://wg21.link/LWG2567>`__ |Nothing To Do| [#note-LWG2587]_
215 `LWG2588 <https://wg21.link/LWG2588>`__ [fund.ts.v2] "Convertible to bool" requirement in conjunction and disjunction 2016-11 (Issaquah) Resolved by `LWG2568 <https://wg21.link/LWG2568>`__ |Nothing To Do| [#note-LWG2588]_
216 `LWG2589 <https://wg21.link/LWG2589>`__ match_results can't satisfy the requirements of a container 2016-11 (Issaquah) |Complete|
217 `LWG2591 <https://wg21.link/LWG2591>`__ std::function's member template target() should not lead to undefined behaviour 2016-11 (Issaquah) |Complete|
218 `LWG2598 <https://wg21.link/LWG2598>`__ addressof works on temporaries 2016-11 (Issaquah) |Complete|
310 `LWG2934 <https://wg21.link/LWG2934>`__ optional<const T> doesn't compare with T 2017-02 (Kona) |Complete|
311
312 `LWG2901 <https://wg21.link/LWG2901>`__ Variants cannot properly support allocators 2017-07 (Toronto) |Complete|
313 `LWG2955 <https://wg21.link/LWG2955>`__ ``to_chars / from_chars``\ depend on ``std::string``\ 2017-07 (Toronto) Resolved by `P0682R1 <https://wg21.link/P0682R1>`__ |Nothing To Do| [#note-LWG2955]_
314 `LWG2956 <https://wg21.link/LWG2956>`__ ``filesystem::canonical()``\ still defined in terms of ``absolute(p, base)``\ 2017-07 (Toronto) |Complete|

View File

@ -21,7 +21,7 @@
"`P0006R0 <https://wg21.link/P0006R0>`__","Adopt Type Traits Variable Templates for C++17.","2015-10 (Kona)","|Complete|","3.8",""
"`P0092R1 <https://wg21.link/P0092R1>`__","Polishing <chrono>","2015-10 (Kona)","|Complete|","3.8",""
"`P0007R1 <https://wg21.link/P0007R1>`__","Constant View: A proposal for a ``std::as_const``\ helper function template.","2015-10 (Kona)","|Complete|","3.8",""
"`P0156R0 <https://wg21.link/P0156R0>`__","Variadic lock_guard(rev 3).","2015-10 (Kona)","|Complete| [#note-P0156]_","3.9",""
"`P0156R0 <https://wg21.link/P0156R0>`__","Variadic lock_guard(rev 3).","2015-10 (Kona)","|Nothing To Do| [#note-P0156]_","",""
"`P0074R0 <https://wg21.link/P0074R0>`__","Making ``std::owner_less``\ more flexible","2015-10 (Kona)","|Complete|","3.8",""
"`P0013R1 <https://wg21.link/P0013R1>`__","Logical type traits rev 2","2015-10 (Kona)","|Complete|","3.8",""
"","","","","",""
@ -44,7 +44,7 @@
"`P0032R3 <https://wg21.link/P0032R3>`__","Homogeneous interface for variant, any and optional","2016-06 (Oulu)","|Complete|","4.0",""
"`P0040R3 <https://wg21.link/P0040R3>`__","Extending memory management tools","2016-06 (Oulu)","|Complete|","4.0",""
"`P0063R3 <https://wg21.link/P0063R3>`__","C++17 should refer to C11 instead of C99","2016-06 (Oulu)","|Complete|","7.0",""
"`P0067R3 <https://wg21.link/P0067R3>`__","Elementary string conversions","2016-06 (Oulu)","Now `P0067R5 <https://wg21.link/P0067R5>`__","n/a",""
"`P0067R3 <https://wg21.link/P0067R3>`__","Elementary string conversions","2016-06 (Oulu)","|Nothing To Do| [#note-P0067]_","n/a",""
"`P0083R3 <https://wg21.link/P0083R3>`__","Splicing Maps and Sets","2016-06 (Oulu)","|Complete|","8.0",""
"`P0084R2 <https://wg21.link/P0084R2>`__","Emplace Return Type","2016-06 (Oulu)","|Complete|","4.0",""
"`P0088R3 <https://wg21.link/P0088R3>`__","Variant: a type-safe union for C++17","2016-06 (Oulu)","|Complete|","4.0",""
@ -53,7 +53,7 @@
"`P0174R2 <https://wg21.link/P0174R2>`__","Deprecating Vestigial Library Parts in C++17","2016-06 (Oulu)","|Complete|","15.0",""
"`P0175R1 <https://wg21.link/P0175R1>`__","Synopses for the C library","2016-06 (Oulu)","","",""
"`P0180R2 <https://wg21.link/P0180R2>`__","Reserve a New Library Namespace for Future Standardization","2016-06 (Oulu)","|Nothing To Do|","n/a",""
"`P0181R1 <https://wg21.link/P0181R1>`__","Ordered by Default","2016-06 (Oulu)","*Removed in Kona*","n/a",""
"`P0181R1 <https://wg21.link/P0181R1>`__","Ordered by Default","2016-06 (Oulu)","|Nothing To Do| [#note-P0181]_","n/a",""
"`P0209R2 <https://wg21.link/P0209R2>`__","make_from_tuple: apply for construction","2016-06 (Oulu)","|Complete|","3.9",""
"`P0219R1 <https://wg21.link/P0219R1>`__","Relative Paths for Filesystem","2016-06 (Oulu)","|Complete|","7.0",""
"`P0254R2 <https://wg21.link/P0254R2>`__","Integrating std::string_view and std::string","2016-06 (Oulu)","|Complete|","4.0",""

1 Paper # Paper Name Meeting Status First released version Labels
21 `P0006R0 <https://wg21.link/P0006R0>`__ Adopt Type Traits Variable Templates for C++17. 2015-10 (Kona) |Complete| 3.8
22 `P0092R1 <https://wg21.link/P0092R1>`__ Polishing <chrono> 2015-10 (Kona) |Complete| 3.8
23 `P0007R1 <https://wg21.link/P0007R1>`__ Constant View: A proposal for a ``std::as_const``\ helper function template. 2015-10 (Kona) |Complete| 3.8
24 `P0156R0 <https://wg21.link/P0156R0>`__ Variadic lock_guard(rev 3). 2015-10 (Kona) |Complete| [#note-P0156]_ |Nothing To Do| [#note-P0156]_ 3.9
25 `P0074R0 <https://wg21.link/P0074R0>`__ Making ``std::owner_less``\ more flexible 2015-10 (Kona) |Complete| 3.8
26 `P0013R1 <https://wg21.link/P0013R1>`__ Logical type traits rev 2 2015-10 (Kona) |Complete| 3.8
27
44 `P0032R3 <https://wg21.link/P0032R3>`__ Homogeneous interface for variant, any and optional 2016-06 (Oulu) |Complete| 4.0
45 `P0040R3 <https://wg21.link/P0040R3>`__ Extending memory management tools 2016-06 (Oulu) |Complete| 4.0
46 `P0063R3 <https://wg21.link/P0063R3>`__ C++17 should refer to C11 instead of C99 2016-06 (Oulu) |Complete| 7.0
47 `P0067R3 <https://wg21.link/P0067R3>`__ Elementary string conversions 2016-06 (Oulu) Now `P0067R5 <https://wg21.link/P0067R5>`__ |Nothing To Do| [#note-P0067]_ n/a
48 `P0083R3 <https://wg21.link/P0083R3>`__ Splicing Maps and Sets 2016-06 (Oulu) |Complete| 8.0
49 `P0084R2 <https://wg21.link/P0084R2>`__ Emplace Return Type 2016-06 (Oulu) |Complete| 4.0
50 `P0088R3 <https://wg21.link/P0088R3>`__ Variant: a type-safe union for C++17 2016-06 (Oulu) |Complete| 4.0
53 `P0174R2 <https://wg21.link/P0174R2>`__ Deprecating Vestigial Library Parts in C++17 2016-06 (Oulu) |Complete| 15.0
54 `P0175R1 <https://wg21.link/P0175R1>`__ Synopses for the C library 2016-06 (Oulu)
55 `P0180R2 <https://wg21.link/P0180R2>`__ Reserve a New Library Namespace for Future Standardization 2016-06 (Oulu) |Nothing To Do| n/a
56 `P0181R1 <https://wg21.link/P0181R1>`__ Ordered by Default 2016-06 (Oulu) *Removed in Kona* |Nothing To Do| [#note-P0181]_ n/a
57 `P0209R2 <https://wg21.link/P0209R2>`__ make_from_tuple: apply for construction 2016-06 (Oulu) |Complete| 3.9
58 `P0219R1 <https://wg21.link/P0219R1>`__ Relative Paths for Filesystem 2016-06 (Oulu) |Complete| 7.0
59 `P0254R2 <https://wg21.link/P0254R2>`__ Integrating std::string_view and std::string 2016-06 (Oulu) |Complete| 4.0

View File

@ -49,6 +49,15 @@ Paper Status
.. [#note-P0883.2] P0883: ``ATOMIC_FLAG_INIT`` was marked deprecated in version 14.0, but was undeprecated with the implementation of LWG3659 in version 15.0.
.. [#note-P0660] P0660: The paper is implemented but the features are experimental and can be enabled via ``-fexperimental-library``.
.. [#note-P1614] P1614: ``std::strong_order(long double, long double)`` is partly implemented.
.. [#note-P0542] P0542: That paper was pulled out of the draft at the 2019-07 meeting in Cologne.
.. [#note-P0788] P0788: That paper was pulled out of the draft at the 2019-07 meeting in Cologne.
.. [#note-P0920] P0920: That paper was reverted by `P1661 <https://wg21.link/P1661>`__.
.. [#note-P1424] P1424: That paper was superseded by `P1902 <https://wg21.link/P1902>`__.
.. [#note-LWG2070] LWG2070: That LWG issue was resolved by `P0674R1 <https://wg21.link/P0674R1>`__.
.. [#note-LWG2499] LWG2499: That LWG issue was resolved by `P0487R1 <https://wg21.link/P0487R1>`__.
.. [#note-LWG2797] LWG2797: That LWG issue was resolved by `P1285R0 <https://wg21.link/P1285R0>`__.
.. [#note-LWG3022] LWG3022: That LWG issue was resolved by `P1285R0 <https://wg21.link/P1285R0>`__.
.. [#note-LWG3134] LWG3134: That LWG issue was resolved by `P1210R0 <https://wg21.link/P1210R0>`__.
.. [#note-P0355] P0355: The implementation status is:
* ``Calendars`` mostly done in Clang 7

View File

@ -1,5 +1,5 @@
"Issue #","Issue Name","Meeting","Status","First released version","Labels"
"`LWG2070 <https://wg21.link/LWG2070>`__","``allocate_shared``\ should use ``allocator_traits<A>::construct``\ ","2017-07 (Toronto)","Resolved by `P0674R1 <https://wg21.link/P0674R1>`__","",""
"`LWG2070 <https://wg21.link/LWG2070>`__","``allocate_shared``\ should use ``allocator_traits<A>::construct``\ ","2017-07 (Toronto)","|Nothing To Do| [#note-LWG2070]_","",""
"`LWG2444 <https://wg21.link/LWG2444>`__","Inconsistent complexity for ``std::sort_heap``\ ","2017-07 (Toronto)","|Nothing To Do|","",""
"`LWG2593 <https://wg21.link/LWG2593>`__","Moved-from state of Allocators","2017-07 (Toronto)","","",""
"`LWG2597 <https://wg21.link/LWG2597>`__","``std::log``\ misspecified for complex numbers","2017-07 (Toronto)","","",""
@ -94,17 +94,17 @@
"`LWG2183 <https://wg21.link/LWG2183>`__","Muddled allocator requirements for ``match_results``\ constructors","2018-11 (San Diego)","|Complete|","",""
"`LWG2184 <https://wg21.link/LWG2184>`__","Muddled allocator requirements for ``match_results``\ assignments","2018-11 (San Diego)","|Complete|","",""
"`LWG2412 <https://wg21.link/LWG2412>`__","``promise::set_value()``\ and ``promise::get_future()``\ should not race","2018-11 (San Diego)","","",""
"`LWG2499 <https://wg21.link/LWG2499>`__","``operator>>(basic_istream&, CharT*)``\ makes it hard to avoid buffer overflows","2018-11 (San Diego)","Resolved by `P0487R1 <https://wg21.link/P0487R1>`__","",""
"`LWG2499 <https://wg21.link/LWG2499>`__","``operator>>(basic_istream&, CharT*)``\ makes it hard to avoid buffer overflows","2018-11 (San Diego)","|Nothing To Do| [#note-LWG2499]_","",""
"`LWG2682 <https://wg21.link/LWG2682>`__","``filesystem::copy()``\ won't create a symlink to a directory","2018-11 (San Diego)","|Nothing To Do|","",""
"`LWG2697 <https://wg21.link/LWG2697>`__","[concurr.ts] Behavior of ``future/shared_future``\ unwrapping constructor when given an invalid ``future``\ ","2018-11 (San Diego)","","",""
"`LWG2797 <https://wg21.link/LWG2797>`__","Trait precondition violations","2018-11 (San Diego)","Resolved by `P1285R0 <https://wg21.link/P1285R0>`__","",""
"`LWG2797 <https://wg21.link/LWG2797>`__","Trait precondition violations","2018-11 (San Diego)","|Nothing To Do| [#note-LWG2797]_","",""
"`LWG2936 <https://wg21.link/LWG2936>`__","Path comparison is defined in terms of the generic format","2018-11 (San Diego)","|Complete|","",""
"`LWG2943 <https://wg21.link/LWG2943>`__","Problematic specification of the wide version of ``basic_filebuf::open``\ ","2018-11 (San Diego)","|Nothing To Do|","",""
"`LWG2960 <https://wg21.link/LWG2960>`__","[fund.ts.v3] ``nonesuch``\ is insufficiently useless","2018-11 (San Diego)","|Complete|","",""
"`LWG2995 <https://wg21.link/LWG2995>`__","``basic_stringbuf``\ default constructor forbids it from using SSO capacity","2018-11 (San Diego)","|Complete|","20.0",""
"`LWG2996 <https://wg21.link/LWG2996>`__","Missing rvalue overloads for ``shared_ptr``\ operations","2018-11 (San Diego)","|Complete|","17.0",""
"`LWG3008 <https://wg21.link/LWG3008>`__","``make_shared``\ (sub)object destruction semantics are not specified","2018-11 (San Diego)","|Complete|","16.0",""
"`LWG3022 <https://wg21.link/LWG3022>`__","``is_convertible<derived*, base*>``\ may lead to ODR","2018-11 (San Diego)","Resolved by `P1285R0 <https://wg21.link/P1285R0>`__","",""
"`LWG3022 <https://wg21.link/LWG3022>`__","``is_convertible<derived*, base*>``\ may lead to ODR","2018-11 (San Diego)","|Nothing To Do| [#note-LWG3022]_","",""
"`LWG3025 <https://wg21.link/LWG3025>`__","Map-like container deduction guides should use ``pair<Key, T>``\ , not ``pair<const Key, T>``\ ","2018-11 (San Diego)","|Complete|","",""
"`LWG3031 <https://wg21.link/LWG3031>`__","Algorithms and predicates with non-const reference arguments","2018-11 (San Diego)","","",""
"`LWG3037 <https://wg21.link/LWG3037>`__","``polymorphic_allocator``\ and incomplete types","2018-11 (San Diego)","|Complete|","16.0",""
@ -120,7 +120,7 @@
"`LWG3130 <https://wg21.link/LWG3130>`__","|sect|\ [input.output] needs many ``addressof``\ ","2018-11 (San Diego)","|Complete|","20.0",""
"`LWG3131 <https://wg21.link/LWG3131>`__","``addressof``\ all the things","2018-11 (San Diego)","","",""
"`LWG3132 <https://wg21.link/LWG3132>`__","Library needs to ban macros named ``expects``\ or ``ensures``\ ","2018-11 (San Diego)","|Nothing To Do|","",""
"`LWG3134 <https://wg21.link/LWG3134>`__","[fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961","2018-11 (San Diego)","Resolved by `P1210R0 <https://wg21.link/P1210R0>`__","",""
"`LWG3134 <https://wg21.link/LWG3134>`__","[fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961","2018-11 (San Diego)","|Nothing To Do| [#note-LWG3134]_","",""
"`LWG3137 <https://wg21.link/LWG3137>`__","Header for ``__cpp_lib_to_chars``\ ","2018-11 (San Diego)","|Complete|","",""
"`LWG3140 <https://wg21.link/LWG3140>`__","``COMMON_REF``\ is unimplementable as specified","2018-11 (San Diego)","|Nothing To Do|","",""
"`LWG3145 <https://wg21.link/LWG3145>`__","``file_clock``\ breaks ABI for C++17 implementations","2018-11 (San Diego)","|Complete|","",""

1 Issue # Issue Name Meeting Status First released version Labels
2 `LWG2070 <https://wg21.link/LWG2070>`__ ``allocate_shared``\ should use ``allocator_traits<A>::construct``\ 2017-07 (Toronto) Resolved by `P0674R1 <https://wg21.link/P0674R1>`__ |Nothing To Do| [#note-LWG2070]_
3 `LWG2444 <https://wg21.link/LWG2444>`__ Inconsistent complexity for ``std::sort_heap``\ 2017-07 (Toronto) |Nothing To Do|
4 `LWG2593 <https://wg21.link/LWG2593>`__ Moved-from state of Allocators 2017-07 (Toronto)
5 `LWG2597 <https://wg21.link/LWG2597>`__ ``std::log``\ misspecified for complex numbers 2017-07 (Toronto)
94 `LWG2183 <https://wg21.link/LWG2183>`__ Muddled allocator requirements for ``match_results``\ constructors 2018-11 (San Diego) |Complete|
95 `LWG2184 <https://wg21.link/LWG2184>`__ Muddled allocator requirements for ``match_results``\ assignments 2018-11 (San Diego) |Complete|
96 `LWG2412 <https://wg21.link/LWG2412>`__ ``promise::set_value()``\ and ``promise::get_future()``\ should not race 2018-11 (San Diego)
97 `LWG2499 <https://wg21.link/LWG2499>`__ ``operator>>(basic_istream&, CharT*)``\ makes it hard to avoid buffer overflows 2018-11 (San Diego) Resolved by `P0487R1 <https://wg21.link/P0487R1>`__ |Nothing To Do| [#note-LWG2499]_
98 `LWG2682 <https://wg21.link/LWG2682>`__ ``filesystem::copy()``\ won't create a symlink to a directory 2018-11 (San Diego) |Nothing To Do|
99 `LWG2697 <https://wg21.link/LWG2697>`__ [concurr.ts] Behavior of ``future/shared_future``\ unwrapping constructor when given an invalid ``future``\ 2018-11 (San Diego)
100 `LWG2797 <https://wg21.link/LWG2797>`__ Trait precondition violations 2018-11 (San Diego) Resolved by `P1285R0 <https://wg21.link/P1285R0>`__ |Nothing To Do| [#note-LWG2797]_
101 `LWG2936 <https://wg21.link/LWG2936>`__ Path comparison is defined in terms of the generic format 2018-11 (San Diego) |Complete|
102 `LWG2943 <https://wg21.link/LWG2943>`__ Problematic specification of the wide version of ``basic_filebuf::open``\ 2018-11 (San Diego) |Nothing To Do|
103 `LWG2960 <https://wg21.link/LWG2960>`__ [fund.ts.v3] ``nonesuch``\ is insufficiently useless 2018-11 (San Diego) |Complete|
104 `LWG2995 <https://wg21.link/LWG2995>`__ ``basic_stringbuf``\ default constructor forbids it from using SSO capacity 2018-11 (San Diego) |Complete| 20.0
105 `LWG2996 <https://wg21.link/LWG2996>`__ Missing rvalue overloads for ``shared_ptr``\ operations 2018-11 (San Diego) |Complete| 17.0
106 `LWG3008 <https://wg21.link/LWG3008>`__ ``make_shared``\ (sub)object destruction semantics are not specified 2018-11 (San Diego) |Complete| 16.0
107 `LWG3022 <https://wg21.link/LWG3022>`__ ``is_convertible<derived*, base*>``\ may lead to ODR 2018-11 (San Diego) Resolved by `P1285R0 <https://wg21.link/P1285R0>`__ |Nothing To Do| [#note-LWG3022]_
108 `LWG3025 <https://wg21.link/LWG3025>`__ Map-like container deduction guides should use ``pair<Key, T>``\ , not ``pair<const Key, T>``\ 2018-11 (San Diego) |Complete|
109 `LWG3031 <https://wg21.link/LWG3031>`__ Algorithms and predicates with non-const reference arguments 2018-11 (San Diego)
110 `LWG3037 <https://wg21.link/LWG3037>`__ ``polymorphic_allocator``\ and incomplete types 2018-11 (San Diego) |Complete| 16.0
120 `LWG3130 <https://wg21.link/LWG3130>`__ |sect|\ [input.output] needs many ``addressof``\ 2018-11 (San Diego) |Complete| 20.0
121 `LWG3131 <https://wg21.link/LWG3131>`__ ``addressof``\ all the things 2018-11 (San Diego)
122 `LWG3132 <https://wg21.link/LWG3132>`__ Library needs to ban macros named ``expects``\ or ``ensures``\ 2018-11 (San Diego) |Nothing To Do|
123 `LWG3134 <https://wg21.link/LWG3134>`__ [fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961 2018-11 (San Diego) Resolved by `P1210R0 <https://wg21.link/P1210R0>`__ |Nothing To Do| [#note-LWG3134]_
124 `LWG3137 <https://wg21.link/LWG3137>`__ Header for ``__cpp_lib_to_chars``\ 2018-11 (San Diego) |Complete|
125 `LWG3140 <https://wg21.link/LWG3140>`__ ``COMMON_REF``\ is unimplementable as specified 2018-11 (San Diego) |Nothing To Do|
126 `LWG3145 <https://wg21.link/LWG3145>`__ ``file_clock``\ breaks ABI for C++17 implementations 2018-11 (San Diego) |Complete|

View File

@ -32,7 +32,7 @@
"`P0475R1 <https://wg21.link/P0475R1>`__","LWG 2511: guaranteed copy elision for piecewise construction","2018-06 (Rapperswil)","|Complete|","",""
"`P0476R2 <https://wg21.link/P0476R2>`__","Bit-casting object representations","2018-06 (Rapperswil)","|Complete|","14.0",""
"`P0528R3 <https://wg21.link/P0528R3>`__","The Curious Case of Padding Bits, Featuring Atomic Compare-and-Exchange","2018-06 (Rapperswil)","","",""
"`P0542R5 <https://wg21.link/P0542R5>`__","Support for contract based programming in C++","2018-06 (Rapperswil)","*Removed in Cologne*","n/a",""
"`P0542R5 <https://wg21.link/P0542R5>`__","Support for contract based programming in C++","2018-06 (Rapperswil)","|Nothing To Do| [#note-P0542]_","n/a",""
"`P0556R3 <https://wg21.link/P0556R3>`__","Integral power-of-2 operations","2018-06 (Rapperswil)","|Complete|","9.0",""
"`P0619R4 <https://wg21.link/P0619R4>`__","Reviewing Deprecated Facilities of C++17 for C++20","2018-06 (Rapperswil)","|Partial| [#note-P0619]_","",""
"`P0646R1 <https://wg21.link/P0646R1>`__","Improving the Return Value of Erase-Like Algorithms","2018-06 (Rapperswil)","|Complete|","10.0",""
@ -40,7 +40,7 @@
"`P0758R1 <https://wg21.link/P0758R1>`__","Implicit conversion traits and utility functions","2018-06 (Rapperswil)","|Complete|","",""
"`P0759R1 <https://wg21.link/P0759R1>`__","fpos Requirements","2018-06 (Rapperswil)","|Complete|","11.0",""
"`P0769R2 <https://wg21.link/P0769R2>`__","Add shift to <algorithm>","2018-06 (Rapperswil)","|Complete|","12.0",""
"`P0788R3 <https://wg21.link/P0788R3>`__","Standard Library Specification in a Concepts and Contracts World","2018-06 (Rapperswil)","*Removed in Cologne*","n/a",""
"`P0788R3 <https://wg21.link/P0788R3>`__","Standard Library Specification in a Concepts and Contracts World","2018-06 (Rapperswil)","|Nothing To Do| [#note-P0788]_","n/a",""
"`P0879R0 <https://wg21.link/P0879R0>`__","Constexpr for swap and swap related functions Also resolves LWG issue 2800.","2018-06 (Rapperswil)","|Complete|","13.0",""
"`P0887R1 <https://wg21.link/P0887R1>`__","The identity metafunction","2018-06 (Rapperswil)","|Complete|","8.0",""
"`P0892R2 <https://wg21.link/P0892R2>`__","explicit(bool)","2018-06 (Rapperswil)","","",""
@ -85,7 +85,7 @@
"`P0340R3 <https://wg21.link/P0340R3>`__","Making std::underlying_type SFINAE-friendly","2019-02 (Kona)","|Complete|","9.0",""
"`P0738R2 <https://wg21.link/P0738R2>`__","I Stream, You Stream, We All Stream for istream_iterator","2019-02 (Kona)","","",""
"`P0811R3 <https://wg21.link/P0811R3>`__","Well-behaved interpolation for numbers and pointers","2019-02 (Kona)","|Complete|","9.0",""
"`P0920R2 <https://wg21.link/P0920R2>`__","Precalculated hash values in lookup","2019-02 (Kona)","Reverted by `P1661 <https://wg21.link/P1661>`__","",""
"`P0920R2 <https://wg21.link/P0920R2>`__","Precalculated hash values in lookup","2019-02 (Kona)","|Nothing To Do| [#note-P0920]_","",""
"`P1001R2 <https://wg21.link/P1001R2>`__","Target Vectorization Policies from Parallelism V2 TS to C++20","2019-02 (Kona)","|Complete|","17.0",""
"`P1024R3 <https://wg21.link/P1024R3>`__","Usability Enhancements for std::span","2019-02 (Kona)","|Complete|","9.0",""
"`P1164R1 <https://wg21.link/P1164R1>`__","Make create_directory() Intuitive","2019-02 (Kona)","|Complete|","12.0",""
@ -117,7 +117,7 @@
"`P1355R2 <https://wg21.link/P1355R2>`__","Exposing a narrow contract for ceil2","2019-07 (Cologne)","|Complete|","9.0",""
"`P1361R2 <https://wg21.link/P1361R2>`__","Integration of chrono with text formatting","2019-07 (Cologne)","|Partial|","",""
"`P1423R3 <https://wg21.link/P1423R3>`__","char8_t backward compatibility remediation","2019-07 (Cologne)","|Complete|","15.0",""
"`P1424R1 <https://wg21.link/P1424R1>`__","'constexpr' feature macro concerns","2019-07 (Cologne)","Superseded by `P1902 <https://wg21.link/P1902>`__","",""
"`P1424R1 <https://wg21.link/P1424R1>`__","'constexpr' feature macro concerns","2019-07 (Cologne)","|Nothing To Do| [#note-P1424]_","",""
"`P1466R3 <https://wg21.link/P1466R3>`__","Miscellaneous minor fixes for chrono","2019-07 (Cologne)","","",""
"`P1474R1 <https://wg21.link/P1474R1>`__","Helpful pointers for ContiguousIterator","2019-07 (Cologne)","|Complete|","15.0","|ranges|"
"`P1502R1 <https://wg21.link/P1502R1>`__","Standard library header units for C++20","2019-07 (Cologne)","","",""

1 Paper # Paper Name Meeting Status First released version Labels
32 `P0475R1 <https://wg21.link/P0475R1>`__ LWG 2511: guaranteed copy elision for piecewise construction 2018-06 (Rapperswil) |Complete|
33 `P0476R2 <https://wg21.link/P0476R2>`__ Bit-casting object representations 2018-06 (Rapperswil) |Complete| 14.0
34 `P0528R3 <https://wg21.link/P0528R3>`__ The Curious Case of Padding Bits, Featuring Atomic Compare-and-Exchange 2018-06 (Rapperswil)
35 `P0542R5 <https://wg21.link/P0542R5>`__ Support for contract based programming in C++ 2018-06 (Rapperswil) *Removed in Cologne* |Nothing To Do| [#note-P0542]_ n/a
36 `P0556R3 <https://wg21.link/P0556R3>`__ Integral power-of-2 operations 2018-06 (Rapperswil) |Complete| 9.0
37 `P0619R4 <https://wg21.link/P0619R4>`__ Reviewing Deprecated Facilities of C++17 for C++20 2018-06 (Rapperswil) |Partial| [#note-P0619]_
38 `P0646R1 <https://wg21.link/P0646R1>`__ Improving the Return Value of Erase-Like Algorithms 2018-06 (Rapperswil) |Complete| 10.0
40 `P0758R1 <https://wg21.link/P0758R1>`__ Implicit conversion traits and utility functions 2018-06 (Rapperswil) |Complete|
41 `P0759R1 <https://wg21.link/P0759R1>`__ fpos Requirements 2018-06 (Rapperswil) |Complete| 11.0
42 `P0769R2 <https://wg21.link/P0769R2>`__ Add shift to <algorithm> 2018-06 (Rapperswil) |Complete| 12.0
43 `P0788R3 <https://wg21.link/P0788R3>`__ Standard Library Specification in a Concepts and Contracts World 2018-06 (Rapperswil) *Removed in Cologne* |Nothing To Do| [#note-P0788]_ n/a
44 `P0879R0 <https://wg21.link/P0879R0>`__ Constexpr for swap and swap related functions Also resolves LWG issue 2800. 2018-06 (Rapperswil) |Complete| 13.0
45 `P0887R1 <https://wg21.link/P0887R1>`__ The identity metafunction 2018-06 (Rapperswil) |Complete| 8.0
46 `P0892R2 <https://wg21.link/P0892R2>`__ explicit(bool) 2018-06 (Rapperswil)
85 `P0340R3 <https://wg21.link/P0340R3>`__ Making std::underlying_type SFINAE-friendly 2019-02 (Kona) |Complete| 9.0
86 `P0738R2 <https://wg21.link/P0738R2>`__ I Stream, You Stream, We All Stream for istream_iterator 2019-02 (Kona)
87 `P0811R3 <https://wg21.link/P0811R3>`__ Well-behaved interpolation for numbers and pointers 2019-02 (Kona) |Complete| 9.0
88 `P0920R2 <https://wg21.link/P0920R2>`__ Precalculated hash values in lookup 2019-02 (Kona) Reverted by `P1661 <https://wg21.link/P1661>`__ |Nothing To Do| [#note-P0920]_
89 `P1001R2 <https://wg21.link/P1001R2>`__ Target Vectorization Policies from Parallelism V2 TS to C++20 2019-02 (Kona) |Complete| 17.0
90 `P1024R3 <https://wg21.link/P1024R3>`__ Usability Enhancements for std::span 2019-02 (Kona) |Complete| 9.0
91 `P1164R1 <https://wg21.link/P1164R1>`__ Make create_directory() Intuitive 2019-02 (Kona) |Complete| 12.0
117 `P1355R2 <https://wg21.link/P1355R2>`__ Exposing a narrow contract for ceil2 2019-07 (Cologne) |Complete| 9.0
118 `P1361R2 <https://wg21.link/P1361R2>`__ Integration of chrono with text formatting 2019-07 (Cologne) |Partial|
119 `P1423R3 <https://wg21.link/P1423R3>`__ char8_t backward compatibility remediation 2019-07 (Cologne) |Complete| 15.0
120 `P1424R1 <https://wg21.link/P1424R1>`__ 'constexpr' feature macro concerns 2019-07 (Cologne) Superseded by `P1902 <https://wg21.link/P1902>`__ |Nothing To Do| [#note-P1424]_
121 `P1466R3 <https://wg21.link/P1466R3>`__ Miscellaneous minor fixes for chrono 2019-07 (Cologne)
122 `P1474R1 <https://wg21.link/P1474R1>`__ Helpful pointers for ContiguousIterator 2019-07 (Cologne) |Complete| 15.0 |ranges|
123 `P1502R1 <https://wg21.link/P1502R1>`__ Standard library header units for C++20 2019-07 (Cologne)

View File

@ -46,6 +46,9 @@ Paper Status
.. [#note-P2520R0] P2520R0: Libc++ implemented this paper as a DR in C++20 as well.
.. [#note-P2711R1] P2711R1: ``join_with_view`` hasn't been done yet since this type isn't implemented yet.
.. [#note-P2770R0] P2770R0: ``join_with_view`` hasn't been done yet since this type isn't implemented yet.
.. [#note-LWG3494] LWG3494: That LWG issue was superseded by `P2017R1 <https://wg21.link/P2017R1>`__.
.. [#note-LWG3481] LWG3481: That LWG issue was superseded by `P2415R2 <https://wg21.link/P2415R2>`__.
.. [#note-LWG3265] LWG3265: That LWG issue was resolved by `LWG3435 <https://wg21.link/LWG3435>`__.
.. [#note-P2693R1] P2693R1: The formatter for ``std::thread::id`` is implemented.
The formatter for ``stacktrace`` is not implemented, since ``stacktrace`` is
not implemented yet.

View File

@ -5,7 +5,7 @@
"`LWG3195 <https://wg21.link/LWG3195>`__","What is the stored pointer value of an empty ``weak_ptr``?","2020-11 (Virtual)","|Nothing To Do|","",""
"`LWG3211 <https://wg21.link/LWG3211>`__","``std::tuple<>`` should be trivially constructible","2020-11 (Virtual)","|Complete|","9.0",""
"`LWG3236 <https://wg21.link/LWG3236>`__","Random access iterator requirements lack limiting relational operators domain to comparing those from the same range","2020-11 (Virtual)","|Nothing To Do|","",""
"`LWG3265 <https://wg21.link/LWG3265>`__","``move_iterator``'s conversions are more broken after P1207","2020-11 (Virtual)","Resolved by `LWG3435 <https://wg21.link/LWG3435>`__","",""
"`LWG3265 <https://wg21.link/LWG3265>`__","``move_iterator``'s conversions are more broken after P1207","2020-11 (Virtual)","|Nothing To Do| [#note-LWG3265]_","",""
"`LWG3435 <https://wg21.link/LWG3435>`__","``three_way_comparable_with<reverse_iterator<int*>, reverse_iterator<const int*>>``","2020-11 (Virtual)","|Complete|","13.0",""
"`LWG3432 <https://wg21.link/LWG3432>`__","Missing requirement for ``comparison_category``","2020-11 (Virtual)","|Complete|","16.0","|spaceship|"
"`LWG3447 <https://wg21.link/LWG3447>`__","Deduction guides for ``take_view`` and ``drop_view`` have different constraints","2020-11 (Virtual)","|Complete|","14.0","|ranges|"
@ -54,7 +54,7 @@
"`LWG3433 <https://wg21.link/LWG3433>`__","``subrange::advance(n)`` has UB when ``n < 0``","2021-02 (Virtual)","|Complete|","14.0","|ranges|"
"`LWG3490 <https://wg21.link/LWG3490>`__","``ranges::drop_while_view::begin()`` is missing a precondition","2021-02 (Virtual)","|Nothing To Do|","","|ranges|"
"`LWG3492 <https://wg21.link/LWG3492>`__","Minimal improvements to ``elements_view::iterator``","2021-02 (Virtual)","|Complete|","16.0","|ranges|"
"`LWG3494 <https://wg21.link/LWG3494>`__","Allow ranges to be conditionally borrowed","2021-02 (Virtual)","Superseded by `P2017R1 <https://wg21.link/P2017R1>`__","","|ranges|"
"`LWG3494 <https://wg21.link/LWG3494>`__","Allow ranges to be conditionally borrowed","2021-02 (Virtual)","|Nothing To Do| [#note-LWG3494]_","","|ranges|"
"`LWG3495 <https://wg21.link/LWG3495>`__","``constexpr launder`` makes pointers to inactive members of unions usable","2021-02 (Virtual)","|Nothing To Do|","",""
"`LWG3500 <https://wg21.link/LWG3500>`__","``join_view::iterator::operator->()`` is bogus","2021-02 (Virtual)","|Complete|","14.0","|ranges|"
"`LWG3502 <https://wg21.link/LWG3502>`__","``elements_view`` should not be allowed to return dangling reference","2021-02 (Virtual)","|Complete|","16.0","|ranges|"
@ -66,7 +66,7 @@
"`LWG3410 <https://wg21.link/LWG3410>`__","``lexicographical_compare_three_way`` is overspecified","2021-06 (Virtual)","|Complete|","17.0","|spaceship|"
"`LWG3430 <https://wg21.link/LWG3430>`__","``std::fstream`` & co. should be constructible from string_view","2021-06 (Virtual)","|Complete|","19.0",""
"`LWG3462 <https://wg21.link/LWG3462>`__","§[formatter.requirements]: Formatter requirements forbid use of ``fc.arg()``","2021-06 (Virtual)","|Nothing To Do|","","|format|"
"`LWG3481 <https://wg21.link/LWG3481>`__","``viewable_range`` mishandles lvalue move-only views","2021-06 (Virtual)","Superseded by `P2415R2 <https://wg21.link/P2415R2>`__","","|ranges|"
"`LWG3481 <https://wg21.link/LWG3481>`__","``viewable_range`` mishandles lvalue move-only views","2021-06 (Virtual)","|Nothing To Do| [#note-LWG3481]_","","|ranges|"
"`LWG3506 <https://wg21.link/LWG3506>`__","Missing allocator-extended constructors for ``priority_queue``","2021-06 (Virtual)","|Complete|","14.0",""
"`LWG3517 <https://wg21.link/LWG3517>`__","``join_view::iterator``'s ``iter_swap`` is underconstrained","2021-06 (Virtual)","|Complete|","14.0","|ranges|"
"`LWG3518 <https://wg21.link/LWG3518>`__","Exception requirements on char trait operations unclear","2021-06 (Virtual)","|Nothing To Do|","",""

1 Issue # Issue Name Meeting Status First released version Labels
5 `LWG3195 <https://wg21.link/LWG3195>`__ What is the stored pointer value of an empty ``weak_ptr``? 2020-11 (Virtual) |Nothing To Do|
6 `LWG3211 <https://wg21.link/LWG3211>`__ ``std::tuple<>`` should be trivially constructible 2020-11 (Virtual) |Complete| 9.0
7 `LWG3236 <https://wg21.link/LWG3236>`__ Random access iterator requirements lack limiting relational operators domain to comparing those from the same range 2020-11 (Virtual) |Nothing To Do|
8 `LWG3265 <https://wg21.link/LWG3265>`__ ``move_iterator``'s conversions are more broken after P1207 2020-11 (Virtual) Resolved by `LWG3435 <https://wg21.link/LWG3435>`__ |Nothing To Do| [#note-LWG3265]_
9 `LWG3435 <https://wg21.link/LWG3435>`__ ``three_way_comparable_with<reverse_iterator<int*>, reverse_iterator<const int*>>`` 2020-11 (Virtual) |Complete| 13.0
10 `LWG3432 <https://wg21.link/LWG3432>`__ Missing requirement for ``comparison_category`` 2020-11 (Virtual) |Complete| 16.0 |spaceship|
11 `LWG3447 <https://wg21.link/LWG3447>`__ Deduction guides for ``take_view`` and ``drop_view`` have different constraints 2020-11 (Virtual) |Complete| 14.0 |ranges|
54 `LWG3433 <https://wg21.link/LWG3433>`__ ``subrange::advance(n)`` has UB when ``n < 0`` 2021-02 (Virtual) |Complete| 14.0 |ranges|
55 `LWG3490 <https://wg21.link/LWG3490>`__ ``ranges::drop_while_view::begin()`` is missing a precondition 2021-02 (Virtual) |Nothing To Do| |ranges|
56 `LWG3492 <https://wg21.link/LWG3492>`__ Minimal improvements to ``elements_view::iterator`` 2021-02 (Virtual) |Complete| 16.0 |ranges|
57 `LWG3494 <https://wg21.link/LWG3494>`__ Allow ranges to be conditionally borrowed 2021-02 (Virtual) Superseded by `P2017R1 <https://wg21.link/P2017R1>`__ |Nothing To Do| [#note-LWG3494]_ |ranges|
58 `LWG3495 <https://wg21.link/LWG3495>`__ ``constexpr launder`` makes pointers to inactive members of unions usable 2021-02 (Virtual) |Nothing To Do|
59 `LWG3500 <https://wg21.link/LWG3500>`__ ``join_view::iterator::operator->()`` is bogus 2021-02 (Virtual) |Complete| 14.0 |ranges|
60 `LWG3502 <https://wg21.link/LWG3502>`__ ``elements_view`` should not be allowed to return dangling reference 2021-02 (Virtual) |Complete| 16.0 |ranges|
66 `LWG3410 <https://wg21.link/LWG3410>`__ ``lexicographical_compare_three_way`` is overspecified 2021-06 (Virtual) |Complete| 17.0 |spaceship|
67 `LWG3430 <https://wg21.link/LWG3430>`__ ``std::fstream`` & co. should be constructible from string_view 2021-06 (Virtual) |Complete| 19.0
68 `LWG3462 <https://wg21.link/LWG3462>`__ §[formatter.requirements]: Formatter requirements forbid use of ``fc.arg()`` 2021-06 (Virtual) |Nothing To Do| |format|
69 `LWG3481 <https://wg21.link/LWG3481>`__ ``viewable_range`` mishandles lvalue move-only views 2021-06 (Virtual) Superseded by `P2415R2 <https://wg21.link/P2415R2>`__ |Nothing To Do| [#note-LWG3481]_ |ranges|
70 `LWG3506 <https://wg21.link/LWG3506>`__ Missing allocator-extended constructors for ``priority_queue`` 2021-06 (Virtual) |Complete| 14.0
71 `LWG3517 <https://wg21.link/LWG3517>`__ ``join_view::iterator``'s ``iter_swap`` is underconstrained 2021-06 (Virtual) |Complete| 14.0 |ranges|
72 `LWG3518 <https://wg21.link/LWG3518>`__ Exception requirements on char trait operations unclear 2021-06 (Virtual) |Nothing To Do|