mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-17 14:26:49 +00:00

fixes https://github.com/llvm/llvm-project/issues/105190 --------- Co-authored-by: Hui Xie <huixie@Mac.broadband> Co-authored-by: Hui Xie <huixie@Huis-MacBook-Pro.local>
15 KiB
15 KiB
1 | Paper # | Paper Name | Meeting | Status | First released version | Notes |
---|---|---|---|---|---|---|
2 | `P0881R7 <https://wg21.link/P0881R7>`__ | A Proposal to add stacktrace library | 2020-11 (Virtual) | |||
3 | `P0943R6 <https://wg21.link/P0943R6>`__ | Support C atomics in C++ | 2020-11 (Virtual) | |Complete| | 15 | |
4 | `P1048R1 <https://wg21.link/P1048R1>`__ | A proposal for a type trait to detect scoped enumerations | 2020-11 (Virtual) | |Complete| | 12 | |
5 | `P1679R3 <https://wg21.link/P1679R3>`__ | string contains function | 2020-11 (Virtual) | |Complete| | 12 | |
6 | ||||||
7 | `P1682R3 <https://wg21.link/P1682R3>`__ | std::to_underlying for enumerations | 2021-02 (Virtual) | |Complete| | 13 | |
8 | `P2017R1 <https://wg21.link/P2017R1>`__ | Conditionally borrowed ranges | 2021-02 (Virtual) | |Complete| | 16 | |
9 | `P2160R1 <https://wg21.link/P2160R1>`__ | Locks lock lockables | 2021-02 (Virtual) | |Nothing To Do| | ||
10 | `P2162R2 <https://wg21.link/P2162R2>`__ | Inheriting from std::variant | 2021-02 (Virtual) | |Complete| | 13 | |
11 | `P2212R2 <https://wg21.link/P2212R2>`__ | Relax Requirements for time_point::clock | 2021-02 (Virtual) | |Nothing To Do| | ||
12 | `P2259R1 <https://wg21.link/P2259R1>`__ | Repairing input range adaptors and counted_iterator | 2021-02 (Virtual) | |||
13 | ||||||
14 | `P0401R6 <https://wg21.link/P0401R6>`__ | Providing size feedback in the Allocator interface | 2021-06 (Virtual) | |Complete| | 15 | |
15 | `P0448R4 <https://wg21.link/P0448R4>`__ | A strstream replacement using span<charT> as buffer | 2021-06 (Virtual) | |||
16 | `P1132R8 <https://wg21.link/P1132R8>`__ | out_ptr - a scalable output pointer abstraction | 2021-06 (Virtual) | |Complete| | 19 | |
17 | `P1328R1 <https://wg21.link/P1328R1>`__ | Making std::type_info::operator== constexpr | 2021-06 (Virtual) | |Complete| | 17 | |
18 | `P1425R4 <https://wg21.link/P1425R4>`__ | Iterators pair constructors for stack and queue | 2021-06 (Virtual) | |Complete| | 14 | |
19 | `P1518R2 <https://wg21.link/P1518R2>`__ | Stop overconstraining allocators in container deduction guides | 2021-06 (Virtual) | |Complete| | 13 | |
20 | `P1659R3 <https://wg21.link/P1659R3>`__ | starts_with and ends_with | 2021-06 (Virtual) | |Complete| | 19 | |
21 | `P1951R1 <https://wg21.link/P1951R1>`__ | Default Arguments for pair Forwarding Constructor | 2021-06 (Virtual) | |Complete| | 14 | |
22 | `P1989R2 <https://wg21.link/P1989R2>`__ | Range constructor for std::string_view | 2021-06 (Virtual) | |Complete| | 14 | |
23 | `P2136R3 <https://wg21.link/P2136R3>`__ | invoke_r | 2021-06 (Virtual) | |Complete| | 17 | |
24 | `P2166R1 <https://wg21.link/P2166R1>`__ | A Proposal to Prohibit std::basic_string and std::basic_string_view construction from nullptr | 2021-06 (Virtual) | |Complete| | 13 | |
25 | ||||||
26 | `P0288R9 <https://wg21.link/P0288R9>`__ | ``any_invocable`` | 2021-10 (Virtual) | |||
27 | `P0798R8 <https://wg21.link/P0798R8>`__ | Monadic operations for ``std::optional`` | 2021-10 (Virtual) | |Complete| | 14 | |
28 | `P0849R8 <https://wg21.link/P0849R8>`__ | ``auto(x)``: ``DECAY_COPY`` in the language | 2021-10 (Virtual) | |Complete| | 14 | |
29 | `P1072R10 <https://wg21.link/P1072R10>`__ | ``basic_string::resize_and_overwrite`` | 2021-10 (Virtual) | |Complete| | 14 | |
30 | `P1147R1 <https://wg21.link/P1147R1>`__ | Printing ``volatile`` Pointers | 2021-10 (Virtual) | |Complete| | 14 | |
31 | `P1272R4 <https://wg21.link/P1272R4>`__ | Byteswapping for fun&&nuf | 2021-10 (Virtual) | |Complete| | 14 | |
32 | `P1675R2 <https://wg21.link/P1675R2>`__ | ``rethrow_exception`` must be allowed to copy | 2021-10 (Virtual) | |Nothing To Do| | ||
33 | `P2077R3 <https://wg21.link/P2077R3>`__ | Heterogeneous erasure overloads for associative containers | 2021-10 (Virtual) | |||
34 | `P2251R1 <https://wg21.link/P2251R1>`__ | Require ``span`` & ``basic_string_view`` to be Trivially Copyable | 2021-10 (Virtual) | |Complete| | 14 | |
35 | `P2301R1 <https://wg21.link/P2301R1>`__ | Add a ``pmr`` alias for ``std::stacktrace`` | 2021-10 (Virtual) | |||
36 | `P2321R2 <https://wg21.link/P2321R2>`__ | ``zip`` | 2021-10 (Virtual) | |In Progress| | ||
37 | `P2340R1 <https://wg21.link/P2340R1>`__ | Clarifying the status of the 'C headers' | 2021-10 (Virtual) | |Nothing To Do| | ||
38 | `P2393R1 <https://wg21.link/P2393R1>`__ | Cleaning up ``integer``-class types | 2021-10 (Virtual) | |||
39 | `P2401R0 <https://wg21.link/P2401R0>`__ | Add a conditional ``noexcept`` specification to ``std::exchange`` | 2021-10 (Virtual) | |Complete| | 14 | |
40 | ||||||
41 | `P0323R12 <https://wg21.link/P0323R12>`__ | ``std::expected`` | 2022-02 (Virtual) | |Complete| | 16 | |
42 | `P0533R9 <https://wg21.link/P0533R9>`__ | ``constexpr`` for ``<cmath>`` and ``<cstdlib>`` | 2022-02 (Virtual) | |In Progress| | ``isfinite``, ``isinf``, ``isnan`` and ``isnormal`` are implemented | |
43 | `P0627R6 <https://wg21.link/P0627R6>`__ | Function to mark unreachable code | 2022-02 (Virtual) | |Complete| | 15 | |
44 | `P1206R7 <https://wg21.link/P1206R7>`__ | ``ranges::to``: A function to convert any range to a container | 2022-02 (Virtual) | |Complete| | 17 | |
45 | `P1413R3 <https://wg21.link/P1413R3>`__ | Deprecate ``std::aligned_storage`` and ``std::aligned_union`` | 2022-02 (Virtual) | |Complete| | ``std::aligned_storage_t`` and ``std::aligned_union_t`` are marked deprecated, but clang doesn't issue a diagnostic for deprecated using template declarations. | |
46 | `P2255R2 <https://wg21.link/P2255R2>`__ | A type trait to detect reference binding to temporary | 2022-02 (Virtual) | |||
47 | `P2273R3 <https://wg21.link/P2273R3>`__ | Making ``std::unique_ptr`` constexpr | 2022-02 (Virtual) | |Complete| | 16 | |
48 | `P2387R3 <https://wg21.link/P2387R3>`__ | Pipe support for user-defined range adaptors | 2022-02 (Virtual) | |Complete| | 19 | |
49 | `P2440R1 <https://wg21.link/P2440R1>`__ | ``ranges::iota``, ``ranges::shift_left`` and ``ranges::shift_right`` | 2022-02 (Virtual) | |||
50 | `P2441R2 <https://wg21.link/P2441R2>`__ | ``views::join_with`` | 2022-02 (Virtual) | |In Progress| | ||
51 | `P2442R1 <https://wg21.link/P2442R1>`__ | Windowing range adaptors: ``views::chunk`` and ``views::slide`` | 2022-02 (Virtual) | |||
52 | `P2443R1 <https://wg21.link/P2443R1>`__ | ``views::chunk_by`` | 2022-02 (Virtual) | |Complete| | 18 | |
53 | ||||||
54 | `P0009R18 <https://wg21.link/P0009R18>`__ | mdspan: A Non-Owning Multidimensional Array Reference | 2022-07 (Virtual) | |Complete| | 18 | |
55 | `P0429R9 <https://wg21.link/P0429R9>`__ | A Standard ``flat_map`` | 2022-07 (Virtual) | |Complete| | ||
56 | `P1169R4 <https://wg21.link/P1169R4>`__ | ``static operator()`` | 2022-07 (Virtual) | |Complete| | 16 | |
57 | `P1222R4 <https://wg21.link/P1222R4>`__ | A Standard ``flat_set`` | 2022-07 (Virtual) | |||
58 | `P1223R5 <https://wg21.link/P1223R5>`__ | ``ranges::find_last()``, ``ranges::find_last_if()``, and ``ranges::find_last_if_not()`` | 2022-07 (Virtual) | |Complete| | 19 | |
59 | `P1467R9 <https://wg21.link/P1467R9>`__ | Extended ``floating-point`` types and standard names | 2022-07 (Virtual) | |||
60 | `P1642R11 <https://wg21.link/P1642R11>`__ | Freestanding ``[utilities]``, ``[ranges]``, and ``[iterators]`` | 2022-07 (Virtual) | |||
61 | `P1899R3 <https://wg21.link/P1899R3>`__ | ``stride_view`` | 2022-07 (Virtual) | |||
62 | `P2093R14 <https://wg21.link/P2093R14>`__ | Formatted output | 2022-07 (Virtual) | |Complete| | 18 | |
63 | `P2165R4 <https://wg21.link/P2165R4>`__ | Compatibility between ``tuple``, ``pair`` and ``tuple-like`` objects | 2022-07 (Virtual) | |Partial| | Only the part for ``zip_view`` is implemented. | |
64 | `P2278R4 <https://wg21.link/P2278R4>`__ | ``cbegin`` should always return a constant iterator | 2022-07 (Virtual) | |||
65 | `P2286R8 <https://wg21.link/P2286R8>`__ | Formatting Ranges | 2022-07 (Virtual) | |Complete| | 16 | |
66 | `P2291R3 <https://wg21.link/P2291R3>`__ | Add Constexpr Modifiers to Functions ``to_chars`` and ``from_chars`` for Integral Types in ``<charconv>`` Header | 2022-07 (Virtual) | |Complete| | 16 | |
67 | `P2302R4 <https://wg21.link/P2302R4>`__ | ``std::ranges::contains`` | 2022-07 (Virtual) | |Complete| | 19 | |
68 | `P2322R6 <https://wg21.link/P2322R6>`__ | ``ranges::fold`` | 2022-07 (Virtual) | |||
69 | `P2374R4 <https://wg21.link/P2374R4>`__ | ``views::cartesian_product`` | 2022-07 (Virtual) | |||
70 | `P2404R3 <https://wg21.link/P2404R3>`__ | Move-only types for ``equality_comparable_with``, ``totally_ordered_with``, and ``three_way_comparable_with`` | 2022-07 (Virtual) | |||
71 | `P2408R5 <https://wg21.link/P2408R5>`__ | Ranges iterators as inputs to non-Ranges algorithms | 2022-07 (Virtual) | |||
72 | `P2417R2 <https://wg21.link/P2417R2>`__ | A more ``constexpr`` ``bitset`` | 2022-07 (Virtual) | |Complete| | 16 | |
73 | `P2419R2 <https://wg21.link/P2419R2>`__ | Clarify handling of encodings in localized formatting of chrono types | 2022-07 (Virtual) | |||
74 | `P2438R2 <https://wg21.link/P2438R2>`__ | ``std::string::substr() &&`` | 2022-07 (Virtual) | |Complete| | 16 | |
75 | `P2445R1 <https://wg21.link/P2445R1>`__ | ``forward_like`` | 2022-07 (Virtual) | |Complete| | 16 | |
76 | `P2446R2 <https://wg21.link/P2446R2>`__ | ``views::as_rvalue`` | 2022-07 (Virtual) | |Complete| | 16 | |
77 | `P2460R2 <https://wg21.link/P2460R2>`__ | Relax requirements on ``wchar_t`` to match existing practices | 2022-07 (Virtual) | |Nothing To Do| | ||
78 | `P2465R3 <https://wg21.link/P2465R3>`__ | Standard Library Modules ``std`` and ``std.compat`` | 2022-07 (Virtual) | |Complete| | 19 | |
79 | `P2467R1 <https://wg21.link/P2467R1>`__ | Support exclusive mode for ``fstreams`` | 2022-07 (Virtual) | |Complete| | 18 | |
80 | `P2474R2 <https://wg21.link/P2474R2>`__ | ``views::repeat`` | 2022-07 (Virtual) | |Complete| | 17 | |
81 | `P2494R2 <https://wg21.link/P2494R2>`__ | Relaxing range adaptors to allow for move only types | 2022-07 (Virtual) | |Complete| | 17 | |
82 | `P2499R0 <https://wg21.link/P2499R0>`__ | ``string_view`` range constructor should be ``explicit`` | 2022-07 (Virtual) | |Complete| | 16 | |
83 | `P2502R2 <https://wg21.link/P2502R2>`__ | ``std::generator``: Synchronous Coroutine Generator for Ranges | 2022-07 (Virtual) | |||
84 | `P2508R1 <https://wg21.link/P2508R1>`__ | Exposing ``std::basic-format-string`` | 2022-07 (Virtual) | |Complete| | 15 | |
85 | `P2513R4 <https://wg21.link/P2513R4>`__ | ``char8_t`` Compatibility and Portability Fixes | 2022-07 (Virtual) | |||
86 | `P2517R1 <https://wg21.link/P2517R1>`__ | Add a conditional ``noexcept`` specification to ``std::apply`` | 2022-07 (Virtual) | |Complete| | 3.9 | |
87 | `P2520R0 <https://wg21.link/P2520R0>`__ | ``move_iterator`` should be a random access iterator | 2022-07 (Virtual) | |Complete| | 17 | Implemented as a DR in C++20 |
88 | `P2540R1 <https://wg21.link/P2540R1>`__ | Empty Product for certain Views | 2022-07 (Virtual) | |||
89 | `P2549R1 <https://wg21.link/P2549R1>`__ | ``std::unexpected`` should have ``error()`` as member accessor | 2022-07 (Virtual) | |Complete| | 16 | |
90 | `P2585R0 <https://wg21.link/P2585R0>`__ | Improving default container formatting | 2022-07 (Virtual) | |Complete| | 17 | |
91 | `P2590R2 <https://wg21.link/P2590R2>`__ | Explicit lifetime management | 2022-07 (Virtual) | |||
92 | `P2599R2 <https://wg21.link/P2599R2>`__ | ``mdspan::size_type`` should be ``index_type`` | 2022-07 (Virtual) | |Complete| | 18 | |
93 | `P2604R0 <https://wg21.link/P2604R0>`__ | mdspan: rename pointer and contiguous | 2022-07 (Virtual) | |Complete| | 18 | |
94 | `P2613R1 <https://wg21.link/P2613R1>`__ | Add the missing ``empty`` to ``mdspan`` | 2022-07 (Virtual) | |Complete| | 18 | |
95 | ||||||
96 | `P1202R5 <https://wg21.link/P1202R5>`__ | Asymmetric Fences | 2022-11 (Kona) | |||
97 | `P1264R2 <https://wg21.link/P1264R2>`__ | Revising the wording of ``stream`` input operations | 2022-11 (Kona) | |Complete| | 9 | |
98 | `P1478R8 <https://wg21.link/P1478R8>`__ | ``Byte-wise`` ``atomic`` ``memcpy`` | 2022-11 (Kona) | |||
99 | `P2167R3 <https://wg21.link/P2167R3>`__ | Improved Proposed Wording for LWG 2114 | 2022-11 (Kona) | |Complete| | 20 | The `[cmp.alg] <https://eel.is/c++draft/cmp.alg>`__ part is implemented as a DR against C++20. MSVC STL does the same. Other parts are Nothing To Do. |
100 | `P2396R1 <https://wg21.link/P2396R1>`__ | Concurrency TS 2 fixes | 2022-11 (Kona) | |||
101 | `P2505R5 <https://wg21.link/P2505R5>`__ | Monadic Functions for ``std::expected`` | 2022-11 (Kona) | |Complete| | 17 | |
102 | `P2539R4 <https://wg21.link/P2539R4>`__ | Should the output of ``std::print`` to a terminal be synchronized with the underlying stream? | 2022-11 (Kona) | |Complete| | 18 | |
103 | `P2602R2 <https://wg21.link/P2602R2>`__ | Poison Pills are Too Toxic | 2022-11 (Kona) | |Complete| | 19 | Implemented as a DR in C++20 |
104 | `P2708R1 <https://wg21.link/P2708R1>`__ | No Further Fundamentals TSes | 2022-11 (Kona) | |Nothing To Do| | ||
105 | ||||||
106 | `P0290R4 <https://wg21.link/P0290R4>`__ | ``apply()`` for ``synchronized_value<T>`` | 2023-02 (Issaquah) | |||
107 | `P2770R0 <https://wg21.link/P2770R0>`__ | Stashing stashing ``iterators`` for proper flattening | 2023-02 (Issaquah) | |Partial| | ``join_with_view`` hasn't been done yet since this type isn't implemented yet | |
108 | `P2164R9 <https://wg21.link/P2164R9>`__ | ``views::enumerate`` | 2023-02 (Issaquah) | |||
109 | `P2711R1 <https://wg21.link/P2711R1>`__ | Making multi-param constructors of ``views`` ``explicit`` | 2023-02 (Issaquah) | |In Progress| | ``join_with_view`` hasn't been done yet since this type isn't implemented yet | |
110 | `P2609R3 <https://wg21.link/P2609R3>`__ | Relaxing Ranges Just A Smidge | 2023-02 (Issaquah) | |Complete| | 20 | Implemented as a DR in C++20. Other implementations will do the same. |
111 | `P2713R1 <https://wg21.link/P2713R1>`__ | Escaping improvements in ``std::format`` | 2023-02 (Issaquah) | |Complete| | 19 | |
112 | `P2675R1 <https://wg21.link/P2675R1>`__ | ``format``'s width estimation is too approximate and not forward compatible | 2023-02 (Issaquah) | |Complete| | 17 | |
113 | `P2572R1 <https://wg21.link/P2572R1>`__ | ``std::format`` fill character allowances | 2023-02 (Issaquah) | |Complete| | 17 | |
114 | `P2693R1 <https://wg21.link/P2693R1>`__ | Formatting ``thread::id`` and ``stacktrace`` | 2023-02 (Issaquah) | |Partial| | The formatter for ``stacktrace`` is not implemented, since ``stacktrace`` is not implemented yet | |
115 | `P2679R2 <https://wg21.link/P2679R2>`__ | Fixing ``std::start_lifetime_as`` for arrays | 2023-02 (Issaquah) | |||
116 | `P2674R1 <https://wg21.link/P2674R1>`__ | A trait for implicit lifetime types | 2023-02 (Issaquah) | |Complete| | 20 | |
117 | `P2655R3 <https://wg21.link/P2655R3>`__ | ``common_reference_t`` of ``reference_wrapper`` Should Be a Reference Type | 2023-02 (Issaquah) | |||
118 | `P2652R2 <https://wg21.link/P2652R2>`__ | Disallow User Specialization of ``allocator_traits`` | 2023-02 (Issaquah) | |Complete| | 19 | |
119 | `P2787R1 <https://wg21.link/P2787R1>`__ | ``pmr::generator`` - Promise Types are not Values | 2023-02 (Issaquah) | |||
120 | `P2614R2 <https://wg21.link/P2614R2>`__ | Deprecate ``numeric_limits::has_denorm`` | 2023-02 (Issaquah) | |Complete| | 18 | |
121 | `P2588R3 <https://wg21.link/P2588R3>`__ | ``barrier``’s phase completion guarantees | 2023-02 (Issaquah) | |||
122 | `P2763R1 <https://wg21.link/P2763R1>`__ | ``layout_stride`` static extents default constructor fix | 2023-02 (Issaquah) | |||
123 | `P2736R2 <https://wg21.link/P2736R2>`__ | Referencing The Unicode Standard | 2023-02 (Issaquah) | |Complete| | 19 |