26 KiB
26 KiB
1 | Issue # | Issue Name | Meeting | Status | First released version | Labels |
---|---|---|---|---|---|---|
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 constraints | November 2020 | |Complete| | 14.0 | |ranges| |
4 | `3450 <https://wg21.link/LWG3450>`__ | The const overloads of ``take_while_view::begin/end`` are underconstrained | November 2020 | |Complete| | 16.0 | |ranges| |
5 | `3306 <https://wg21.link/LWG3306>`__ | ``ranges::advance`` violates its preconditions | November 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-like | November 2020 | |ranges| | ||
8 | `3405 <https://wg21.link/LWG3405>`__ | ``common_view``'s converting constructor is bad, too | November 2020 | |Complete| | 14.0 | |ranges| |
9 | `3406 <https://wg21.link/LWG3406>`__ | ``elements_view::begin()`` and ``elements_view::end()`` have incompatible constraints | November 2020 | |ranges| | ||
10 | `3420 <https://wg21.link/LWG3420>`__ | cpp17-iterator should check that the type looks like an iterator first | November 2020 | |Complete| | 14.0 | |ranges| |
11 | `3421 <https://wg21.link/LWG3421>`__ | Imperfect ADL emulation for boolean-testable | November 2020 | |Nothing To Do| | |ranges| | |
12 | `3426 <https://wg21.link/LWG3426>`__ | ``operator<=>(const unique_ptr<T, D>&, nullptr_t)`` can't get no satisfaction | November 2020 | |Complete| | 16.0 | |spaceship| |
13 | `3427 <https://wg21.link/LWG3427>`__ | ``operator<=>(const shared_ptr<T>&, nullptr_t)`` definition ill-formed | November 2020 | |Complete| | 16.0 | |spaceship| |
14 | `3428 <https://wg21.link/LWG3428>`__ | ``single_view``'s in place constructor should be explicit | November 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 type | November 2020 | |Complete| | 14.0 | |ranges| |
21 | `3472 <https://wg21.link/LWG3472>`__ | ``counted_iterator`` is missing preconditions | November 2020 | |Complete| | 14.0 | |ranges| |
22 | `3473 <https://wg21.link/LWG3473>`__ | Normative encouragement in non-normative note | November 2020 | |Complete| | 15.0 | |format| |
23 | `3474 <https://wg21.link/LWG3474>`__ | Nesting ``join_views`` is broken because of CTAD | November 2020 | |Complete| | 15.0 | |ranges| |
24 | `3477 <https://wg21.link/LWG3477>`__ | Simplify constraints for ``semiregular-box`` | November 2020 | |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 overconstrained | November 2020 | |Complete| | 14.0 | |ranges| |
27 | `3391 <https://wg21.link/LWG3391>`__ | Problems with ``counted_iterator``/``move_iterator::base() const &`` | February 2021 | |ranges| | ||
28 | `3433 <https://wg21.link/LWG3433>`__ | ``subrange::advance(n)`` has UB when ``n < 0`` | February 2021 | |Complete| | 14.0 | |ranges| |
29 | `3490 <https://wg21.link/LWG3490>`__ | ``ranges::drop_while_view::begin()`` is missing a precondition | February 2021 | |Nothing To Do| | |ranges| | |
30 | `3492 <https://wg21.link/LWG3492>`__ | Minimal improvements to ``elements_view::iterator`` | February 2021 | |ranges| | ||
31 | `3494 <https://wg21.link/LWG3494>`__ | Allow ranges to be conditionally borrowed | February 2021 | Superseded by `P2017R1 <https://wg21.link/P2017R1>`__ | |ranges| | |
32 | `3500 <https://wg21.link/LWG3500>`__ | ``join_view::iterator::operator->()`` is bogus | February 2021 | |Complete| | 14.0 | |ranges| |
33 | `3502 <https://wg21.link/LWG3502>`__ | ``elements_view`` should not be allowed to return dangling reference | February 2021 | |ranges| | ||
34 | `3505 <https://wg21.link/LWG3505>`__ | ``split_view::outer-iterator::operator++`` misspecified | February 2021 | |ranges| | ||
35 | `3410 <https://wg21.link/LWG3410>`__ | ``lexicographical_compare_three_way`` is overspecified | June 2021 | |spaceship| | ||
36 | `3462 <https://wg21.link/LWG3462>`__ | §[formatter.requirements]: Formatter requirements forbid use of ``fc.arg()`` | June 2021 | |format| | ||
37 | `3481 <https://wg21.link/LWG3481>`__ | ``viewable_range`` mishandles lvalue move-only views | June 2021 | Superseded by `P2415R2 <https://wg21.link/P2415R2>`__ | |ranges| | |
38 | `3517 <https://wg21.link/LWG3517>`__ | ``join_view::iterator``'s ``iter_swap`` is underconstrained | June 2021 | |Complete| | 14.0 | |ranges| |
39 | `3520 <https://wg21.link/LWG3520>`__ | ``iter_move`` and ``iter_swap`` are inconsistent for ``transform_view::iterator`` | June 2021 | |Complete| | 14.0 | |ranges| |
40 | `3523 <https://wg21.link/LWG3523>`__ | ``iota_view::sentinel`` is not always ``iota_view``'s sentinel | June 2021 | |ranges| | ||
41 | `3532 <https://wg21.link/LWG3532>`__ | ``split_view<V, P>::inner-iterator<true>::operator++(int)`` should depend on ``Base`` | June 2021 | |ranges| | ||
42 | `3533 <https://wg21.link/LWG3533>`__ | Make ``base() const &`` consistent across iterator wrappers that supports ``input_iterators`` | June 2021 | |Complete| | 14.0 | |ranges| |
43 | `3536 <https://wg21.link/LWG3536>`__ | Should ``chrono::from_stream()`` assign zero to duration for failure? | June 2021 | |chrono| | ||
44 | `3539 <https://wg21.link/LWG3539>`__ | ``format_to`` must not copy models of ``output_iterator<const charT&>`` | June 2021 | |Complete| | 14.0 | |format| |
45 | `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| |
46 | `3541 <https://wg21.link/LWG3541>`__ | ``indirectly_readable_traits`` should be SFINAE-friendly for all types | June 2021 | |Complete| | 14.0 | |ranges| |
47 | `3542 <https://wg21.link/LWG3542>`__ | ``basic_format_arg`` mishandles ``basic_string_view`` with custom traits | June 2021 | |Complete| | 14.0 | |format| |
48 | `3543 <https://wg21.link/LWG3543>`__ | Definition of when ``counted_iterators`` refer to the same sequence isn't quite right | June 2021 | |Nothing To Do| | |ranges| | |
49 | `3544 <https://wg21.link/LWG3544>`__ | ``format-arg-store::args`` is unintentionally not exposition-only | June 2021 | |Complete| | 14.0 | |format| |
50 | `3546 <https://wg21.link/LWG3546>`__ | ``common_iterator``'s postfix-proxy is not quite right | June 2021 | |ranges| | ||
51 | `3549 <https://wg21.link/LWG3549>`__ | ``view_interface`` is overspecified to derive from ``view_base`` | June 2021 | |Complete| | 14.0 | |ranges| |
52 | `3551 <https://wg21.link/LWG3551>`__ | ``borrowed_{iterator,subrange}_t`` are overspecified | June 2021 | |Nothing To Do| | |ranges| | |
53 | `3553 <https://wg21.link/LWG3553>`__ | Useless constraint in ``split_view::outer-iterator::value_type::begin()`` | June 2021 | |ranges| | ||
54 | `3555 <https://wg21.link/LWG3555>`__ | ``{transform,elements}_view::iterator::iterator_concept`` should consider const-qualification of the underlying range | June 2021 | |ranges| | ||
55 | `3123 <https://wg21.link/LWG3123>`__ | ``duration`` constructor from representation shouldn't be effectively non-throwing | October 2021 | |chrono| | ||
56 | `3361 <https://wg21.link/LWG3361>`__ | ``safe_range<SomeRange&>`` case | October 2021 | |Nothing To Do| | |ranges| | |
57 | `3392 <https://wg21.link/LWG3392>`__ | ``ranges::distance()`` cannot be used on a move-only iterator with a sized sentinel | October 2021 | |Complete| | 14.0 | |ranges| |
58 | `3407 <https://wg21.link/LWG3407>`__ | Some problems with the wording changes of P1739R4 | October 2021 | |Complete| | 15.0 | |ranges| |
59 | `3470 <https://wg21.link/LWG3470>`__ | ``convertible-to-non-slicing`` seems to reject valid case | October 2021 | |Complete| | 14.0 | |ranges| |
60 | `3480 <https://wg21.link/LWG3480>`__ | ``directory_iterator`` and ``recursive_directory_iterator`` are not C++20 ranges | October 2021 | |Complete| | 14.0 | |ranges| |
61 | `3535 <https://wg21.link/LWG3535>`__ | ``join_view::iterator::iterator_category`` and ``::iterator_concept`` lie | October 2021 | |Complete| | 15.0 | |ranges| |
62 | `3554 <https://wg21.link/LWG3554>`__ | ``chrono::parse`` needs ``const charT*`` and ``basic_string_view<charT>`` overloads | October 2021 | |chrono| | ||
63 | `3559 <https://wg21.link/LWG3559>`__ | Semantic requirements of ``sized_range`` is circular | October 2021 | |Nothing To Do| | |ranges| | |
64 | `3560 <https://wg21.link/LWG3560>`__ | ``ranges::equal`` and ``ranges::is_permutation`` should short-circuit for ``sized_ranges`` | October 2021 | |ranges| | ||
65 | `3563 <https://wg21.link/LWG3563>`__ | ``keys_view`` example is broken | October 2021 | |ranges| | ||
66 | `3566 <https://wg21.link/LWG3566>`__ | Constraint recursion for ``operator<=>(optional<T>, U)`` | October 2021 | |spaceship| | ||
67 | `3567 <https://wg21.link/LWG3567>`__ | Formatting move-only iterators take two | October 2021 | |Complete| | 16.0 | |format| |ranges| |
68 | `3568 <https://wg21.link/LWG3568>`__ | ``basic_istream_view`` needs to initialize ``value_`` | October 2021 | |Complete| | 16.0 | |ranges| |
69 | `3572 <https://wg21.link/LWG3572>`__ | ``copyable-box`` should be fully ``constexpr`` | October 2021 | |Complete| | 14.0 | |ranges| |
70 | `3574 <https://wg21.link/LWG3574>`__ | ``common_iterator`` should be completely ``constexpr``-able | October 2021 | |Complete| | 14.0 | |ranges| |
71 | `3580 <https://wg21.link/LWG3580>`__ | ``iota_view``'s ``iterator``'s binary ``operator+`` should be improved | October 2021 | |Complete| | 14.0 | |ranges| |
72 | `3581 <https://wg21.link/LWG3581>`__ | The range constructor makes ``basic_string_view`` not trivially move constructible | October 2021 | |Complete| | 14.0 | |ranges| |
73 | `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| |
74 | `3590 <https://wg21.link/LWG3590>`__ | ``split_view::base() const &`` is overconstrained | October 2021 | |ranges| | ||
75 | `3591 <https://wg21.link/LWG3591>`__ | ``lazy_split_view<input_view>::inner-iterator::base() &&`` invalidates outer iterators | October 2021 | |ranges| | ||
76 | `3592 <https://wg21.link/LWG3592>`__ | ``lazy_split_view`` needs to check the simpleness of Pattern | October 2021 | |ranges| | ||
77 | `3593 <https://wg21.link/LWG3593>`__ | Several iterators' ``base() const &`` and ``lazy_split_view::outer-iterator::value_type::end()`` missing ``noexcept`` | October 2021 | |ranges| | ||
78 | `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| |
79 | `3601 <https://wg21.link/LWG3601>`__ | common_iterator's postfix-proxy needs ``indirectly_readable`` | February 2022 | |ranges| | ||
80 | `3607 <https://wg21.link/LWG3607>`__ | ``contiguous_iterator`` should not be allowed to have custom ``iter_move`` and ``iter_swap`` behavior | February 2022 | |Nothing to do| | |ranges| | |
81 | `3610 <https://wg21.link/LWG3610>`__ | ``iota_view::size`` sometimes rejects integer-class types | February 2022 | |ranges| | ||
82 | `3612 <https://wg21.link/LWG3612>`__ | Inconsistent pointer alignment in ``std::format`` | February 2022 | |Complete| | 14.0 | |format| |
83 | `3618 <https://wg21.link/LWG3618>`__ | Unnecessary ``iter_move`` for ``transform_view::iterator`` | February 2022 | |ranges| | ||
84 | `3619 <https://wg21.link/LWG3619>`__ | Specification of ``vformat_to`` contains ill-formed ``formatted_size`` calls | February 2022 | |Nothing to do| | |format| | |
85 | `3643 <https://wg21.link/LWG3643>`__ | Missing ``constexpr`` in ``std::counted_iterator`` | February 2022 | |ranges| | ||
86 | `3648 <https://wg21.link/LWG3648>`__ | ``format`` should not print ``bool`` with ``'c'`` | February 2022 | |Complete| | 15.0 | |format| |
87 | `3654 <https://wg21.link/LWG3654>`__ | ``basic_format_context::arg(size_t)`` should be ``noexcept`` | February 2022 | |Complete| | 15.0 | |format| |
88 | `3660 <https://wg21.link/LWG3660>`__ | ``iterator_traits<common_iterator>::pointer`` should conform to §[iterator.traits] | February 2022 | |Complete| | 14.0 | |ranges| |
89 | `3564 <https://wg21.link/LWG3564>`__ | ``transform_view::iterator<true>::value_type`` and ``iterator_category`` should use ``const F&`` | July 2022 | |ranges| | ||
90 | `3656 <https://wg21.link/LWG3656>`__ | Inconsistent bit operations returning a count | July 2022 | |Complete| | 15.0 | |
91 | `3670 <https://wg21.link/LWG3670>`__ | ``Cpp17InputIterators`` don't have integer-class difference types | July 2022 | |ranges| | ||
92 | `3672 <https://wg21.link/LWG3672>`__ | ``common_iterator::operator->()`` should return by value | July 2022 | |ranges| | ||
93 | `3692 <https://wg21.link/LWG3692>`__ | ``zip_view::iterator``'s ``operator<=>`` is overconstrained | July 2022 | |ranges| |spaceship| | ||
94 | `3701 <https://wg21.link/LWG3701>`__ | Make ``formatter<remove_cvref_t<const charT[N]>, charT>`` requirement explicit | July 2022 | |format| | ||
95 | `3702 <https://wg21.link/LWG3702>`__ | Should ``zip_transform_view::iterator`` remove ``operator<`` | July 2022 | |ranges| |spaceship| | ||
96 | `3707 <https://wg21.link/LWG3707>`__ | chunk_view::outer-iterator::value_type::size should return unsigned type | July 2022 | |ranges| | ||
97 | `3708 <https://wg21.link/LWG3708>`__ | ``take_while_view::sentinel``'s conversion constructor should move | July 2022 | |Complete| | 16.0 | |ranges| |
98 | `3710 <https://wg21.link/LWG3710>`__ | The ``end`` of ``chunk_view`` for input ranges can be ``const`` | July 2022 | |ranges| | ||
99 | `3711 <https://wg21.link/LWG3711>`__ | Missing preconditions for slide_view constructor | July 2022 | |ranges| | ||
100 | `3712 <https://wg21.link/LWG3712>`__ | ``chunk_view`` and ``slide_view`` should not be ``default_initializable`` | July 2022 | |ranges| | ||
101 | `3715 <https://wg21.link/LWG3715>`__ | ``view_interface::empty`` is overconstrained | July 2022 | |ranges| | ||
102 | `3719 <https://wg21.link/LWG3719>`__ | Directory iterators should be usable with default sentinel | July 2022 | |ranges| | ||
103 | `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| |
104 | `3629 <https://wg21.link/LWG3629>`__ | ``make_error_code`` and ``make_error_condition`` are customization points | Not voted in | |Complete| | 16.0 | |
105 | `3631 <https://wg21.link/LWG3631>`__ | ``basic_format_arg(T&&)`` should use ``remove_cvref_t<T>`` throughout | Not voted in | |Complete| | 15.0 | |
106 | `3645 <https://wg21.link/LWG3645>`__ | ``resize_and_overwrite`` is overspecified to call its callback with lvalues | Not voted in | |Complete| | 14.0 | |
107 | `3636 <https://wg21.link/LWG3636>`__ | ``formatter<T>::format`` should be ``const``-qualified | Not voted in | |Complete| | 16.0 |