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
12 KiB
12 KiB
| 1 | Issue # | Issue Name | Meeting | Status | First released version |
|---|---|---|---|---|---|
| 2 | `2839 <https://wg21.link/LWG2839>`__ | Self-move-assignment of library types, again | November 2020 | ||
| 3 | `3117 <https://wg21.link/LWG3117>`__ | Missing ``packaged_task`` deduction guides | November 2020 | ||
| 4 | `3143 <https://wg21.link/LWG3143>`__ | ``monotonic_buffer_resource`` growth policy is unclear | November 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 constructible | November 2020 | ||
| 7 | `3236 <https://wg21.link/LWG3236>`__ | Random access iterator requirements lack limiting relational operators domain to comparing those from the same range | November 2020 | ||
| 8 | `3265 <https://wg21.link/LWG3265>`__ | ``move_iterator``'s conversions are more broken after P1207 | November 2020 | Fixed 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 | ||
| 11 | `3447 <https://wg21.link/LWG3447>`__ | Deduction guides for ``take_view`` and ``drop_view`` have different constraints | November 2020 | ||
| 12 | `3450 <https://wg21.link/LWG3450>`__ | The const overloads of ``take_while_view::begin/end`` are underconstrained | November 2020 | ||
| 13 | `3464 <https://wg21.link/LWG3464>`__ | ``istream::gcount()`` can overflow | November 2020 | ||
| 14 | `2731 <https://wg21.link/LWG2731>`__ | Existence of ``lock_guard<MutexTypes...>::mutex_type`` typedef unclear | November 2020 | ||
| 15 | `2743 <https://wg21.link/LWG2743>`__ | P0083R3 ``node_handle`` private members missing "exposition only" comment | November 2020 | ||
| 16 | `2820 <https://wg21.link/LWG2820>`__ | Clarify ``<cstdint>`` macros | November 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 equal | November 2020 | ||
| 19 | `3036 <https://wg21.link/LWG3036>`__ | ``polymorphic_allocator::destroy`` is extraneous | November 2020 | ||
| 20 | `3171 <https://wg21.link/LWG3171>`__ | LWG2989 breaks ``directory_entry`` stream insertion | November 2020 | ||
| 21 | `3306 <https://wg21.link/LWG3306>`__ | ``ranges::advance`` violates its preconditions | November 2020 | ||
| 22 | `3403 <https://wg21.link/LWG3403>`__ | Domain of ``ranges::ssize(E)`` doesn't ``match ranges::size(E)`` | November 2020 | ||
| 23 | `3404 <https://wg21.link/LWG3404>`__ | Finish removing subrange's conversions from pair-like | November 2020 | ||
| 24 | `3405 <https://wg21.link/LWG3405>`__ | ``common_view``'s converting constructor is bad, too | November 2020 | ||
| 25 | `3406 <https://wg21.link/LWG3406>`__ | ``elements_view::begin()`` and ``elements_view::end()`` have incompatible constraints | November 2020 | ||
| 26 | `3419 <https://wg21.link/LWG3419>`__ | [algorithms.requirements]/15 doesn't reserve as many rights as it intends to | November 2020 | ||
| 27 | `3420 <https://wg21.link/LWG3420>`__ | cpp17-iterator should check that the type looks like an iterator first | November 2020 | ||
| 28 | `3421 <https://wg21.link/LWG3421>`__ | Imperfect ADL emulation for boolean-testable | November 2020 | ||
| 29 | `3425 <https://wg21.link/LWG3425>`__ | ``condition_variable_any`` fails to constrain its Lock parameters | November 2020 | ||
| 30 | `3426 <https://wg21.link/LWG3426>`__ | ``operator<=>(const unique_ptr<T, D>&, nullptr_t)`` can't get no satisfaction | November 2020 | ||
| 31 | `3427 <https://wg21.link/LWG3427>`__ | ``operator<=>(const shared_ptr<T>&, nullptr_t)`` definition ill-formed | November 2020 | ||
| 32 | `3428 <https://wg21.link/LWG3428>`__ | ``single_view``'s in place constructor should be explicit | November 2020 | ||
| 33 | `3434 <https://wg21.link/LWG3434>`__ | ``ios_base`` never reclaims memory for iarray and parray | November 2020 | ||
| 34 | `3437 <https://wg21.link/LWG3437>`__ | ``__cpp_lib_polymorphic_allocator`` is in the wrong header | November 2020 | ||
| 35 | `3446 <https://wg21.link/LWG3446>`__ | ``indirectly_readable_traits`` ambiguity for types with both ``value_type`` and ``element_type`` | November 2020 | ||
| 36 | `3448 <https://wg21.link/LWG3448>`__ | ``transform_view``'s sentinel<false> not comparable with ``iterator<true>`` | November 2020 | ||
| 37 | `3449 <https://wg21.link/LWG3449>`__ | take_view and take_while_view's ``sentinel<false>`` not comparable with their const iterator | November 2020 | ||
| 38 | `3453 <https://wg21.link/LWG3453>`__ | Generic code cannot call ``ranges::advance(i, s)`` | November 2020 | ||
| 39 | `3455 <https://wg21.link/LWG3455>`__ | Incorrect Postconditions on ``unique_ptr`` move assignment | November 2020 | |Nothing To Do| | |
| 40 | `3460 <https://wg21.link/LWG3460>`__ | Unimplementable ``noop_coroutine_handle`` guarantees | November 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 | ||
| 43 | `3466 <https://wg21.link/LWG3466>`__ | Specify the requirements for ``promise``/``future``/``shared_future`` consistently | November 2020 | ||
| 44 | `3467 <https://wg21.link/LWG3467>`__ | ``bool`` can't be an integer-like type | November 2020 | ||
| 45 | `3472 <https://wg21.link/LWG3472>`__ | ``counted_iterator`` is missing preconditions | November 2020 | ||
| 46 | `3473 <https://wg21.link/LWG3473>`__ | Normative encouragement in non-normative note | November 2020 | ||
| 47 | `3474 <https://wg21.link/LWG3474>`__ | Nesting ``join_views`` is broken because of CTAD | November 2020 | ||
| 48 | `3476 <https://wg21.link/LWG3476>`__ | ``thread`` and ``jthread`` constructors require that the parameters be move-constructible but never move construct the parameters | November 2020 | ||
| 49 | `3477 <https://wg21.link/LWG3477>`__ | Simplify constraints for semiregular-box | November 2020 | ||
| 50 | `3482 <https://wg21.link/LWG3482>`__ | ``drop_view``'s const begin should additionally require sized_range | November 2020 | ||
| 51 | `3483 <https://wg21.link/LWG3483>`__ | ``transform_view::iterator``'s difference is overconstrained | November 2020 | ||
| 52 | |||||
| 53 | `3391 <https://wg21.link/LWG3391>`__ | Problems with ``counted_iterator``/``move_iterator::base() const &`` | February 2021 | ||
| 54 | `3433 <https://wg21.link/LWG3433>`__ | ``subrange::advance(n)`` has UB when ``n < 0`` | February 2021 | ||
| 55 | `3490 <https://wg21.link/LWG3490>`__ | ``ranges::drop_while_view::begin()`` is missing a precondition | February 2021 | ||
| 56 | `3492 <https://wg21.link/LWG3492>`__ | Minimal improvements to ``elements_view::iterator`` | February 2021 | ||
| 57 | `3494 <https://wg21.link/LWG3494>`__ | Allow ranges to be conditionally borrowed | February 2021 | Superseded by `P2017R1 <https://wg21.link/P2017R1>`__ | |
| 58 | `3495 <https://wg21.link/LWG3495>`__ | ``constexpr launder`` makes pointers to inactive members of unions usable | February 2021 | ||
| 59 | `3500 <https://wg21.link/LWG3500>`__ | ``join_view::iterator::operator->()`` is bogus | February 2021 | ||
| 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 |