mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-25 19:06:05 +00:00
15 KiB
15 KiB
1 | Issue # | Issue Name | Meeting | Status | First released version | Notes |
---|---|---|---|---|---|---|
2 | `LWG2994 <https://wg21.link/LWG2994>`__ | Needless UB for ``basic_string`` and ``basic_string_view`` | 2023-06 (Varna) | |Complete| | 5 | |
3 | `LWG3884 <https://wg21.link/LWG3884>`__ | ``flat_foo`` is missing allocator-extended copy/move constructors | 2023-06 (Varna) | |||
4 | `LWG3885 <https://wg21.link/LWG3885>`__ | ``op`` should be in [zombie.names] | 2023-06 (Varna) | |Nothing To Do| | ||
5 | `LWG3887 <https://wg21.link/LWG3887>`__ | Version macro for ``allocate_at_least`` | 2023-06 (Varna) | |Complete| | 19 | |
6 | `LWG3893 <https://wg21.link/LWG3893>`__ | LWG 3661 broke ``atomic<shared_ptr<T>> a; a = nullptr;`` | 2023-06 (Varna) | |||
7 | `LWG3894 <https://wg21.link/LWG3894>`__ | ``generator::promise_type::yield_value(ranges::elements_of<Rng, Alloc>)`` should not be ``noexcept`` | 2023-06 (Varna) | |||
8 | `LWG3903 <https://wg21.link/LWG3903>`__ | span destructor is redundantly noexcept | 2023-06 (Varna) | |Complete| | 7 | |
9 | `LWG3904 <https://wg21.link/LWG3904>`__ | ``lazy_split_view::outer-iterator``'s const-converting constructor isn't setting ``trailing_empty_`` | 2023-06 (Varna) | |||
10 | `LWG3905 <https://wg21.link/LWG3905>`__ | Type of ``std::fexcept_t`` | 2023-06 (Varna) | |Complete| | 3.4 | |
11 | `LWG3912 <https://wg21.link/LWG3912>`__ | ``enumerate_view::iterator::operator-`` should be ``noexcept`` | 2023-06 (Varna) | |||
12 | `LWG3914 <https://wg21.link/LWG3914>`__ | Inconsistent template-head of ``ranges::enumerate_view`` | 2023-06 (Varna) | |||
13 | `LWG3915 <https://wg21.link/LWG3915>`__ | Redundant paragraph about expression variations | 2023-06 (Varna) | |||
14 | `LWG3925 <https://wg21.link/LWG3925>`__ | Concept ``formattable``'s definition is incorrect | 2023-06 (Varna) | |Complete| | 17 | |
15 | `LWG3927 <https://wg21.link/LWG3927>`__ | Unclear preconditions for ``operator[]`` for sequence containers | 2023-06 (Varna) | |Nothing To Do| | ||
16 | `LWG3935 <https://wg21.link/LWG3935>`__ | ``template<class X> constexpr complex& operator=(const complex<X>&)`` has no specification | 2023-06 (Varna) | |Complete| | 3.4 | |
17 | `LWG3938 <https://wg21.link/LWG3938>`__ | Cannot use ``std::expected`` monadic ops with move-only ``error_type`` | 2023-06 (Varna) | |Complete| | 18 | |
18 | `LWG3940 <https://wg21.link/LWG3940>`__ | ``std::expected<void, E>::value()`` also needs ``E`` to be copy constructible | 2023-06 (Varna) | |Complete| | 18 | |
19 | ||||||
20 | `LWG2392 <https://wg21.link/LWG2392>`__ | "character type" is used but not defined | 2023-11 (Kona) | |||
21 | `LWG3203 <https://wg21.link/LWG3203>`__ | ``span`` element access invalidation | 2023-11 (Kona) | |Nothing To Do| | ||
22 | `LWG3305 <https://wg21.link/LWG3305>`__ | ``any_cast<void>`` | 2023-11 (Kona) | |Complete| | 18 | |
23 | `LWG3431 <https://wg21.link/LWG3431>`__ | ``<=>`` for containers should require ``three_way_comparable<T>`` instead of ``<=>`` | 2023-11 (Kona) | |||
24 | `LWG3749 <https://wg21.link/LWG3749>`__ | ``common_iterator`` should handle integer-class difference types | 2023-11 (Kona) | |||
25 | `LWG3809 <https://wg21.link/LWG3809>`__ | Is ``std::subtract_with_carry_engine<uint16_t>`` supposed to work | 2023-11 (Kona) | |||
26 | `LWG3892 <https://wg21.link/LWG3892>`__ | Incorrect formatting of nested ranges and tuples | 2023-11 (Kona) | |Complete| | 17 | |
27 | `LWG3897 <https://wg21.link/LWG3897>`__ | ``inout_ptr`` will not update raw pointer to 0 | 2023-11 (Kona) | |Complete| | 19 | |
28 | `LWG3946 <https://wg21.link/LWG3946>`__ | The definition of ``const_iterator_t`` should be reworked | 2023-11 (Kona) | |||
29 | `LWG3947 <https://wg21.link/LWG3947>`__ | Unexpected constraints on ``adjacent_transform_view::base()`` | 2023-11 (Kona) | |||
30 | `LWG3948 <https://wg21.link/LWG3948>`__ | ``possibly-const-range and as-const-pointer`` should be ``noexcept`` | 2023-11 (Kona) | |||
31 | `LWG3949 <https://wg21.link/LWG3949>`__ | ``std::atomic<bool>``'s trivial destructor dropped in C++17 spec wording | 2023-11 (Kona) | |||
32 | `LWG3951 <https://wg21.link/LWG3951>`__ | [expected.object.swap]: Using ``value()`` instead of ``has_value()`` | 2023-11 (Kona) | |Complete| | 16 | |
33 | `LWG3953 <https://wg21.link/LWG3953>`__ | ``iter_move`` for ``common_iterator`` and ``counted_iterator`` should return ``decltype(auto)`` | 2023-11 (Kona) | |Complete| | 20 | |
34 | `LWG3957 <https://wg21.link/LWG3957>`__ | [container.alloc.reqmts] The value category of v should be claimed | 2023-11 (Kona) | |||
35 | `LWG3965 <https://wg21.link/LWG3965>`__ | Incorrect example in [format.string.escaped] p3 for formatting of combining characters | 2023-11 (Kona) | |Complete| | 19 | |
36 | `LWG3970 <https://wg21.link/LWG3970>`__ | [mdspan.syn] Missing definition of ``full_extent_t`` and ``full_extent`` | 2023-11 (Kona) | |||
37 | `LWG3973 <https://wg21.link/LWG3973>`__ | Monadic operations should be ADL-proof | 2023-11 (Kona) | |||
38 | `LWG3974 <https://wg21.link/LWG3974>`__ | ``mdspan::operator[]`` should not copy ``OtherIndexTypes`` | 2023-11 (Kona) | |||
39 | `LWG3987 <https://wg21.link/LWG3987>`__ | Including ``<flat_foo>`` doesn't provide ``std::begin``/``end`` | 2023-11 (Kona) | |||
40 | `LWG3990 <https://wg21.link/LWG3990>`__ | Program-defined specializations of ``std::tuple`` and ``std::variant`` can't be properly supported | 2023-11 (Kona) | |||
41 | `LWG4001 <https://wg21.link/LWG4001>`__ | ``iota_view`` should provide ``empty`` | 2023-11 (Kona) | |Complete| | 19 | |
42 | ||||||
43 | `LWG3767 <https://wg21.link/LWG3767>`__ | ``codecvt<charN_t, char8_t, mbstate_t>`` incorrectly added to locale | 2024-03 (Tokyo) | |||
44 | `LWG3919 <https://wg21.link/LWG3919>`__ | ``enumerate_view`` may invoke UB for sized common non-forward underlying ranges | 2024-03 (Tokyo) | |||
45 | `LWG3950 <https://wg21.link/LWG3950>`__ | ``std::basic_string_view`` comparison operators are overspecified | 2024-03 (Tokyo) | |Complete| | 18 | |
46 | `LWG3975 <https://wg21.link/LWG3975>`__ | Specializations of ``basic_format_context`` should not be permitted | 2024-03 (Tokyo) | |Nothing To Do| | ||
47 | `LWG3984 <https://wg21.link/LWG3984>`__ | ``ranges::to``'s recursion branch may be ill-formed | 2024-03 (Tokyo) | |Complete| | 19 | |
48 | `LWG4011 <https://wg21.link/LWG4011>`__ | ``"Effects: Equivalent to return"`` in ``[span.elem]`` | 2024-03 (Tokyo) | |Nothing To Do| | ||
49 | `LWG4012 <https://wg21.link/LWG4012>`__ | ``common_view::begin/end`` are missing the ``simple-view`` check | 2024-03 (Tokyo) | |||
50 | `LWG4013 <https://wg21.link/LWG4013>`__ | ``lazy_split_view::outer-iterator::value_type`` should not provide default constructor | 2024-03 (Tokyo) | |||
51 | `LWG4016 <https://wg21.link/LWG4016>`__ | container-insertable checks do not match what container-inserter does | 2024-03 (Tokyo) | |Complete| | 20 | |
52 | `LWG4023 <https://wg21.link/LWG4023>`__ | Preconditions of ``std::basic_streambuf::setg/setp`` | 2024-03 (Tokyo) | |Complete| | 19 | |
53 | `LWG4025 <https://wg21.link/LWG4025>`__ | Move assignment operator of ``std::expected<cv void, E>`` should not be conditionally deleted | 2024-03 (Tokyo) | |Complete| | 20 | |
54 | `LWG4030 <https://wg21.link/LWG4030>`__ | Clarify whether arithmetic expressions in ``[numeric.sat.func]`` are mathematical or C++ | 2024-03 (Tokyo) | |Nothing To Do| | ||
55 | `LWG4031 <https://wg21.link/LWG4031>`__ | ``bad_expected_access<void>`` member functions should be ``noexcept`` | 2024-03 (Tokyo) | |Complete| | 16 | |
56 | `LWG4035 <https://wg21.link/LWG4035>`__ | ``single_view`` should provide ``empty`` | 2024-03 (Tokyo) | |Complete| | 19 | |
57 | `LWG4036 <https://wg21.link/LWG4036>`__ | ``__alignof_is_defined`` is only implicitly specified in C++ and not yet deprecated | 2024-03 (Tokyo) | |||
58 | `LWG4037 <https://wg21.link/LWG4037>`__ | Static data members of ``ctype_base`` are not yet required to be usable in constant expressions | 2024-03 (Tokyo) | |||
59 | `LWG4038 <https://wg21.link/LWG4038>`__ | ``std::text_encoding::aliases_view`` should have constexpr iterators | 2024-03 (Tokyo) | |||
60 | `LWG4043 <https://wg21.link/LWG4043>`__ | "ASCII" is not a registered character encoding | 2024-03 (Tokyo) | |Nothing To Do| | ||
61 | `LWG4045 <https://wg21.link/LWG4045>`__ | ``tuple`` can create dangling references from ``tuple-like`` | 2024-03 (Tokyo) | |||
62 | `LWG4053 <https://wg21.link/LWG4053>`__ | Unary call to ``std::views::repeat`` does not decay the argument | 2024-03 (Tokyo) | |Complete| | 19 | |
63 | `LWG4054 <https://wg21.link/LWG4054>`__ | Repeating a ``repeat_view`` should repeat the view | 2024-03 (Tokyo) | |Complete| | 19 | |
64 | ||||||
65 | `LWG3944 <https://wg21.link/LWG3944>`__ | Formatters converting sequences of ``char`` to sequences of ``wchar_t`` | 2024-06 (St. Louis) | |||
66 | `LWG4060 <https://wg21.link/LWG4060>`__ | ``submdspan`` preconditions do not forbid creating invalid pointer | 2024-06 (St. Louis) | |||
67 | `LWG4061 <https://wg21.link/LWG4061>`__ | Should ``std::basic_format_context`` be default-constructible/copyable/movable? | 2024-06 (St. Louis) | |Complete| | 19 | |
68 | `LWG4071 <https://wg21.link/LWG4071>`__ | ``reference_wrapper`` comparisons are not SFINAE-friendly | 2024-06 (St. Louis) | |Complete| | 19 | |
69 | `LWG4074 <https://wg21.link/LWG4074>`__ | ``compatible-joinable-ranges`` is underconstrained | 2024-06 (St. Louis) | |||
70 | `LWG4076 <https://wg21.link/LWG4076>`__ | ``concat_view`` should be freestanding | 2024-06 (St. Louis) | |||
71 | `LWG4079 <https://wg21.link/LWG4079>`__ | Missing Preconditions in ``concat_view::iterator``\`s conversion constructor | 2024-06 (St. Louis) | |||
72 | `LWG4082 <https://wg21.link/LWG4082>`__ | ``views::concat(r)`` is well-formed when ``r`` is an ``output_range`` | 2024-06 (St. Louis) | |||
73 | `LWG4083 <https://wg21.link/LWG4083>`__ | ``views::as_rvalue`` should reject non-input ranges | 2024-06 (St. Louis) | |||
74 | `LWG4096 <https://wg21.link/LWG4096>`__ | ``views::iota(views::iota(0))`` should be rejected | 2024-06 (St. Louis) | |||
75 | `LWG4098 <https://wg21.link/LWG4098>`__ | ``views::adjacent<0>`` should reject non-forward ranges | 2024-06 (St. Louis) | |||
76 | `LWG4105 <https://wg21.link/LWG4105>`__ | ``ranges::ends_with``\`s Returns misses difference casting | 2024-06 (St. Louis) | |||
77 | `LWG4106 <https://wg21.link/LWG4106>`__ | ``basic_format_args`` should not be default-constructible | 2024-06 (St. Louis) | |Complete| | 19 | |
78 | ||||||
79 | `LWG3216 <https://wg21.link/LWG3216>`__ | Rebinding the allocator before calling ``construct``/``destroy`` in ``allocate_shared`` | 2024-11 (Wrocław) | |||
80 | `LWG3436 <https://wg21.link/LWG3436>`__ | ``std::construct_at`` should support arrays | 2024-11 (Wrocław) | |||
81 | `LWG3886 <https://wg21.link/LWG3886>`__ | Monad mo' problems | 2024-11 (Wrocław) | |||
82 | `LWG3899 <https://wg21.link/LWG3899>`__ | ``co_yield``\ing elements of an lvalue generator is unnecessarily inefficient | 2024-11 (Wrocław) | |||
83 | `LWG3900 <https://wg21.link/LWG3900>`__ | The ``allocator_arg_t`` overloads of ``generator::promise_type::operator new`` should not be constrained | 2024-11 (Wrocław) | |||
84 | `LWG3918 <https://wg21.link/LWG3918>`__ | ``std::uninitialized_move/_n`` and guaranteed copy elision | 2024-11 (Wrocław) | |||
85 | `LWG4014 <https://wg21.link/LWG4014>`__ | LWG 3809 changes behavior of some existing ``std::subtract_with_carry_engine code`` | 2024-11 (Wrocław) | |||
86 | `LWG4024 <https://wg21.link/LWG4024>`__ | Underspecified destruction of objects created in ``std::make_shared_for_overwrite``/``std::allocate_shared_for_overwrite`` | 2024-11 (Wrocław) | 16 | ||
87 | `LWG4027 <https://wg21.link/LWG4027>`__ | ``possibly-const-range`` should prefer returning ``const R&`` | 2024-11 (Wrocław) | |||
88 | `LWG4044 <https://wg21.link/LWG4044>`__ | Confusing requirements for ``std::print`` on POSIX platforms | 2024-11 (Wrocław) | |||
89 | `LWG4064 <https://wg21.link/LWG4064>`__ | Clarify that ``std::launder`` is not needed when using the result of ``std::memcpy`` | 2024-11 (Wrocław) | |||
90 | `LWG4072 <https://wg21.link/LWG4072>`__ | ``std::optional`` comparisons: constrain harder | 2024-11 (Wrocław) | |||
91 | `LWG4084 <https://wg21.link/LWG4084>`__ | ``std::fixed`` ignores ``std::uppercase`` | 2024-11 (Wrocław) | |||
92 | `LWG4085 <https://wg21.link/LWG4085>`__ | ``ranges::generate_random``'s helper lambda should specify the return type | 2024-11 (Wrocław) | |||
93 | `LWG4088 <https://wg21.link/LWG4088>`__ | ``println`` ignores the locale imbued in ``std::ostream`` | 2024-11 (Wrocław) | |||
94 | `LWG4112 <https://wg21.link/LWG4112>`__ | ``has-arrow`` should required ``operator->()`` to be ``const``-qualified | 2024-11 (Wrocław) | |||
95 | `LWG4113 <https://wg21.link/LWG4113>`__ | Disallow ``has_unique_object_representations<Incomplete[]>`` | 2024-11 (Wrocław) | |||
96 | `LWG4119 <https://wg21.link/LWG4119>`__ | ``generator::promise_type::yield_value(ranges::elements_of<R, Alloc>)``'s nested ``generator`` may be ill-formed | 2024-11 (Wrocław) | |||
97 | `LWG4124 <https://wg21.link/LWG4124>`__ | Cannot format ``zoned_time`` with resolution coarser than ``seconds`` | 2024-11 (Wrocław) | |||
98 | `LWG4126 <https://wg21.link/LWG4126>`__ | Some feature-test macros for fully freestanding features are not yet marked freestanding | 2024-11 (Wrocław) | |||
99 | `LWG4134 <https://wg21.link/LWG4134>`__ | Issue with Philox algorithm specification | 2024-11 (Wrocław) | |||
100 | `LWG4135 <https://wg21.link/LWG4135>`__ | The helper lambda of ``std::erase`` for list should specify return type as ``bool`` | 2024-11 (Wrocław) | |||
101 | `LWG4140 <https://wg21.link/LWG4140>`__ | Useless default constructors for bit reference types | 2024-11 (Wrocław) | |||
102 | `LWG4141 <https://wg21.link/LWG4141>`__ | Improve prohibitions on "additional storage" | 2024-11 (Wrocław) | |||
103 | `LWG4142 <https://wg21.link/LWG4142>`__ | ``format_parse_context::check_dynamic_spec`` should require at least one type | 2024-11 (Wrocław) | |||
104 | `LWG4144 <https://wg21.link/LWG4144>`__ | Disallow ``unique_ptr<T&, D>`` | 2024-11 (Wrocław) | |||
105 | `LWG4147 <https://wg21.link/LWG4147>`__ | Precondition on ``inplace_vector::emplace`` | 2024-11 (Wrocław) | |||
106 | `LWG4148 <https://wg21.link/LWG4148>`__ | ``unique_ptr::operator*`` should not allow dangling references | 2024-11 (Wrocław) | |||
107 | `LWG4153 <https://wg21.link/LWG4153>`__ | Fix extra "-1" for ``philox_engine::max()`` | 2024-11 (Wrocław) | |||
108 | `LWG4154 <https://wg21.link/LWG4154>`__ | The Mandates for ``std::packaged_task``'s constructor from a callable entity should consider decaying | 2024-11 (Wrocław) | |||
109 | `LWG4157 <https://wg21.link/LWG4157>`__ | The resolution of LWG3465 was damaged by P2167R3 | 2024-11 (Wrocław) | 20 | ||
110 | `LWG4164 <https://wg21.link/LWG4164>`__ | Missing guarantees for ``forward_list`` modifiers | 2024-11 (Wrocław) | |||
111 | `LWG4169 <https://wg21.link/LWG4169>`__ | ``std::atomic<T>``'s default constructor should be constrained | 2024-11 (Wrocław) | |||
112 | `LWG4170 <https://wg21.link/LWG4170>`__ | ``contiguous_iterator`` should require ``to_address(I{})`` | 2024-11 (Wrocław) | |||
113 | ||||||
114 | `LWG3343 <https://wg21.link/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 | |
115 | `LWG4139 <https://wg21.link/LWG4139>`__ | §[time.zone.leap] recursive constraint in <=> | Not Adopted Yet | |Complete| | 20 | |
116 | `LWG3456 <https://wg21.link/LWG3456>`__ | Pattern used by std::from_chars is underspecified (option B) | Not Adopted Yet | |Complete| | 20 | |
117 |