llvm-project/libcxx/docs/Status/Cxx2cIssues.csv

20 KiB

1Issue #Issue NameMeetingStatusFirst released versionNotes
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 constructors2023-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 noexcept2023-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 variations2023-06 (Varna)
14`LWG3925 <https://wg21.link/LWG3925>`__Concept ``formattable``'s definition is incorrect2023-06 (Varna)|Complete|17
15`LWG3927 <https://wg21.link/LWG3927>`__Unclear preconditions for ``operator[]`` for sequence containers2023-06 (Varna)|Nothing To Do|
16`LWG3935 <https://wg21.link/LWG3935>`__``template<class X> constexpr complex& operator=(const complex<X>&)`` has no specification2023-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 constructible2023-06 (Varna)|Complete|18
19
20`LWG2392 <https://wg21.link/LWG2392>`__"character type" is used but not defined2023-11 (Kona)
21`LWG3203 <https://wg21.link/LWG3203>`__``span`` element access invalidation2023-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 types2023-11 (Kona)
25`LWG3809 <https://wg21.link/LWG3809>`__Is ``std::subtract_with_carry_engine<uint16_t>`` supposed to work2023-11 (Kona)
26`LWG3892 <https://wg21.link/LWG3892>`__Incorrect formatting of nested ranges and tuples2023-11 (Kona)|Complete|17
27`LWG3897 <https://wg21.link/LWG3897>`__``inout_ptr`` will not update raw pointer to 02023-11 (Kona)|Complete|19
28`LWG3946 <https://wg21.link/LWG3946>`__The definition of ``const_iterator_t`` should be reworked2023-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 wording2023-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 claimed2023-11 (Kona)
35`LWG3965 <https://wg21.link/LWG3965>`__Incorrect example in [format.string.escaped] p3 for formatting of combining characters2023-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-proof2023-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)|Complete|
40`LWG3990 <https://wg21.link/LWG3990>`__Program-defined specializations of ``std::tuple`` and ``std::variant`` can't be properly supported2023-11 (Kona)|Complete|21
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 locale2024-03 (Tokyo)
44`LWG3919 <https://wg21.link/LWG3919>`__``enumerate_view`` may invoke UB for sized common non-forward underlying ranges2024-03 (Tokyo)
45`LWG3950 <https://wg21.link/LWG3950>`__``std::basic_string_view`` comparison operators are overspecified2024-03 (Tokyo)|Complete|18
46`LWG3975 <https://wg21.link/LWG3975>`__Specializations of ``basic_format_context`` should not be permitted2024-03 (Tokyo)|Nothing To Do|
47`LWG3984 <https://wg21.link/LWG3984>`__``ranges::to``'s recursion branch may be ill-formed2024-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`` check2024-03 (Tokyo)
50`LWG4013 <https://wg21.link/LWG4013>`__``lazy_split_view::outer-iterator::value_type`` should not provide default constructor2024-03 (Tokyo)
51`LWG4016 <https://wg21.link/LWG4016>`__container-insertable checks do not match what container-inserter does2024-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 deleted2024-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 deprecated2024-03 (Tokyo)
58`LWG4037 <https://wg21.link/LWG4037>`__Static data members of ``ctype_base`` are not yet required to be usable in constant expressions2024-03 (Tokyo)
59`LWG4038 <https://wg21.link/LWG4038>`__``std::text_encoding::aliases_view`` should have constexpr iterators2024-03 (Tokyo)
60`LWG4043 <https://wg21.link/LWG4043>`__"ASCII" is not a registered character encoding2024-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 argument2024-03 (Tokyo)|Complete|19
63`LWG4054 <https://wg21.link/LWG4054>`__Repeating a ``repeat_view`` should repeat the view2024-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)|Complete|21
66`LWG4060 <https://wg21.link/LWG4060>`__``submdspan`` preconditions do not forbid creating invalid pointer2024-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-friendly2024-06 (St. Louis)|Complete|19
69`LWG4074 <https://wg21.link/LWG4074>`__``compatible-joinable-ranges`` is underconstrained2024-06 (St. Louis)|Complete|21
70`LWG4076 <https://wg21.link/LWG4076>`__``concat_view`` should be freestanding2024-06 (St. Louis)
71`LWG4079 <https://wg21.link/LWG4079>`__Missing Preconditions in ``concat_view::iterator``\`s conversion constructor2024-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 ranges2024-06 (St. Louis)
74`LWG4096 <https://wg21.link/LWG4096>`__``views::iota(views::iota(0))`` should be rejected2024-06 (St. Louis)|Complete|22
75`LWG4098 <https://wg21.link/LWG4098>`__``views::adjacent<0>`` should reject non-forward ranges2024-06 (St. Louis)
76`LWG4105 <https://wg21.link/LWG4105>`__``ranges::ends_with``\`s Returns misses difference casting2024-06 (St. Louis)
77`LWG4106 <https://wg21.link/LWG4106>`__``basic_format_args`` should not be default-constructible2024-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 arrays2024-11 (Wrocław)
81`LWG3886 <https://wg21.link/LWG3886>`__Monad mo' problems2024-11 (Wrocław)
82`LWG3899 <https://wg21.link/LWG3899>`__``co_yield``\ing elements of an lvalue generator is unnecessarily inefficient2024-11 (Wrocław)
83`LWG3900 <https://wg21.link/LWG3900>`__The ``allocator_arg_t`` overloads of ``generator::promise_type::operator new`` should not be constrained2024-11 (Wrocław)
84`LWG3918 <https://wg21.link/LWG3918>`__``std::uninitialized_move/_n`` and guaranteed copy elision2024-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)|Complete|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 platforms2024-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 harder2024-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 type2024-11 (Wrocław)
93`LWG4088 <https://wg21.link/LWG4088>`__``println`` ignores the locale imbued in ``std::ostream``2024-11 (Wrocław)|Complete|18
94`LWG4112 <https://wg21.link/LWG4112>`__``has-arrow`` should required ``operator->()`` to be ``const``-qualified2024-11 (Wrocław)
95`LWG4113 <https://wg21.link/LWG4113>`__Disallow ``has_unique_object_representations<Incomplete[]>``2024-11 (Wrocław)|Complete|
96`LWG4119 <https://wg21.link/LWG4119>`__``generator::promise_type::yield_value(ranges::elements_of<R, Alloc>)``'s nested ``generator`` may be ill-formed2024-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 freestanding2024-11 (Wrocław)
99`LWG4134 <https://wg21.link/LWG4134>`__Issue with Philox algorithm specification2024-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)|Complete|21
101`LWG4140 <https://wg21.link/LWG4140>`__Useless default constructors for bit reference types2024-11 (Wrocław)|Complete|
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 type2024-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 references2024-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 decaying2024-11 (Wrocław)
109`LWG4157 <https://wg21.link/LWG4157>`__The resolution of LWG3465 was damaged by P2167R32024-11 (Wrocław)|Complete|20
110`LWG4164 <https://wg21.link/LWG4164>`__Missing guarantees for ``forward_list`` modifiers2024-11 (Wrocław)|Complete|21
111`LWG4169 <https://wg21.link/LWG4169>`__``std::atomic<T>``'s default constructor should be constrained2024-11 (Wrocław)
112`LWG4170 <https://wg21.link/LWG4170>`__``contiguous_iterator`` should require ``to_address(I{})``2024-11 (Wrocław)
113
114`LWG3578 <https://wg21.link/LWG3578>`__Iterator SCARYness in the context of associative container merging2025-02 (Hagenberg)
115`LWG3956 <https://wg21.link/LWG3956>`__``chrono::parse`` uses ``from_stream`` as a customization point2025-02 (Hagenberg)
116`LWG4172 <https://wg21.link/LWG4172>`__``unique_lock`` self-move-assignment is broken2025-02 (Hagenberg)
117`LWG4175 <https://wg21.link/LWG4175>`__``get_env()`` specified in terms of ``as_const()`` but this doesn't work with rvalue senders2025-02 (Hagenberg)
118`LWG4179 <https://wg21.link/LWG4179>`__Wrong range in ``[alg.search]``2025-02 (Hagenberg)
119`LWG4186 <https://wg21.link/LWG4186>`__``regex_traits::transform_primary`` mistakenly detects ``typeid`` of a function2025-02 (Hagenberg)
120`LWG4189 <https://wg21.link/LWG4189>`__``cache_latest_view`` should be freestanding2025-02 (Hagenberg)
121`LWG4191 <https://wg21.link/LWG4191>`__P1467 changed the return type of ``pow(complex<float>, int)``2025-02 (Hagenberg)
122`LWG4196 <https://wg21.link/LWG4196>`__Complexity of ``inplace_merge()`` is incorrect2025-02 (Hagenberg)
123
124`LWG4198 <https://wg21.link/LWG4198>`__``schedule_from`` isn't starting the schedule sender if decay-copying results throws2025-06 (Sofia)
125`LWG4202 <https://wg21.link/LWG4202>`__``enable-sender`` should be a variable template2025-06 (Sofia)
126`LWG4203 <https://wg21.link/LWG4203>`__Constraints on ``get-state`` functions are incorrect2025-06 (Sofia)
127`LWG4204 <https://wg21.link/LWG4204>`__specification of ``as-sndr2(Sig)`` in [exec.let] is incomplete2025-06 (Sofia)
128`LWG4205 <https://wg21.link/LWG4205>`__``let_[*].transform_env`` is specified in terms of the ``let_*`` sender itself instead of its child2025-06 (Sofia)
129`LWG4208 <https://wg21.link/LWG4208>`__Wording needs to ensure that in ``connect(sndr, rcvr)`` that ``rcvr`` expression is only evaluated once2025-06 (Sofia)
130`LWG4209 <https://wg21.link/LWG4209>`__``default_domain::transform_env`` should be returning ``FWD-ENV(env)``2025-06 (Sofia)
131`LWG4188 <https://wg21.link/LWG4188>`__``ostream::sentry`` destructor should handle exceptions2025-06 (Sofia)
132`LWG4200 <https://wg21.link/LWG4200>`__The ``operation_state`` concept can be simplified2025-06 (Sofia)
133`LWG4201 <https://wg21.link/LWG4201>`__``with-await-transform::await_transform`` should not use a deduced return type2025-06 (Sofia)
134`LWG4217 <https://wg21.link/LWG4217>`__Clarify ``mdspan`` layout mapping requirements for ``rank == 0``2025-06 (Sofia)
135`LWG4222 <https://wg21.link/LWG4222>`__``expected`` constructor from a single value missing a constraint2025-06 (Sofia)|Complete|22
136`LWG4224 <https://wg21.link/LWG4224>`__Philox engines should be freestanding2025-06 (Sofia)
137`LWG4227 <https://wg21.link/LWG4227>`__Missing ``noexcept`` operator in [exec.when.all]2025-06 (Sofia)
138`LWG4231 <https://wg21.link/LWG4231>`__``datapar::chunk<N>`` should use ``simd-size-type`` instead of ``size_t``2025-06 (Sofia)
139`LWG4232 <https://wg21.link/LWG4232>`__``datapar::resize`` does not resize2025-06 (Sofia)
140`LWG4233 <https://wg21.link/LWG4233>`__The helper lambda of ``std::erase`` for ``hive`` should specify return type as ``bool``2025-06 (Sofia)
141`LWG4234 <https://wg21.link/LWG4234>`__Including ``<hive>`` doesn't provide ``std::begin/end``2025-06 (Sofia)
142`LWG4235 <https://wg21.link/LWG4235>`__``cache_latest_view`` and ``to_input_view`` miss ``reserve_hint``2025-06 (Sofia)
143`LWG4236 <https://wg21.link/LWG4236>`__``chunk_view::outer-iterator::value_type`` should provide ``reserve_hint``2025-06 (Sofia)
144`LWG4239 <https://wg21.link/LWG4239>`__``flat_map``'s transparent comparator no longer works for string literals2025-06 (Sofia)
145`LWG4242 <https://wg21.link/LWG4242>`__``ranges::distance`` does not work with volatile iterators2025-06 (Sofia)
146`LWG4245 <https://wg21.link/LWG4245>`__Operators that interact with ``counted_iterator`` and ``default_sentinel_t`` should be ``noexcept``2025-06 (Sofia)
147`LWG4247 <https://wg21.link/LWG4247>`__Header ``<stdbit.h>`` is not yet freestanding2025-06 (Sofia)
148
149`LWG3343 <https://wg21.link/LWG3343>`__Ordering of calls to ``unlock()`` and ``notify_all()`` in Effects element of ``notify_all_at_thread_exit()`` should be reversedNot Adopted Yet|Complete|16
150`LWG4139 <https://wg21.link/LWG4139>`__§[time.zone.leap] recursive constraint in ``<=>``Not Adopted Yet|Complete|20
151`LWG3456 <https://wg21.link/LWG3456>`__Pattern used by ``std::from_chars`` is underspecified (option B)Not Adopted Yet|Complete|20
152`LWG3882 <https://wg21.link/LWG3882>`__``tuple`` relational operators have confused friendshipsNot Adopted Yet|Complete|21The comparsion operators are constrained harder than the proposed resolution. libstdc++ and MSVC STL do the same.
153