[libc++][doc] Update the LWG issues.

Updates the status pages with the LWG issues accepted in the Standard
during the June 2021 plenary session. The LWG papers for this meeting
have been added in D105103.

Differential Revision: https://reviews.llvm.org/D106529
This commit is contained in:
Mark de Wever 2021-07-22 08:04:48 +02:00
parent 38986c6782
commit 678601ecb5
4 changed files with 60 additions and 4 deletions

View File

@ -47,4 +47,4 @@ Library Working Group Issues Status
:header-rows: 1
:widths: auto
Last Updated: 6-June-2021
Last Updated: 22-July-2021

View File

@ -60,3 +60,40 @@
"`3502 <https://wg21.link/LWG3502>`__","``elements_view`` should not be allowed to return dangling reference","February 2021","",""
"`3505 <https://wg21.link/LWG3505>`__","``split_view::outer-iterator::operator++`` misspecified","February 2021","",""
"","","","",""
`2774 <https://wg21.link/LWG2774>`__,"``std::function`` construction vs assignment","June 2021","",""
`2818 <https://wg21.link/LWG2818>`__,"``::std::`` everywhere rule needs tweaking","June 2021","",""
`2997 <https://wg21.link/LWG2997>`__,"LWG 491 and the specification of ``{forward_,}list::unique``","June 2021","",""
`3410 <https://wg21.link/LWG3410>`__,"``lexicographical_compare_three_way`` is overspecified","June 2021","",""
`3430 <https://wg21.link/LWG3430>`__,"``std::fstream`` & co. should be constructible from string_view","June 2021","",""
`3462 <https://wg21.link/LWG3462>`__,"§[formatter.requirements]: Formatter requirements forbid use of ``fc.arg()``","June 2021","",""
`3481 <https://wg21.link/LWG3481>`__,"``viewable_range`` mishandles lvalue move-only views","June 2021","",""
`3506 <https://wg21.link/LWG3506>`__,"Missing allocator-extended constructors for ``priority_queue``","June 2021","",""
`3517 <https://wg21.link/LWG3517>`__,"``join_view::iterator``'s ``iter_swap`` is underconstrained","June 2021","",""
`3518 <https://wg21.link/LWG3518>`__,"Exception requirements on char trait operations unclear","June 2021","",""
`3519 <https://wg21.link/LWG3519>`__,"Incomplete synopses for <random> classes","June 2021","",""
`3520 <https://wg21.link/LWG3520>`__,"``iter_move`` and ``iter_swap`` are inconsistent for ``transform_view::iterator``","June 2021","",""
`3521 <https://wg21.link/LWG3521>`__,"Overly strict requirements on ``qsort`` and ``bsearch``","June 2021","",""
`3522 <https://wg21.link/LWG3522>`__,"Missing requirement on ``InputIterator`` template parameter for ``priority_queue`` constructors","June 2021","",""
`3523 <https://wg21.link/LWG3523>`__,"``iota_view::sentinel`` is not always ``iota_view``'s sentinel","June 2021","",""
`3526 <https://wg21.link/LWG3526>`__,"Return types of ``uses_allocator_construction_args`` unspecified","June 2021","",""
`3527 <https://wg21.link/LWG3527>`__,"``uses_allocator_construction_args`` handles rvalue pairs of rvalue references incorrectly","June 2021","",""
`3528 <https://wg21.link/LWG3528>`__,"``make_from_tuple`` can perform (the equivalent of) a C-style cast","June 2021","",""
`3529 <https://wg21.link/LWG3529>`__,"``priority_queue(first, last)`` should construct ``c`` with ``(first, last)``","June 2021","",""
`3530 <https://wg21.link/LWG3530>`__,"``BUILTIN-PTR-MEOW`` should not opt the type out of syntactic checks","June 2021","",""
`3532 <https://wg21.link/LWG3532>`__,"``split_view<V, P>::inner-iterator<true>::operator++(int)`` should depend on ``Base``","June 2021","",""
`3533 <https://wg21.link/LWG3533>`__,"Make ``base() const &`` consistent across iterator wrappers that supports ``input_iterators``","June 2021","",""
`3536 <https://wg21.link/LWG3536>`__,"Should ``chrono::from_stream()`` assign zero to duration for failure?","June 2021","",""
`3539 <https://wg21.link/LWG3539>`__,"``format_to`` must not copy models of ``output_iterator<const charT&>``","June 2021","",""
`3540 <https://wg21.link/LWG3540>`__,"§[format.arg] There should be no const in ``basic_format_arg(const T* p)``","June 2021","",""
`3541 <https://wg21.link/LWG3541>`__,"``indirectly_readable_traits`` should be SFINAE-friendly for all types","June 2021","",""
`3542 <https://wg21.link/LWG3542>`__,"``basic_format_arg`` mishandles ``basic_string_view`` with custom traits","June 2021","",""
`3543 <https://wg21.link/LWG3543>`__,"Definition of when ``counted_iterators`` refer to the same sequence isn't quite right","June 2021","",""
`3544 <https://wg21.link/LWG3544>`__,"``format-arg-store::args`` is unintentionally not exposition-only","June 2021","",""
`3546 <https://wg21.link/LWG3546>`__,"``common_iterator``'s postfix-proxy is not quite right","June 2021","",""
`3548 <https://wg21.link/LWG3548>`__,"``shared_ptr`` construction from ``unique_ptr`` should move (not copy) the deleter","June 2021","",""
`3549 <https://wg21.link/LWG3549>`__,"``view_interface`` is overspecified to derive from ``view_base``","June 2021","",""
`3551 <https://wg21.link/LWG3551>`__,"``borrowed_{iterator,subrange}_t`` are overspecified","June 2021","",""
`3552 <https://wg21.link/LWG3552>`__,"Parallel specialized memory algorithms should require forward iterators","June 2021","",""
`3553 <https://wg21.link/LWG3553>`__,"Useless constraint in ``split_view::outer-iterator::value_type::begin()``","June 2021","",""
`3555 <https://wg21.link/LWG3555>`__,"``{transform,elements}_view::iterator::iterator_concept`` should consider const-qualification of the underlying range","June 2021","",""
"","","","",""

