llvm-project/libcxx/docs/Status/Cxx23Issues.csv
A. Jiang 3e15c97fa3
[libc++] LWG2381: Inconsistency in parsing floating point numbers (#77948)
This PR implements [LWG2381](https://cplusplus.github.io/LWG/issue2381)
by rejecting `'i'`, `'I'`, `'n'`, `'N'` in FP parsing, as inf and NaN
are intendedly rejected by that LWG issue.

The source character array used for parsing is
`"0123456789abcdefABCDEFxX+-pPiInN"`, whose first 26 or 28 characters
are used for parsing integers or floating-point values respectively.
Previously, libc++ used 32 characters, including `'i'`, `'I'`, `'n'`,
`'N'`, for FP parsing, which was inconsistent with LWG2381. This PR also
replaces magic numbers 26 and 28 (formerly 32) with named constants.

Drive-by change: when the first character (possibly after the leading
`'+'` or `'-'`) is not a decimal digit but an acceptable character
(e.g., `'p'` or `'e'`), the character is not accumulated now (per Stage
2 in [facet.num.get.virtuals]/3).

#65168 may be rendered invalid, see
https://github.com/llvm/llvm-project/pull/65168#issuecomment-1868533342.

Apple back-deployment targets remain broken, likely due to dylib. XFAIL
is marked in related tests.

---------

Co-authored-by: Mark de Wever <koraq@xs4all.nl>
2024-05-21 19:05:51 +02:00

42 KiB

1Issue #Issue NameMeetingStatusFirst released versionLabels
2`3432 <https://wg21.link/LWG3432>`__Missing requirement for ``comparison_category``November 2020|Complete|16.0|spaceship|
3`3447 <https://wg21.link/LWG3447>`__Deduction guides for ``take_view`` and ``drop_view`` have different constraintsNovember 2020|Complete|14.0|ranges|
4`3450 <https://wg21.link/LWG3450>`__The const overloads of ``take_while_view::begin/end`` are underconstrainedNovember 2020|Complete|16.0|ranges|
5`3306 <https://wg21.link/LWG3306>`__``ranges::advance`` violates its preconditionsNovember 2020|Complete|14.0|ranges|
6`3403 <https://wg21.link/LWG3403>`__Domain of ``ranges::ssize(E)`` doesn't ``match ranges::size(E)``November 2020|ranges|
7`3404 <https://wg21.link/LWG3404>`__Finish removing subrange's conversions from pair-likeNovember 2020|ranges|
8`3405 <https://wg21.link/LWG3405>`__``common_view``'s converting constructor is bad, tooNovember 2020|Complete|14.0|ranges|
9`3406 <https://wg21.link/LWG3406>`__``elements_view::begin()`` and ``elements_view::end()`` have incompatible constraintsNovember 2020|Complete|16.0|ranges|
10`3420 <https://wg21.link/LWG3420>`__cpp17-iterator should check that the type looks like an iterator firstNovember 2020|Complete|14.0|ranges|
11`3421 <https://wg21.link/LWG3421>`__Imperfect ADL emulation for boolean-testableNovember 2020|Nothing To Do||ranges|
12`3426 <https://wg21.link/LWG3426>`__``operator<=>(const unique_ptr<T, D>&, nullptr_t)`` can't get no satisfactionNovember 2020|Complete|16.0|spaceship|
13`3427 <https://wg21.link/LWG3427>`__``operator<=>(const shared_ptr<T>&, nullptr_t)`` definition ill-formedNovember 2020|Complete|16.0|spaceship|
14`3428 <https://wg21.link/LWG3428>`__``single_view``'s in place constructor should be explicitNovember 2020|Complete|14.0|ranges|
15`3446 <https://wg21.link/LWG3446>`__``indirectly_readable_traits`` ambiguity for types with both ``value_type`` and ``element_type``November 2020|Complete|14.0|ranges|
16`3448 <https://wg21.link/LWG3448>`__``transform_view``'s ``sentinel<false>`` not comparable with ``iterator<true>``November 2020|ranges|
17`3449 <https://wg21.link/LWG3449>`__``take_view`` and ``take_while_view``'s ``sentinel<false>`` not comparable with their ``const iterator``November 2020|Complete|16.0|ranges|
18`3453 <https://wg21.link/LWG3453>`__Generic code cannot call ``ranges::advance(i, s)``November 2020|Nothing To Do||ranges|
19`3465 <https://wg21.link/LWG3465>`__``compare_partial_order_fallback`` requires ``F < E``November 2020|Complete|14.0|spaceship|
20`3467 <https://wg21.link/LWG3467>`__``bool`` can't be an integer-like typeNovember 2020|Complete|14.0|ranges|
21`3472 <https://wg21.link/LWG3472>`__``counted_iterator`` is missing preconditionsNovember 2020|Complete|14.0|ranges|
22`3473 <https://wg21.link/LWG3473>`__Normative encouragement in non-normative noteNovember 2020|Complete|15.0|format|
23`3474 <https://wg21.link/LWG3474>`__Nesting ``join_views`` is broken because of CTADNovember 2020|Complete|15.0|ranges|
24`3477 <https://wg21.link/LWG3477>`__Simplify constraints for ``semiregular-box``November 2020|Complete|13.0|ranges|
25`3482 <https://wg21.link/LWG3482>`__``drop_view``'s const begin should additionally require ``sized_range``November 2020|Complete|14.0|ranges|
26`3483 <https://wg21.link/LWG3483>`__``transform_view::iterator``'s difference is overconstrainedNovember 2020|Complete|14.0|ranges|
27
28`3391 <https://wg21.link/LWG3391>`__Problems with ``counted_iterator``/``move_iterator::base() const &``February 2021|ranges|
29`3433 <https://wg21.link/LWG3433>`__``subrange::advance(n)`` has UB when ``n < 0``February 2021|Complete|14.0|ranges|
30`3490 <https://wg21.link/LWG3490>`__``ranges::drop_while_view::begin()`` is missing a preconditionFebruary 2021|Nothing To Do||ranges|
31`3492 <https://wg21.link/LWG3492>`__Minimal improvements to ``elements_view::iterator``February 2021|Complete|16.0|ranges|
32`3494 <https://wg21.link/LWG3494>`__Allow ranges to be conditionally borrowedFebruary 2021Superseded by `P2017R1 <https://wg21.link/P2017R1>`__|ranges|
33`3500 <https://wg21.link/LWG3500>`__``join_view::iterator::operator->()`` is bogusFebruary 2021|Complete|14.0|ranges|
34`3502 <https://wg21.link/LWG3502>`__``elements_view`` should not be allowed to return dangling referenceFebruary 2021|Complete|16.0|ranges|
35`3505 <https://wg21.link/LWG3505>`__``split_view::outer-iterator::operator++`` misspecifiedFebruary 2021|ranges|
36
37`3410 <https://wg21.link/LWG3410>`__``lexicographical_compare_three_way`` is overspecifiedJune 2021|Complete|17.0|spaceship|
38`3430 <https://wg21.link/LWG3430>`__``std::fstream`` & co. should be constructible from string_viewJune 2021|Complete|19.0
39`3462 <https://wg21.link/LWG3462>`__§[formatter.requirements]: Formatter requirements forbid use of ``fc.arg()``June 2021|Nothing To Do||format|
40`3481 <https://wg21.link/LWG3481>`__``viewable_range`` mishandles lvalue move-only viewsJune 2021Superseded by `P2415R2 <https://wg21.link/P2415R2>`__|ranges|
41`3517 <https://wg21.link/LWG3517>`__``join_view::iterator``'s ``iter_swap`` is underconstrainedJune 2021|Complete|14.0|ranges|
42`3520 <https://wg21.link/LWG3520>`__``iter_move`` and ``iter_swap`` are inconsistent for ``transform_view::iterator``June 2021|Complete|14.0|ranges|
43`3523 <https://wg21.link/LWG3523>`__``iota_view::sentinel`` is not always ``iota_view``'s sentinelJune 2021|ranges|
44`3532 <https://wg21.link/LWG3532>`__``split_view<V, P>::inner-iterator<true>::operator++(int)`` should depend on ``Base``June 2021|ranges|
45`3533 <https://wg21.link/LWG3533>`__Make ``base() const &`` consistent across iterator wrappers that supports ``input_iterators``June 2021|Complete|14.0|ranges|
46`3536 <https://wg21.link/LWG3536>`__Should ``chrono::from_stream()`` assign zero to duration for failure?June 2021|chrono|
47`3539 <https://wg21.link/LWG3539>`__``format_to`` must not copy models of ``output_iterator<const charT&>``June 2021|Complete|14.0|format|
48`3540 <https://wg21.link/LWG3540>`__§[format.arg] There should be no const in ``basic_format_arg(const T* p)``June 2021|Complete|14.0|format|
49`3541 <https://wg21.link/LWG3541>`__``indirectly_readable_traits`` should be SFINAE-friendly for all typesJune 2021|Complete|14.0|ranges|
50`3542 <https://wg21.link/LWG3542>`__``basic_format_arg`` mishandles ``basic_string_view`` with custom traitsJune 2021|Complete|14.0|format|
51`3543 <https://wg21.link/LWG3543>`__Definition of when ``counted_iterators`` refer to the same sequence isn't quite rightJune 2021|Nothing To Do||ranges|
52`3544 <https://wg21.link/LWG3544>`__``format-arg-store::args`` is unintentionally not exposition-onlyJune 2021|Complete|14.0|format|
53`3546 <https://wg21.link/LWG3546>`__``common_iterator``'s postfix-proxy is not quite rightJune 2021|ranges|
54`3549 <https://wg21.link/LWG3549>`__``view_interface`` is overspecified to derive from ``view_base``June 2021|Complete|14.0|ranges|
55`3551 <https://wg21.link/LWG3551>`__``borrowed_{iterator,subrange}_t`` are overspecifiedJune 2021|Nothing To Do||ranges|
56`3553 <https://wg21.link/LWG3553>`__Useless constraint in ``split_view::outer-iterator::value_type::begin()``June 2021|ranges|
57`3555 <https://wg21.link/LWG3555>`__``{transform,elements}_view::iterator::iterator_concept`` should consider const-qualification of the underlying rangeJune 2021|ranges|
58
59`3123 <https://wg21.link/LWG3123>`__``duration`` constructor from representation shouldn't be effectively non-throwingOctober 2021|chrono|
60`3361 <https://wg21.link/LWG3361>`__``safe_range<SomeRange&>`` caseOctober 2021|Nothing To Do||ranges|
61`3392 <https://wg21.link/LWG3392>`__``ranges::distance()`` cannot be used on a move-only iterator with a sized sentinelOctober 2021|Complete|14.0|ranges|
62`3407 <https://wg21.link/LWG3407>`__Some problems with the wording changes of P1739R4October 2021|Complete|15.0|ranges|
63`3470 <https://wg21.link/LWG3470>`__``convertible-to-non-slicing`` seems to reject valid caseOctober 2021|Complete|14.0|ranges|
64`3480 <https://wg21.link/LWG3480>`__``directory_iterator`` and ``recursive_directory_iterator`` are not C++20 rangesOctober 2021|Complete|14.0|ranges|
65`3535 <https://wg21.link/LWG3535>`__``join_view::iterator::iterator_category`` and ``::iterator_concept`` lieOctober 2021|Complete|15.0|ranges|
66`3554 <https://wg21.link/LWG3554>`__``chrono::parse`` needs ``const charT*`` and ``basic_string_view<charT>`` overloadsOctober 2021|chrono|
67`3559 <https://wg21.link/LWG3559>`__Semantic requirements of ``sized_range`` is circularOctober 2021|Nothing To Do||ranges|
68`3560 <https://wg21.link/LWG3560>`__``ranges::equal`` and ``ranges::is_permutation`` should short-circuit for ``sized_ranges``October 2021|ranges|
69`3563 <https://wg21.link/LWG3563>`__``keys_view`` example is brokenOctober 2021|ranges|
70`3566 <https://wg21.link/LWG3566>`__Constraint recursion for ``operator<=>(optional<T>, U)``October 2021|Complete|17.0|spaceship|
71`3567 <https://wg21.link/LWG3567>`__Formatting move-only iterators take twoOctober 2021|Complete|16.0|format| |ranges|
72`3568 <https://wg21.link/LWG3568>`__``basic_istream_view`` needs to initialize ``value_``October 2021|Complete|16.0|ranges|
73`3572 <https://wg21.link/LWG3572>`__``copyable-box`` should be fully ``constexpr``October 2021|Complete|14.0|ranges|
74`3574 <https://wg21.link/LWG3574>`__``common_iterator`` should be completely ``constexpr``-ableOctober 2021|Complete|14.0|ranges|
75`3580 <https://wg21.link/LWG3580>`__``iota_view``'s ``iterator``'s binary ``operator+`` should be improvedOctober 2021|Complete|14.0|ranges|
76`3581 <https://wg21.link/LWG3581>`__The range constructor makes ``basic_string_view`` not trivially move constructibleOctober 2021|Complete|14.0|ranges|
77`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|Complete|14.0|ranges|
78`3590 <https://wg21.link/LWG3590>`__``split_view::base() const &`` is overconstrainedOctober 2021|Complete|16.0|ranges|
79`3591 <https://wg21.link/LWG3591>`__``lazy_split_view<input_view>::inner-iterator::base() &&`` invalidates outer iteratorsOctober 2021|ranges|
80`3592 <https://wg21.link/LWG3592>`__``lazy_split_view`` needs to check the simpleness of PatternOctober 2021|ranges|
81`3593 <https://wg21.link/LWG3593>`__Several iterators' ``base() const &`` and ``lazy_split_view::outer-iterator::value_type::end()`` missing ``noexcept``October 2021|ranges|
82`3595 <https://wg21.link/LWG3595>`__Exposition-only classes proxy and postfix-proxy for ``common_iterator`` should be fully ``constexpr``October 2021|Complete|14.0|ranges|
83
84`3601 <https://wg21.link/LWG3601>`__common_iterator's postfix-proxy needs ``indirectly_readable`` February 2022|ranges|
85`3607 <https://wg21.link/LWG3607>`__``contiguous_iterator`` should not be allowed to have custom ``iter_move`` and ``iter_swap`` behaviorFebruary 2022|Nothing to do||ranges|
86`3610 <https://wg21.link/LWG3610>`__``iota_view::size`` sometimes rejects integer-class typesFebruary 2022|ranges|
87`3612 <https://wg21.link/LWG3612>`__Inconsistent pointer alignment in ``std::format`` February 2022|Complete|14.0|format|
88`3618 <https://wg21.link/LWG3618>`__Unnecessary ``iter_move`` for ``transform_view::iterator`` February 2022|ranges|
89`3619 <https://wg21.link/LWG3619>`__Specification of ``vformat_to`` contains ill-formed ``formatted_size`` callsFebruary 2022|Nothing to do||format|
90`3643 <https://wg21.link/LWG3643>`__Missing ``constexpr`` in ``std::counted_iterator`` February 2022|Complete|19.0|ranges|
91`3648 <https://wg21.link/LWG3648>`__``format`` should not print ``bool`` with ``'c'`` February 2022|Complete|15.0|format|
92`3654 <https://wg21.link/LWG3654>`__``basic_format_context::arg(size_t)`` should be ``noexcept`` February 2022|Complete|15.0|format|
93`3660 <https://wg21.link/LWG3660>`__``iterator_traits<common_iterator>::pointer`` should conform to §[iterator.traits]February 2022|Complete|14.0|ranges|
94
95`3564 <https://wg21.link/LWG3564>`__``transform_view::iterator<true>::value_type`` and ``iterator_category`` should use ``const F&``July 2022|ranges|
96`3656 <https://wg21.link/LWG3656>`__Inconsistent bit operations returning a countJuly 2022|Complete|15.0
97`3670 <https://wg21.link/LWG3670>`__``Cpp17InputIterators`` don't have integer-class difference typesJuly 2022|ranges|
98`3672 <https://wg21.link/LWG3672>`__``common_iterator::operator->()`` should return by valueJuly 2022|Complete|19.0|ranges|
99`3692 <https://wg21.link/LWG3692>`__``zip_view::iterator``'s ``operator<=>`` is overconstrainedJuly 2022|ranges| |spaceship|
100`3701 <https://wg21.link/LWG3701>`__Make ``formatter<remove_cvref_t<const charT[N]>, charT>`` requirement explicitJuly 2022|Complete|15.0|format|
101`3702 <https://wg21.link/LWG3702>`__Should ``zip_transform_view::iterator`` remove ``operator<``July 2022|ranges| |spaceship|
102`3707 <https://wg21.link/LWG3707>`__chunk_view::outer-iterator::value_type::size should return unsigned typeJuly 2022|ranges|
103`3708 <https://wg21.link/LWG3708>`__``take_while_view::sentinel``'s conversion constructor should moveJuly 2022|Complete|16.0|ranges|
104`3710 <https://wg21.link/LWG3710>`__The ``end`` of ``chunk_view`` for input ranges can be ``const``July 2022|ranges|
105`3711 <https://wg21.link/LWG3711>`__Missing preconditions for slide_view constructorJuly 2022|ranges|
106`3712 <https://wg21.link/LWG3712>`__``chunk_view`` and ``slide_view`` should not be ``default_initializable``July 2022|ranges|
107`3715 <https://wg21.link/LWG3715>`__``view_interface::empty`` is overconstrainedJuly 2022|Complete|19.0|ranges|
108`3719 <https://wg21.link/LWG3719>`__Directory iterators should be usable with default sentinelJuly 2022|Complete|17.0|ranges|
109`3721 <https://wg21.link/LWG3721>`__Allow an ``arg-id`` with a value of zero for ``width`` in ``std-format-spec``July 2022|Complete|16.0|format|
110
111`3028 <https://wg21.link/LWG3028>`__Container requirements tables should distinguish ``const`` and non-``const`` variablesNovember 2022
112`3118 <https://wg21.link/LWG3118>`__``fpos`` equality comparison unspecifiedNovember 2022
113`3177 <https://wg21.link/LWG3177>`__Limit permission to specialize variable templates to program-defined typesNovember 2022|Nothing to do|
114`3515 <https://wg21.link/LWG3515>`__§[stacktrace.basic.nonmem]: ``operator<<`` should be less templatizedNovember 2022
115`3545 <https://wg21.link/LWG3545>`__``std::pointer_traits`` should be SFINAE-friendlyNovember 2022|Complete|18.0
116`3569 <https://wg21.link/LWG3569>`__``join_view`` fails to support ranges of ranges with non-default_initializable iteratorsNovember 2022|ranges|
117`3594 <https://wg21.link/LWG3594>`__``inout_ptr`` — inconsistent ``release()`` in destructorNovember 2022
118`3597 <https://wg21.link/LWG3597>`__Unsigned integer types don't model advanceableNovember 2022|ranges|
119`3600 <https://wg21.link/LWG3600>`__Making ``istream_iterator`` copy constructor trivial is an ABI breakNovember 2022
120`3629 <https://wg21.link/LWG3629>`__``make_error_code`` and ``make_error_condition`` are customization pointsNovember 2022|Complete|16.0
121`3636 <https://wg21.link/LWG3636>`__``formatter<T>::format`` should be ``const``-qualifiedNovember 2022|Complete|16.0|format|
122`3646 <https://wg21.link/LWG3646>`__``std::ranges::view_interface::size`` returns a signed typeNovember 2022|Complete|16.0|ranges|
123`3677 <https://wg21.link/LWG3677>`__Is a cv-qualified ``pair`` specially handled in uses-allocator construction?November 2022|Complete|18.0
124`3717 <https://wg21.link/LWG3717>`__``common_view::end`` should improve ``random_access_range`` caseNovember 2022|ranges|
125`3732 <https://wg21.link/LWG3732>`__``prepend_range`` and ``append_range`` can't be amortized constant timeNovember 2022|Nothing to do||ranges|
126`3736 <https://wg21.link/LWG3736>`__``move_iterator`` missing ``disable_sized_sentinel_for`` specializationNovember 2022|Complete|19.0|ranges|
127`3737 <https://wg21.link/LWG3737>`__``take_view::sentinel`` should provide ``operator-``November 2022|ranges|
128`3738 <https://wg21.link/LWG3738>`__Missing preconditions for ``take_view`` constructorNovember 2022|Complete|16.0|ranges|
129`3743 <https://wg21.link/LWG3743>`__``ranges::to``'s reserve may be ill-formedNovember 2022|ranges|
130`3745 <https://wg21.link/LWG3745>`__``std::atomic_wait`` and its friends lack ``noexcept``November 2022|Complete|16.0
131`3746 <https://wg21.link/LWG3746>`__``optional``'s spaceship with ``U`` with a type derived from optional causes infinite constraint meta-recursionNovember 2022|Complete|17.0|spaceship|
132`3747 <https://wg21.link/LWG3747>`__``ranges::uninitialized_copy_n``, ``ranges::uninitialized_move_n``, and ``ranges::destroy_n`` should use ``std::move``November 2022|ranges|
133`3750 <https://wg21.link/LWG3750>`__Too many papers bump ``__cpp_lib_format``November 2022|Partial| [#note-LWG3750]_|format|
134`3751 <https://wg21.link/LWG3751>`__Missing feature macro for ``flat_set``November 2022|flat_containers|
135`3753 <https://wg21.link/LWG3753>`__Clarify entity vs. freestanding entityNovember 2022
136`3754 <https://wg21.link/LWG3754>`__Class template expected synopsis contains declarations that do not match the detailed descriptionNovember 2022|Nothing to do|
137`3755 <https://wg21.link/LWG3755>`__``tuple-for-each`` can call ``user-defined`` ``operator,``November 2022|Complete|17.0
138`3757 <https://wg21.link/LWG3757>`__What's the effect of ``std::forward_like<void>(x)``?November 2022
139`3759 <https://wg21.link/LWG3759>`__``ranges::rotate_copy`` should use ``std::move``November 2022|Complete|15.0|ranges|
140`3760 <https://wg21.link/LWG3760>`__``cartesian_product_view::iterator``'s ``parent_`` is never validNovember 2022|ranges|
141`3761 <https://wg21.link/LWG3761>`__``cartesian_product_view::iterator::operator-`` should pass by referenceNovember 2022|ranges|
142`3762 <https://wg21.link/LWG3762>`__``generator::iterator::operator==`` should pass by referenceNovember 2022
143`3764 <https://wg21.link/LWG3764>`__``reference_wrapper::operator()`` should propagate noexceptNovember 2022|Complete|17.0
144`3765 <https://wg21.link/LWG3765>`__``const_sentinel`` should be constrainedNovember 2022|ranges|
145`3766 <https://wg21.link/LWG3766>`__``view_interface::cbegin`` is underconstrainedNovember 2022|ranges|
146`3770 <https://wg21.link/LWG3770>`__``const_sentinel_t`` is missingNovember 2022|ranges|
147`3773 <https://wg21.link/LWG3773>`__``views::zip_transform`` still requires ``F`` to be ``copy_constructible`` when empty packNovember 2022|ranges|
148`3774 <https://wg21.link/LWG3774>`__``<flat_set>`` should include ``<compare>``November 2022|flat_containers|
149`3775 <https://wg21.link/LWG3775>`__Broken dependencies in the ``Cpp17Allocator`` requirementsNovember 2022
150`3778 <https://wg21.link/LWG3778>`__``vector<bool>`` missing exception specificationsNovember 2022
151`3781 <https://wg21.link/LWG3781>`__The exposition-only alias templates ``cont-key-type`` and ``cont-mapped-type`` should be removedNovember 2022|Nothing to do|
152`3782 <https://wg21.link/LWG3782>`__Should ``<math.h>`` declare ``::lerp``?November 2022|Complete|17.0
153`3784 <https://wg21.link/LWG3784>`__std.compat should not provide ``::byte`` and its friendsNovember 2022
154`3785 <https://wg21.link/LWG3785>`__``ranges::to`` is over-constrained on the destination type being a rangeNovember 2022|ranges|
155`3788 <https://wg21.link/LWG3788>`__``jthread::operator=(jthread&&)`` postconditions are unimplementable under self-assignmentNovember 2022
156`3792 <https://wg21.link/LWG3792>`__``__cpp_lib_constexpr_algorithms`` should also be defined in ``<utility>``November 2022|Complete|16.0
157`3795 <https://wg21.link/LWG3795>`__Self-move-assignment of ``std::future`` and ``std::shared_future`` have unimplementable postconditionsNovember 2022
158`3796 <https://wg21.link/LWG3796>`__``movable-box`` as member should use ``default-initialization`` instead of ``copy-initialization``November 2022|ranges|
159`3798 <https://wg21.link/LWG3798>`__Rvalue reference and ``iterator_category``November 2022|Partial| [#note-LWG3798]_|ranges|
160`3801 <https://wg21.link/LWG3801>`__``cartesian_product_view::iterator::distance-from`` ignores the size of last underlying rangeNovember 2022|ranges|
161`3814 <https://wg21.link/LWG3814>`__Add freestanding items requested by NB commentsNovember 2022
162`3816 <https://wg21.link/LWG3816>`__``flat_map`` and ``flat_multimap`` should impose sequence container requirementsNovember 2022|flat_containers|
163`3817 <https://wg21.link/LWG3817>`__Missing preconditions on ``forward_list`` modifiersNovember 2022
164`3818 <https://wg21.link/LWG3818>`__Exposition-only concepts are not described in library introNovember 2022|Nothing to do|
165`3822 <https://wg21.link/LWG3822>`__Avoiding normalization in ``filesystem::weakly_canonical``November 2022
166`3823 <https://wg21.link/LWG3823>`__Unnecessary precondition for ``is_aggregate``November 2022
167`3824 <https://wg21.link/LWG3824>`__Number of ``bind`` placeholders is underspecifiedNovember 2022|Nothing to do|
168`3826 <https://wg21.link/LWG3826>`__Redundant specification [for overload of yield_value]November 2022
169
170`2195 <https://wg21.link/LWG2195>`__Missing constructors for ``match_results``February 2023
171`2295 <https://wg21.link/LWG2295>`__Locale name when the provided ``Facet`` is a ``nullptr``February 2023
172`3032 <https://wg21.link/LWG3032>`__``ValueSwappable`` requirement missing for ``push_heap`` and ``make_heap``February 2023
173`3085 <https://wg21.link/LWG3085>`__``char_traits::copy`` precondition too weakFebruary 2023
174`3664 <https://wg21.link/LWG3664>`__`LWG 3392 <https://wg21.link/LWG3392>`__ ``broke std::ranges::distance(a, a+3)``February 2023|ranges|
175`3720 <https://wg21.link/LWG3720>`__Restrict the valid types of ``arg-id`` for width and precision in ``std-format-spec``February 2023|Complete|17.0|format|
176`3756 <https://wg21.link/LWG3756>`__Is the ``std::atomic_flag`` class signal-safe?February 2023
177`3769 <https://wg21.link/LWG3769>`__``basic_const_iterator::operator==`` causes infinite constraint recursionFebruary 2023|spaceship|
178`3807 <https://wg21.link/LWG3807>`__The feature test macro for ``ranges::find_last`` should be renamedFebruary 2023|ranges|
179`3811 <https://wg21.link/LWG3811>`__``views::as_const`` on ``ref_view<T>`` should return ``ref_view<const T>``February 2023|ranges|
180`3820 <https://wg21.link/LWG3820>`__``cartesian_product_view::iterator::prev`` is not quite rightFebruary 2023|ranges|
181`3825 <https://wg21.link/LWG3825>`__Missing compile-time argument ``id`` check in ``basic_format_parse_context::next_arg_id``February 2023|Complete|17.0|format|
182`3204 <https://wg21.link/LWG3204>`__``sub_match::swap`` only swaps the base classFebruary 2023|Complete|17.0
183`3733 <https://wg21.link/LWG3733>`__``ranges::to`` misuses ``cpp17-input-iterator``February 2023|Complete|17.0|ranges|
184`3742 <https://wg21.link/LWG3742>`__``deque::prepend_range`` needs to permuteFebruary 2023|ranges|
185`3790 <https://wg21.link/LWG3790>`__`P1467 <https://wg21.link/P1467>`__ accidentally changed ``nexttoward``'s signatureFebruary 2023
186`3819 <https://wg21.link/LWG3819>`__``reference_meows_from_temporary`` should not use ``is_meowible``February 2023
187`3821 <https://wg21.link/LWG3821>`__``uses_allocator_construction_args`` should have overload for ``pair-like``February 2023|Complete|18.0
188`3834 <https://wg21.link/LWG3834>`__Missing ``constexpr`` for ``std::intmax_t`` math functions in ``<cinttypes>``February 2023
189`3839 <https://wg21.link/LWG3839>`__``range_formatter``'s ``set_separator``, ``set_brackets``, and ``underlying`` functions should be ``noexcept``February 2023|Complete|17.0|format|
190`3841 <https://wg21.link/LWG3841>`__``<version>`` should not be "all freestanding"February 2023
191`3842 <https://wg21.link/LWG3842>`__Unclear wording for ``precision`` in ``chrono-format-spec``February 2023|Complete|16.0|format|
192`3848 <https://wg21.link/LWG3848>`__``adjacent_view``, ``adjacent_transform_view`` and ``slide_view`` missing ``base`` accessorFebruary 2023|ranges|
193`3849 <https://wg21.link/LWG3849>`__``cartesian_product_view::iterator``'s default constructor is overconstrainedFebruary 2023|ranges|
194`3850 <https://wg21.link/LWG3850>`__``views::as_const`` on ``empty_view<T>`` should return ``empty_view<const T>``February 2023|ranges|
195`3851 <https://wg21.link/LWG3851>`__``chunk_view::inner-iterator`` missing custom ``iter_move`` and ``iter_swap``February 2023|ranges|
196`3853 <https://wg21.link/LWG3853>`__``basic_const_iterator<volatile int*>::operator->`` is ill-formedFebruary 2023
197`3857 <https://wg21.link/LWG3857>`__``basic_string_view`` should allow explicit conversion when only traits varyFebruary 2023|Complete|17.0
198`3860 <https://wg21.link/LWG3860>`__``range_common_reference_t`` is missingFebruary 2023|Complete|17.0|ranges|
199`3866 <https://wg21.link/LWG3866>`__Bad Mandates for ``expected::transform_error`` overloadsFebruary 2023|Complete|17.0
200`3867 <https://wg21.link/LWG3867>`__Should ``std::basic_osyncstream``'s move assignment operator be ``noexcept``?February 2023|Complete|18.0
201`3441 <https://wg21.link/LWG3441>`__Misleading note about calls to customization pointsFebruary 2023
202`3622 <https://wg21.link/LWG3622>`__Misspecified transitivity of equivalence in §[unord.req.general]February 2023
203`3631 <https://wg21.link/LWG3631>`__``basic_format_arg(T&&)`` should use ``remove_cvref_t<T>`` throughoutFebruary 2023|Complete|17.0
204`3645 <https://wg21.link/LWG3645>`__``resize_and_overwrite`` is overspecified to call its callback with lvaluesFebruary 2023|Complete|14.0
205`3655 <https://wg21.link/LWG3655>`__The ``INVOKE`` operation and union typesFebruary 2023|Complete|18.0
206`3723 <https://wg21.link/LWG3723>`__``priority_queue::push_range`` needs to ``append_range``February 2023|ranges|
207`3734 <https://wg21.link/LWG3734>`__Inconsistency in ``inout_ptr`` and ``out_ptr`` for empty caseFebruary 2023
208`3772 <https://wg21.link/LWG3772>`__``repeat_view``'s ``piecewise`` constructor is missing PostconditionsFebruary 2023|Complete|17.0|ranges|
209`3786 <https://wg21.link/LWG3786>`__Flat maps' deduction guide needs to default ``Allocator`` to be usefulFebruary 2023
210`3803 <https://wg21.link/LWG3803>`__``flat_foo`` constructors taking ``KeyContainer`` lack ``KeyCompare`` parameterFebruary 2023
211`3810 <https://wg21.link/LWG3810>`__CTAD for ``std::basic_format_args``February 2023|Complete|17.0|format|
212`3827 <https://wg21.link/LWG3827>`__Deprecate ``<stdalign.h>`` and ``<stdbool.h>`` macrosFebruary 2023
213`3828 <https://wg21.link/LWG3828>`__Sync ``intmax_t`` and ``uintmax_t`` with C2xFebruary 2023
214`3833 <https://wg21.link/LWG3833>`__Remove specialization ``template<size_t N> struct formatter<const charT[N], charT>``February 2023|Complete|17.0|format|
215`3836 <https://wg21.link/LWG3836>`__``std::expected<bool, E1>`` conversion constructor ``expected(const expected<U, G>&)`` should take precedence over ``expected(U&&)`` with operator ``bool``February 2023|Complete|18.0
216`3843 <https://wg21.link/LWG3843>`__``std::expected<T,E>::value() &`` assumes ``E`` is copy constructibleFebruary 2023|Complete|17.0
217`3847 <https://wg21.link/LWG3847>`__``ranges::to`` can still return viewsFebruary 2023|Complete|17.0|ranges|
218`3862 <https://wg21.link/LWG3862>`__``basic_const_iterator``'s ``common_type`` specialization is underconstrainedFebruary 2023
219`3865 <https://wg21.link/LWG3865>`__Sorting a range of ``pairs``February 2023|Complete|17.0|ranges|
220`3869 <https://wg21.link/LWG3869>`__Deprecate ``std::errc`` constants related to UNIX STREAMSFebruary 2023|Complete|19.0
221`3870 <https://wg21.link/LWG3870>`__Remove ``voidify``February 2023
222`3871 <https://wg21.link/LWG3871>`__Adjust note about ``terminate``February 2023
223`3872 <https://wg21.link/LWG3872>`__``basic_const_iterator`` should have custom ``iter_move``February 2023
224`3875 <https://wg21.link/LWG3875>`__``std::ranges::repeat_view<T, IntegerClass>::iterator`` may be ill-formedFebruary 2023|Complete|17.0|ranges|
225`3876 <https://wg21.link/LWG3876>`__Default constructor of ``std::layout_XX::mapping`` misses preconditionFebruary 2023
226`3877 <https://wg21.link/LWG3877>`__Incorrect constraints on ``const``-qualified monadic overloads for ``std::expected``February 2023|Complete|17.0
227`3878 <https://wg21.link/LWG3878>`__import ``std;`` should guarantee initialization of standard iostreams objectsFebruary 2023
228`3879 <https://wg21.link/LWG3879>`__``erase_if`` for ``flat_{,multi}set`` is incorrectly specifiedFebruary 2023
229`3880 <https://wg21.link/LWG3880>`__Clarify ``operator+=`` complexity for ``{chunk,stride}_view::iterator``February 2023|ranges|
230`3881 <https://wg21.link/LWG3881>`__Incorrect formatting of container adapters backed by ``std::string``February 2023|Complete|17.0|format|