Files
clang-p2996/libcxx/docs/Status/Cxx2bIssues.csv
Mark de Wever e958242d47 [libc++][format] Mark LWG-issues as complete.
Most of the code has been implemented using the eel.is draft. It seems
some issues were inplemented but not marked as completed yet.

Note the wording of LWG-3372 has been implemented, but has been changed
in the current draft due to P2216, see D110494.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D112363
2021-10-30 12:52:30 +02:00

18 KiB

1Issue #Issue NameMeetingStatusFirst released versionLabels
2`2839 <https://wg21.link/LWG2839>`__Self-move-assignment of library types, againNovember 2020
3`3117 <https://wg21.link/LWG3117>`__Missing ``packaged_task`` deduction guidesNovember 2020
4`3143 <https://wg21.link/LWG3143>`__``monotonic_buffer_resource`` growth policy is unclearNovember 2020
5`3195 <https://wg21.link/LWG3195>`__What is the stored pointer value of an empty ``weak_ptr``?November 2020
6`3211 <https://wg21.link/LWG3211>`__``std::tuple<>`` should be trivially constructibleNovember 2020|Complete|9.0
7`3236 <https://wg21.link/LWG3236>`__Random access iterator requirements lack limiting relational operators domain to comparing those from the same rangeNovember 2020|ranges|
8`3265 <https://wg21.link/LWG3265>`__``move_iterator``'s conversions are more broken after P1207November 2020Fixed by `LWG3435 <https://wg21.link/LWG3435>`__
9`3435 <https://wg21.link/LWG3435>`__``three_way_comparable_with<reverse_iterator<int*>, reverse_iterator<const int*>>``November 2020|Complete|13.0
10`3432 <https://wg21.link/LWG3432>`__Missing requirement for ``comparison_category``November 2020|spaceship|
11`3447 <https://wg21.link/LWG3447>`__Deduction guides for ``take_view`` and ``drop_view`` have different constraintsNovember 2020|Complete|14.0
12`3450 <https://wg21.link/LWG3450>`__The const overloads of ``take_while_view::begin/end`` are underconstrainedNovember 2020|ranges|
13`3464 <https://wg21.link/LWG3464>`__``istream::gcount()`` can overflowNovember 2020
14`2731 <https://wg21.link/LWG2731>`__Existence of ``lock_guard<MutexTypes...>::mutex_type`` typedef unclearNovember 2020|Complete|5.0
15`2743 <https://wg21.link/LWG2743>`__P0083R3 ``node_handle`` private members missing "exposition only" commentNovember 2020
16`2820 <https://wg21.link/LWG2820>`__Clarify ``<cstdint>`` macrosNovember 2020
17`3120 <https://wg21.link/LWG3120>`__Unclear behavior of ``monotonic_buffer_resource::release()``November 2020
18`3170 <https://wg21.link/LWG3170>`__``is_always_equal`` added to ``std::allocator`` makes the standard library treat derived types as always equalNovember 2020
19`3036 <https://wg21.link/LWG3036>`__``polymorphic_allocator::destroy`` is extraneousNovember 2020
20`3171 <https://wg21.link/LWG3171>`__LWG2989 breaks ``directory_entry`` stream insertionNovember 2020
21`3306 <https://wg21.link/LWG3306>`__``ranges::advance`` violates its preconditionsNovember 2020|ranges|
22`3403 <https://wg21.link/LWG3403>`__Domain of ``ranges::ssize(E)`` doesn't ``match ranges::size(E)``November 2020|ranges|
23`3404 <https://wg21.link/LWG3404>`__Finish removing subrange's conversions from pair-likeNovember 2020|ranges|
24`3405 <https://wg21.link/LWG3405>`__``common_view``'s converting constructor is bad, tooNovember 2020|ranges|
25`3406 <https://wg21.link/LWG3406>`__``elements_view::begin()`` and ``elements_view::end()`` have incompatible constraintsNovember 2020|ranges|
26`3419 <https://wg21.link/LWG3419>`__[algorithms.requirements]/15 doesn't reserve as many rights as it intends toNovember 2020
27`3420 <https://wg21.link/LWG3420>`__cpp17-iterator should check that the type looks like an iterator firstNovember 2020|Complete|14.0|ranges|
28`3421 <https://wg21.link/LWG3421>`__Imperfect ADL emulation for boolean-testableNovember 2020|ranges|
29`3425 <https://wg21.link/LWG3425>`__``condition_variable_any`` fails to constrain its Lock parametersNovember 2020
30`3426 <https://wg21.link/LWG3426>`__``operator<=>(const unique_ptr<T, D>&, nullptr_t)`` can't get no satisfactionNovember 2020|spaceship|
31`3427 <https://wg21.link/LWG3427>`__``operator<=>(const shared_ptr<T>&, nullptr_t)`` definition ill-formedNovember 2020|spaceship|
32`3428 <https://wg21.link/LWG3428>`__``single_view``'s in place constructor should be explicitNovember 2020|ranges|
33`3434 <https://wg21.link/LWG3434>`__``ios_base`` never reclaims memory for iarray and parrayNovember 2020
34`3437 <https://wg21.link/LWG3437>`__``__cpp_lib_polymorphic_allocator`` is in the wrong headerNovember 2020
35`3446 <https://wg21.link/LWG3446>`__``indirectly_readable_traits`` ambiguity for types with both ``value_type`` and ``element_type``November 2020|ranges|
36`3448 <https://wg21.link/LWG3448>`__``transform_view``'s ``sentinel<false>`` not comparable with ``iterator<true>``November 2020|ranges|
37`3449 <https://wg21.link/LWG3449>`__``take_view`` and ``take_while_view``'s ``sentinel<false>`` not comparable with their ``const iterator``November 2020|ranges|
38`3453 <https://wg21.link/LWG3453>`__Generic code cannot call ``ranges::advance(i, s)``November 2020|ranges|
39`3455 <https://wg21.link/LWG3455>`__Incorrect Postconditions on ``unique_ptr`` move assignmentNovember 2020|Nothing To Do|
40`3460 <https://wg21.link/LWG3460>`__Unimplementable ``noop_coroutine_handle`` guaranteesNovember 2020
41`3461 <https://wg21.link/LWG3461>`__``convertible_to``'s description mishandles cv-qualified ``void``November 2020
42`3465 <https://wg21.link/LWG3465>`__``compare_partial_order_fallback`` requires ``F < E``November 2020|spaceship|
43`3466 <https://wg21.link/LWG3466>`__Specify the requirements for ``promise``/``future``/``shared_future`` consistentlyNovember 2020
44`3467 <https://wg21.link/LWG3467>`__``bool`` can't be an integer-like typeNovember 2020
45`3472 <https://wg21.link/LWG3472>`__``counted_iterator`` is missing preconditionsNovember 2020|ranges|
46`3473 <https://wg21.link/LWG3473>`__Normative encouragement in non-normative noteNovember 2020|format|
47`3474 <https://wg21.link/LWG3474>`__Nesting ``join_views`` is broken because of CTADNovember 2020|ranges|
48`3476 <https://wg21.link/LWG3476>`__``thread`` and ``jthread`` constructors require that the parameters be move-constructible but never move construct the parametersNovember 2020
49`3477 <https://wg21.link/LWG3477>`__Simplify constraints for ``semiregular-box``November 2020|ranges|
50`3482 <https://wg21.link/LWG3482>`__``drop_view``'s const begin should additionally require ``sized_range``November 2020|ranges|
51`3483 <https://wg21.link/LWG3483>`__``transform_view::iterator``'s difference is overconstrainedNovember 2020|ranges|
52
53`3391 <https://wg21.link/LWG3391>`__Problems with ``counted_iterator``/``move_iterator::base() const &``February 2021|ranges|
54`3433 <https://wg21.link/LWG3433>`__``subrange::advance(n)`` has UB when ``n < 0``February 2021|ranges|
55`3490 <https://wg21.link/LWG3490>`__``ranges::drop_while_view::begin()`` is missing a preconditionFebruary 2021|ranges|
56`3492 <https://wg21.link/LWG3492>`__Minimal improvements to ``elements_view::iterator``February 2021|ranges|
57`3494 <https://wg21.link/LWG3494>`__Allow ranges to be conditionally borrowedFebruary 2021Superseded by `P2017R1 <https://wg21.link/P2017R1>`__|ranges|
58`3495 <https://wg21.link/LWG3495>`__``constexpr launder`` makes pointers to inactive members of unions usableFebruary 2021
59`3500 <https://wg21.link/LWG3500>`__``join_view::iterator::operator->()`` is bogusFebruary 2021|ranges|
60`3502 <https://wg21.link/LWG3502>`__``elements_view`` should not be allowed to return dangling referenceFebruary 2021|ranges|
61`3505 <https://wg21.link/LWG3505>`__``split_view::outer-iterator::operator++`` misspecifiedFebruary 2021|ranges|
62
63`2774 <https://wg21.link/LWG2774>`__``std::function`` construction vs assignmentJune 2021
64`2818 <https://wg21.link/LWG2818>`__``::std::`` everywhere rule needs tweakingJune 2021
65`2997 <https://wg21.link/LWG2997>`__LWG 491 and the specification of ``{forward_,}list::unique``June 2021
66`3410 <https://wg21.link/LWG3410>`__``lexicographical_compare_three_way`` is overspecifiedJune 2021|spaceship|
67`3430 <https://wg21.link/LWG3430>`__``std::fstream`` & co. should be constructible from string_viewJune 2021
68`3462 <https://wg21.link/LWG3462>`__§[formatter.requirements]: Formatter requirements forbid use of ``fc.arg()``June 2021|format|
69`3481 <https://wg21.link/LWG3481>`__``viewable_range`` mishandles lvalue move-only viewsJune 2021|ranges|
70`3506 <https://wg21.link/LWG3506>`__Missing allocator-extended constructors for ``priority_queue``June 2021|Complete|14.0
71`3517 <https://wg21.link/LWG3517>`__``join_view::iterator``'s ``iter_swap`` is underconstrainedJune 2021|ranges|
72`3518 <https://wg21.link/LWG3518>`__Exception requirements on char trait operations unclearJune 2021
73`3519 <https://wg21.link/LWG3519>`__Incomplete synopses for ``<random>`` classesJune 2021
74`3520 <https://wg21.link/LWG3520>`__``iter_move`` and ``iter_swap`` are inconsistent for ``transform_view::iterator``June 2021|ranges|
75`3521 <https://wg21.link/LWG3521>`__Overly strict requirements on ``qsort`` and ``bsearch``June 2021
76`3522 <https://wg21.link/LWG3522>`__Missing requirement on ``InputIterator`` template parameter for ``priority_queue`` constructorsJune 2021|Complete|14.0|ranges|
77`3523 <https://wg21.link/LWG3523>`__``iota_view::sentinel`` is not always ``iota_view``'s sentinelJune 2021|ranges|
78`3526 <https://wg21.link/LWG3526>`__Return types of ``uses_allocator_construction_args`` unspecifiedJune 2021
79`3527 <https://wg21.link/LWG3527>`__``uses_allocator_construction_args`` handles rvalue pairs of rvalue references incorrectlyJune 2021
80`3528 <https://wg21.link/LWG3528>`__``make_from_tuple`` can perform (the equivalent of) a C-style castJune 2021
81`3529 <https://wg21.link/LWG3529>`__``priority_queue(first, last)`` should construct ``c`` with ``(first, last)``June 2021
82`3530 <https://wg21.link/LWG3530>`__``BUILTIN-PTR-MEOW`` should not opt the type out of syntactic checksJune 2021
83`3532 <https://wg21.link/LWG3532>`__``split_view<V, P>::inner-iterator<true>::operator++(int)`` should depend on ``Base``June 2021|ranges|
84`3533 <https://wg21.link/LWG3533>`__Make ``base() const &`` consistent across iterator wrappers that supports ``input_iterators``June 2021|ranges|
85`3536 <https://wg21.link/LWG3536>`__Should ``chrono::from_stream()`` assign zero to duration for failure?June 2021|chrono|
86`3539 <https://wg21.link/LWG3539>`__``format_to`` must not copy models of ``output_iterator<const charT&>``June 2021|format|
87`3540 <https://wg21.link/LWG3540>`__§[format.arg] There should be no const in ``basic_format_arg(const T* p)``June 2021|format|
88`3541 <https://wg21.link/LWG3541>`__``indirectly_readable_traits`` should be SFINAE-friendly for all typesJune 2021|ranges|
89`3542 <https://wg21.link/LWG3542>`__``basic_format_arg`` mishandles ``basic_string_view`` with custom traitsJune 2021|Complete|14.0|format|
90`3543 <https://wg21.link/LWG3543>`__Definition of when ``counted_iterators`` refer to the same sequence isn't quite rightJune 2021|ranges|
91`3544 <https://wg21.link/LWG3544>`__``format-arg-store::args`` is unintentionally not exposition-onlyJune 2021|format|
92`3546 <https://wg21.link/LWG3546>`__``common_iterator``'s postfix-proxy is not quite rightJune 2021|ranges|
93`3548 <https://wg21.link/LWG3548>`__``shared_ptr`` construction from ``unique_ptr`` should move (not copy) the deleterJune 2021
94`3549 <https://wg21.link/LWG3549>`__``view_interface`` is overspecified to derive from ``view_base``June 2021|ranges|
95`3551 <https://wg21.link/LWG3551>`__``borrowed_{iterator,subrange}_t`` are overspecifiedJune 2021|ranges|
96`3552 <https://wg21.link/LWG3552>`__Parallel specialized memory algorithms should require forward iteratorsJune 2021
97`3553 <https://wg21.link/LWG3553>`__Useless constraint in ``split_view::outer-iterator::value_type::begin()``June 2021|ranges|
98`3555 <https://wg21.link/LWG3555>`__``{transform,elements}_view::iterator::iterator_concept`` should consider const-qualification of the underlying rangeJune 2021|ranges|
99
100`2191 <https://wg21.link/LWG2191>`__Incorrect specification of ``match_results(match_results&&)``October 2021
101`2381 <https://wg21.link/LWG2381>`__Inconsistency in parsing floating point numbersOctober 2021
102`2762 <https://wg21.link/LWG2762>`__``unique_ptr operator*()`` should be ``noexcept``October 2021
103`3121 <https://wg21.link/LWG3121>`__``tuple`` constructor constraints for ``UTypes&&...`` overloadsOctober 2021
104`3123 <https://wg21.link/LWG3123>`__``duration`` constructor from representation shouldn't be effectively non-throwingOctober 2021|chrono|
105`3146 <https://wg21.link/LWG3146>`__Excessive unwrapping in ``std::ref/cref``October 2021
106`3152 <https://wg21.link/LWG3152>`__``common_type`` and ``common_reference`` have flaws in commonOctober 2021
107`3293 <https://wg21.link/LWG3293>`__``move_iterator operator+()`` has incorrect constraintsOctober 2021|ranges|
108`3361 <https://wg21.link/LWG3361>`__``safe_range<SomeRange&>`` caseOctober 2021|ranges|
109`3392 <https://wg21.link/LWG3392>`__``ranges::distance()`` cannot be used on a move-only iterator with a sized sentinelOctober 2021|ranges|
110`3407 <https://wg21.link/LWG3407>`__Some problems with the wording changes of P1739R4October 2021|ranges|
111`3422 <https://wg21.link/LWG3422>`__Issues of ``seed_seq``'s constructorsOctober 2021
112`3470 <https://wg21.link/LWG3470>`__``convertible-to-non-slicing`` seems to reject valid caseOctober 2021|ranges|
113`3480 <https://wg21.link/LWG3480>`__``directory_iterator`` and ``recursive_directory_iterator`` are not C++20 rangesOctober 2021|Complete|14.0|ranges|
114`3498 <https://wg21.link/LWG3498>`__Inconsistent ``noexcept``-specifiers for ``basic_syncbuf``October 2021
115`3535 <https://wg21.link/LWG3535>`__``join_view::iterator::iterator_category`` and ``::iterator_concept`` lieOctober 2021|ranges|
116`3554 <https://wg21.link/LWG3554>`__``chrono::parse`` needs ``const charT*`` and ``basic_string_view<charT>`` overloadsOctober 2021|chrono|
117`3557 <https://wg21.link/LWG3557>`__The ``static_cast`` expression in ``convertible_to`` has the wrong operandOctober 2021
118`3559 <https://wg21.link/LWG3559>`__Semantic requirements of ``sized_range`` is circularOctober 2021|ranges|
119`3560 <https://wg21.link/LWG3560>`__``ranges::equal`` and ``ranges::is_permutation`` should short-circuit for ``sized_ranges``October 2021|ranges|
120`3561 <https://wg21.link/LWG3561>`__Issue with internal counter in ``discard_block_engine``October 2021
121`3563 <https://wg21.link/LWG3563>`__``keys_view`` example is brokenOctober 2021|ranges|
122`3566 <https://wg21.link/LWG3566>`__Constraint recursion for ``operator<=>(optional<T>, U)``October 2021|spaceship|
123`3567 <https://wg21.link/LWG3567>`__Formatting move-only iterators take twoOctober 2021|format|
124`3568 <https://wg21.link/LWG3568>`__``basic_istream_view`` needs to initialize ``value_``October 2021|ranges|
125`3570 <https://wg21.link/LWG3570>`__``basic_osyncstream::emit`` should be an unformatted output functionOctober 2021
126`3571 <https://wg21.link/LWG3571>`__``flush_emit`` should set ``badbit`` if the ``emit`` call failsOctober 2021
127`3572 <https://wg21.link/LWG3572>`__``copyable-box`` should be fully ``constexpr``October 2021|ranges|
128`3573 <https://wg21.link/LWG3573>`__Missing Throws element for ``basic_string_view(It begin, End end)``October 2021|Complete|14.0
129`3574 <https://wg21.link/LWG3574>`__``common_iterator`` should be completely ``constexpr``-ableOctober 2021|ranges|
130`3580 <https://wg21.link/LWG3580>`__``iota_view``'s ``iterator``'s binary ``operator+`` should be improvedOctober 2021|ranges|
131`3581 <https://wg21.link/LWG3581>`__The range constructor makes ``basic_string_view`` not trivially move constructibleOctober 2021|ranges|
132`3585 <https://wg21.link/LWG3585>`__``variant`` converting assignment with immovable alternativeOctober 2021
133`3589 <https://wg21.link/LWG3589>`__The ``const`` lvalue reference overload of ``get`` for ``subrange`` does not constrain ``I`` to be ``copyable`` when ``N == 0``October 2021|ranges|
134`3590 <https://wg21.link/LWG3590>`__``split_view::base() const &`` is overconstrainedOctober 2021|ranges|
135`3591 <https://wg21.link/LWG3591>`__``lazy_split_view<input_view>::inner-iterator::base() &&`` invalidates outer iteratorsOctober 2021|ranges|
136`3592 <https://wg21.link/LWG3592>`__``lazy_split_view`` needs to check the simpleness of PatternOctober 2021|ranges|
137`3593 <https://wg21.link/LWG3593>`__Several iterators' ``base() const &`` and ``lazy_split_view::outer-iterator::value_type::end()`` missing ``noexcept``October 2021|ranges|
138`3595 <https://wg21.link/LWG3595>`__Exposition-only classes proxy and postfix-proxy for ``common_iterator`` should be fully ``constexpr``October 2021|ranges|
139