1 Issue # Issue Name Meeting Status First released version
60 `3502 <https://wg21.link/LWG3502>`__ ``elements_view`` should not be allowed to return dangling reference February 2021
61 `3505 <https://wg21.link/LWG3505>`__ ``split_view::outer-iterator::operator++`` misspecified February 2021
62
63 `2774 <https://wg21.link/LWG2774>`__ ``std::function`` construction vs assignment June 2021
64 `2818 <https://wg21.link/LWG2818>`__ ``::std::`` everywhere rule needs tweaking June 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 overspecified June 2021
67 `3430 <https://wg21.link/LWG3430>`__ ``std::fstream`` & co. should be constructible from string_view June 2021
68 `3462 <https://wg21.link/LWG3462>`__ §[formatter.requirements]: Formatter requirements forbid use of ``fc.arg()`` June 2021
69 `3481 <https://wg21.link/LWG3481>`__ ``viewable_range`` mishandles lvalue move-only views June 2021
70 `3506 <https://wg21.link/LWG3506>`__ Missing allocator-extended constructors for ``priority_queue`` June 2021
71 `3517 <https://wg21.link/LWG3517>`__ ``join_view::iterator``'s ``iter_swap`` is underconstrained June 2021
72 `3518 <https://wg21.link/LWG3518>`__ Exception requirements on char trait operations unclear June 2021
73 `3519 <https://wg21.link/LWG3519>`__ Incomplete synopses for <random> classes June 2021
74 `3520 <https://wg21.link/LWG3520>`__ ``iter_move`` and ``iter_swap`` are inconsistent for ``transform_view::iterator`` June 2021
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`` constructors June 2021
77 `3523 <https://wg21.link/LWG3523>`__ ``iota_view::sentinel`` is not always ``iota_view``'s sentinel June 2021
78 `3526 <https://wg21.link/LWG3526>`__ Return types of ``uses_allocator_construction_args`` unspecified June 2021
79 `3527 <https://wg21.link/LWG3527>`__ ``uses_allocator_construction_args`` handles rvalue pairs of rvalue references incorrectly June 2021
80 `3528 <https://wg21.link/LWG3528>`__ ``make_from_tuple`` can perform (the equivalent of) a C-style cast June 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 checks June 2021
83 `3532 <https://wg21.link/LWG3532>`__ ``split_view<V, P>::inner-iterator<true>::operator++(int)`` should depend on ``Base`` June 2021
84 `3533 <https://wg21.link/LWG3533>`__ Make ``base() const &`` consistent across iterator wrappers that supports ``input_iterators`` June 2021
85 `3536 <https://wg21.link/LWG3536>`__ Should ``chrono::from_stream()`` assign zero to duration for failure? June 2021
86 `3539 <https://wg21.link/LWG3539>`__ ``format_to`` must not copy models of ``output_iterator<const charT&>`` June 2021
87 `3540 <https://wg21.link/LWG3540>`__ §[format.arg] There should be no const in ``basic_format_arg(const T* p)`` June 2021
88 `3541 <https://wg21.link/LWG3541>`__ ``indirectly_readable_traits`` should be SFINAE-friendly for all types June 2021
89 `3542 <https://wg21.link/LWG3542>`__ ``basic_format_arg`` mishandles ``basic_string_view`` with custom traits June 2021
90 `3543 <https://wg21.link/LWG3543>`__ Definition of when ``counted_iterators`` refer to the same sequence isn't quite right June 2021
91 `3544 <https://wg21.link/LWG3544>`__ ``format-arg-store::args`` is unintentionally not exposition-only June 2021
92 `3546 <https://wg21.link/LWG3546>`__ ``common_iterator``'s postfix-proxy is not quite right June 2021
93 `3548 <https://wg21.link/LWG3548>`__ ``shared_ptr`` construction from ``unique_ptr`` should move (not copy) the deleter June 2021
94 `3549 <https://wg21.link/LWG3549>`__ ``view_interface`` is overspecified to derive from ``view_base`` June 2021
95 `3551 <https://wg21.link/LWG3551>`__ ``borrowed_{iterator,subrange}_t`` are overspecified June 2021
96 `3552 <https://wg21.link/LWG3552>`__ Parallel specialized memory algorithms should require forward iterators June 2021
97 `3553 <https://wg21.link/LWG3553>`__ Useless constraint in ``split_view::outer-iterator::value_type::begin()`` June 2021
98 `3555 <https://wg21.link/LWG3555>`__ ``{transform,elements}_view::iterator::iterator_concept`` should consider const-qualification of the underlying range June 2021
99

View File

@ -3,16 +3,23 @@ Number,Name,Assignee,Patch,Status,First released version
`P1652 <https://wg21.link/P1652>`_,"Printf corner cases in std::format",Mark de Wever,`D103433 <https://reviews.llvm.org/D103433>`__,Review,
`P1892 <https://wg21.link/P1892>`_,"Extended locale-specific presentation specifiers for std::format",Mark de Wever,`D103368 <https://reviews.llvm.org/D103368>`__,Review,
`P1868 <https://wg21.link/P1868>`_,"width: clarifying units of width and precision in std::format (Implements the unicode support.)",Mark de Wever,"`D103413 <https://reviews.llvm.org/D103413>`__ `D103425 <https://reviews.llvm.org/D103425>`__ `D103670 <https://reviews.llvm.org/D103670>`__",Review,
`P2216 <https://wg21.link/P2216>`_,"std::format improvements",,,,
`LWG-3242 <https://wg21.link/LWG3242>`_,"std::format: missing rules for arg-id in width and precision",Mark de Wever,`D103368 <https://reviews.llvm.org/D103368>`__,Review,
`LWG-3243 <https://wg21.link/LWG3243>`_,"std::format and negative zeroes",,,,
`LWG-3246 <https://wg21.link/LWG3246>`_,"What are the constraints on the template parameter of basic_format_arg?",,,,
`LWG-3248 <https://wg21.link/LWG3248>`_,"std::format #b, #B, #o, #x , and #X presentation types misformat negative numbers",Mark de Wever,`D103433 <https://reviews.llvm.org/D103433>`__,Review,
`LWG-3248 <https://wg21.link/LWG3248>`_,"std::format #b, #B, #o, #x, and #X presentation types misformat negative numbers",Mark de Wever,`D103433 <https://reviews.llvm.org/D103433>`__,Review,
`LWG-3250 <https://wg21.link/LWG3250>`_,"std::format: # (alternate form) for NaN and inf",,,,
`LWG-3327 <https://wg21.link/LWG3327>`_,"Format alignment specifiers vs. text direction",,,|Nothing To Do|,
`LWG-3340 <https://wg21.link/LWG3340>`_,"Formatting functions should throw on argument/format string mismatch in [format.functions]",,,,
`LWG-3371 <https://wg21.link/LWG3371>`_,"visit_format_arg and make_format_args are not hidden friends",Mark de Wever,`D103357 <https://llvm.org/D103357>`__,Review,
`LWG-3372 <https://wg21.link/LWG3372>`_,"vformat_to should not try to deduce Out twice",,,,
`LWG-3373 <https://wg21.link/LWG3373>`_,"{to,from}_chars_result and format_to_n_result need the 'we really mean what we say'",,,,
`LWG-3462 <https://wg21.link/LWG3462>`_,"§[formatter.requirements]: Formatter requirements forbid use of fc.arg()",,,,
`LWG-3539 <https://wg21.link/LWG3539>`_,"format_to must not copy models of output_iterator<const charT&>",,,,
`LWG-3540 <https://wg21.link/LWG3540>`_,"§[format.arg] There should be no const in basic_format_arg(const T* p)",,,,
`LWG-3541 <https://wg21.link/LWG3541>`_,"indirectly_readable_traits should be SFINAE-friendly for all types",,,,
`LWG-3542 <https://wg21.link/LWG3542>`_,"basic_format_arg mishandles basic_string_view with custom traits",,,,
`LWG-3544 <https://wg21.link/LWG3544>`_,"format-arg-store::args is unintentionally not exposition-only",,,,
`P1361 <https://wg21.link/P1361>`_,"Integration of chrono with text formatting",,,,
`LWG-3218 <https://wg21.link/LWG3218>`_,"Modifier for %d parse flag does not match POSIX and format specification",,,,
@ -22,5 +29,3 @@ Number,Name,Assignee,Patch,Status,First released version
`LWG-3270 <https://wg21.link/LWG3270>`_,"Parsing and formatting %j with durations",,,,
`LWG-3272 <https://wg21.link/LWG3272>`_,"%I%p should parse/format duration since midnight",,,,
`LWG-3332 <https://wg21.link/LWG3332>`_,"Issue in [time.format]",,,,
`P2216 <https://wg21.link/P2216>`_,"std::format improvements",,,,

1 Number Name Assignee Patch Status First released version
3 `P1652 <https://wg21.link/P1652>`_ Printf corner cases in std::format Mark de Wever `D103433 <https://reviews.llvm.org/D103433>`__ Review
4 `P1892 <https://wg21.link/P1892>`_ Extended locale-specific presentation specifiers for std::format Mark de Wever `D103368 <https://reviews.llvm.org/D103368>`__ Review
5 `P1868 <https://wg21.link/P1868>`_ width: clarifying units of width and precision in std::format (Implements the unicode support.) Mark de Wever `D103413 <https://reviews.llvm.org/D103413>`__ `D103425 <https://reviews.llvm.org/D103425>`__ `D103670 <https://reviews.llvm.org/D103670>`__ Review
6 `P2216 <https://wg21.link/P2216>`_ std::format improvements
7 `LWG-3242 <https://wg21.link/LWG3242>`_ std::format: missing rules for arg-id in width and precision Mark de Wever `D103368 <https://reviews.llvm.org/D103368>`__ Review
8 `LWG-3243 <https://wg21.link/LWG3243>`_ std::format and negative zeroes
9 `LWG-3246 <https://wg21.link/LWG3246>`_ What are the constraints on the template parameter of basic_format_arg?
10 `LWG-3248 <https://wg21.link/LWG3248>`_ std::format #b, #B, #o, #x , and #X presentation types misformat negative numbers std::format #b, #B, #o, #x, and #X presentation types misformat negative numbers Mark de Wever `D103433 <https://reviews.llvm.org/D103433>`__ Review
11 `LWG-3250 <https://wg21.link/LWG3250>`_ std::format: # (alternate form) for NaN and inf
12 `LWG-3327 <https://wg21.link/LWG3327>`_ Format alignment specifiers vs. text direction |Nothing To Do|
13 `LWG-3340 <https://wg21.link/LWG3340>`_ Formatting functions should throw on argument/format string mismatch in [format.functions]
14 `LWG-3371 <https://wg21.link/LWG3371>`_ visit_format_arg and make_format_args are not hidden friends Mark de Wever `D103357 <https://llvm.org/D103357>`__ Review
15 `LWG-3372 <https://wg21.link/LWG3372>`_ vformat_to should not try to deduce Out twice
16 `LWG-3373 <https://wg21.link/LWG3373>`_ {to,from}_chars_result and format_to_n_result need the 'we really mean what we say'
17 `LWG-3462 <https://wg21.link/LWG3462>`_ §[formatter.requirements]: Formatter requirements forbid use of fc.arg()
18 `LWG-3539 <https://wg21.link/LWG3539>`_ format_to must not copy models of output_iterator<const charT&>
19 `LWG-3540 <https://wg21.link/LWG3540>`_ §[format.arg] There should be no const in basic_format_arg(const T* p)
20 `LWG-3541 <https://wg21.link/LWG3541>`_ indirectly_readable_traits should be SFINAE-friendly for all types
21 `LWG-3542 <https://wg21.link/LWG3542>`_ basic_format_arg mishandles basic_string_view with custom traits
22 `LWG-3544 <https://wg21.link/LWG3544>`_ format-arg-store::args is unintentionally not exposition-only
23 `P1361 <https://wg21.link/P1361>`_ Integration of chrono with text formatting
24 `LWG-3218 <https://wg21.link/LWG3218>`_ Modifier for %d parse flag does not match POSIX and format specification
25 `LWG-3230 <https://wg21.link/LWG3230>`_ Format specifier %y/%Y is missing locale alternative versions
29 `LWG-3272 <https://wg21.link/LWG3272>`_ %I%p should parse/format duration since midnight
30 `LWG-3332 <https://wg21.link/LWG3332>`_ Issue in [time.format]
31

View File

@ -62,5 +62,19 @@
`LWG3397 <https://wg21.link/lwg3397>`__, ranges::basic_istream_view::iterator should not provide iterator_category,,
`LWG3398 <https://wg21.link/lwg3398>`__, tuple_element_t is also wrong for const subrange,,
`LWG3474 <https://wg21.link/lwg3474>`__, Nesting join_views is broken because of CTAD,,
`LWG3481 <https://wg21.link/LWG3481>`__,"viewable_range mishandles lvalue move-only views",,
`LWG3500 <https://wg21.link/lwg3500>`__, join_view::iterator::operator->() is bogus,,
`LWG3505 <https://wg21.link/lwg3505>`__, split_view::outer-iterator::operator++ misspecified,,
`LWG3517 <https://wg21.link/LWG3517>`__,"join_view::iterator's iter_swap is underconstrained",,
`LWG3520 <https://wg21.link/LWG3520>`__,"iter_move and iter_swap are inconsistent for transform_view::iterator",,
`LWG3522 <https://wg21.link/LWG3522>`__,"Missing requirement on InputIterator template parameter for priority_queue constructors",,
`LWG3523 <https://wg21.link/LWG3523>`__,"iota_view::sentinel is not always iota_view's sentinel",,
`LWG3532 <https://wg21.link/LWG3532>`__,"split_view<V, P>::inner-iterator<true>::operator++(int) should depend on Base",,
`LWG3533 <https://wg21.link/LWG3533>`__,"Make base() const & consistent across iterator wrappers that supports input_iterators",,
`LWG3541 <https://wg21.link/LWG3541>`__,"indirectly_readable_traits should be SFINAE-friendly for all types",,
`LWG3543 <https://wg21.link/LWG3543>`__,"Definition of when counted_iterators refer to the same sequence isn't quite right",,
`LWG3546 <https://wg21.link/LWG3546>`__,"common_iterator's postfix-proxy is not quite right",,
`LWG3549 <https://wg21.link/LWG3549>`__,"view_interface is overspecified to derive from view_base",,
`LWG3551 <https://wg21.link/LWG3551>`__,"borrowed_{iterator,subrange}_t are overspecified",,
`LWG3553 <https://wg21.link/LWG3553>`__,"Useless constraint in split_view::outer-iterator::value_type::begin()",,
`LWG3555 <https://wg21.link/LWG3555>`__,"{transform,elements}_view::iterator::iterator_concept should consider const-qualification of the underlying range",,

1 Number Name Status Assignee
62 `LWG3474 <https://wg21.link/lwg3474>`__ Nesting join_views is broken because of CTAD
63 `LWG3500 <https://wg21.link/lwg3500>`__ `LWG3481 <https://wg21.link/LWG3481>`__ join_view::iterator::operator->() is bogus viewable_range mishandles lvalue move-only views
64 `LWG3505 <https://wg21.link/lwg3505>`__ `LWG3500 <https://wg21.link/lwg3500>`__ split_view::outer-iterator::operator++ misspecified join_view::iterator::operator->() is bogus
65 `LWG3505 <https://wg21.link/lwg3505>`__ split_view::outer-iterator::operator++ misspecified
66 `LWG3517 <https://wg21.link/LWG3517>`__ join_view::iterator's iter_swap is underconstrained
67 `LWG3520 <https://wg21.link/LWG3520>`__ iter_move and iter_swap are inconsistent for transform_view::iterator
68 `LWG3522 <https://wg21.link/LWG3522>`__ Missing requirement on InputIterator template parameter for priority_queue constructors
69 `LWG3523 <https://wg21.link/LWG3523>`__ iota_view::sentinel is not always iota_view's sentinel
70 `LWG3532 <https://wg21.link/LWG3532>`__ split_view<V, P>::inner-iterator<true>::operator++(int) should depend on Base
71 `LWG3533 <https://wg21.link/LWG3533>`__ Make base() const & consistent across iterator wrappers that supports input_iterators
72 `LWG3541 <https://wg21.link/LWG3541>`__ indirectly_readable_traits should be SFINAE-friendly for all types
73 `LWG3543 <https://wg21.link/LWG3543>`__ Definition of when counted_iterators refer to the same sequence isn't quite right
74 `LWG3546 <https://wg21.link/LWG3546>`__ common_iterator's postfix-proxy is not quite right
75 `LWG3549 <https://wg21.link/LWG3549>`__ view_interface is overspecified to derive from view_base
76 `LWG3551 <https://wg21.link/LWG3551>`__ borrowed_{iterator,subrange}_t are overspecified
77 `LWG3553 <https://wg21.link/LWG3553>`__ Useless constraint in split_view::outer-iterator::value_type::begin()
78 `LWG3555 <https://wg21.link/LWG3555>`__ {transform,elements}_view::iterator::iterator_concept should consider const-qualification of the underlying range
79
80