forked from OSchip/llvm-project
36 KiB
36 KiB
1 | Issue # | Issue Name | Meeting | Status | First released version |
---|---|---|---|---|---|
2 | `2070 <https://wg21.link/LWG2070>`__ | ``allocate_shared``\ should use ``allocator_traits<A>::construct``\ | Toronto | Resolved by `P0674R1 <https://wg21.link/P0674R1>`__ | |
3 | `2444 <https://wg21.link/LWG2444>`__ | Inconsistent complexity for ``std::sort_heap``\ | Toronto | ||
4 | `2593 <https://wg21.link/LWG2593>`__ | Moved-from state of Allocators | Toronto | ||
5 | `2597 <https://wg21.link/LWG2597>`__ | ``std::log``\ misspecified for complex numbers | Toronto | ||
6 | `2783 <https://wg21.link/LWG2783>`__ | ``stack::emplace()``\ and ``queue::emplace()``\ should return ``decltype(auto)``\ | Toronto | |Complete| | |
7 | `2932 <https://wg21.link/LWG2932>`__ | Constraints on parallel algorithm implementations are underspecified | Toronto | ||
8 | `2937 <https://wg21.link/LWG2937>`__ | Is ``equivalent("existing_thing", "not_existing_thing")``\ an error | Toronto | |Complete| | |
9 | `2940 <https://wg21.link/LWG2940>`__ | ``result_of``\ specification also needs a little cleanup | Toronto | ||
10 | `2942 <https://wg21.link/LWG2942>`__ | LWG 2873's resolution missed ``weak_ptr::owner_before``\ | Toronto | |Complete| | |
11 | `2954 <https://wg21.link/LWG2954>`__ | Specialization of the convenience variable templates should be prohibited | Toronto | |Complete| | |
12 | `2961 <https://wg21.link/LWG2961>`__ | Bad postcondition for ``set_default_resource``\ | Toronto | ||
13 | `2966 <https://wg21.link/LWG2966>`__ | Incomplete resolution of US 74 | Toronto | |Nothing To Do| | |
14 | `2974 <https://wg21.link/LWG2974>`__ | Diagnose out of bounds ``tuple_element/variant_alternative``\ | Toronto | |Complete| | |
15 | |||||
16 | `2779 <https://wg21.link/LWG2779>`__ | [networking.ts] Relax requirements on buffer sequence iterators | Albuquerque | ||
17 | `2870 <https://wg21.link/LWG2870>`__ | Default value of parameter theta of polar should be dependent | Albuquerque | |Complete| | |
18 | `2935 <https://wg21.link/LWG2935>`__ | What should create_directories do when p already exists but is not a directory? | Albuquerque | |Nothing To Do| | |
19 | `2941 <https://wg21.link/LWG2941>`__ | [thread.req.timing] wording should apply to both member and namespace-level functions | Albuquerque | |Nothing To Do| | |
20 | `2944 <https://wg21.link/LWG2944>`__ | LWG 2905 accidentally removed requirement that construction of the deleter doesn't throw an exception | Albuquerque | |Nothing To Do| | |
21 | `2945 <https://wg21.link/LWG2945>`__ | Order of template parameters in optional comparisons | Albuquerque | |Complete| | |
22 | `2948 <https://wg21.link/LWG2948>`__ | unique_ptr does not define operator<< for stream output | Albuquerque | |Complete| | |
23 | `2950 <https://wg21.link/LWG2950>`__ | std::byte operations are misspecified | Albuquerque | |Complete| | |
24 | `2952 <https://wg21.link/LWG2952>`__ | iterator_traits should work for pointers to cv T | Albuquerque | |Complete| | |
25 | `2953 <https://wg21.link/LWG2953>`__ | LWG 2853 should apply to deque::erase too | Albuquerque | |Complete| | |
26 | `2958 <https://wg21.link/LWG2958>`__ | Moves improperly defined as deleted | Albuquerque | *We already do this* | |
27 | `2964 <https://wg21.link/LWG2964>`__ | Apparently redundant requirement for dynamic_pointer_cast | Albuquerque | ||
28 | `2965 <https://wg21.link/LWG2965>`__ | Non-existing path::native_string() in filesystem_error::what() specification | Albuquerque | |Nothing To Do| | |
29 | `2972 <https://wg21.link/LWG2972>`__ | What is ``is_trivially_destructible_v<int>``\ ? | Albuquerque | |Complete| | |
30 | `2976 <https://wg21.link/LWG2976>`__ | Dangling uses_allocator specialization for packaged_task | Albuquerque | |Complete| | |
31 | `2977 <https://wg21.link/LWG2977>`__ | unordered_meow::merge() has incorrect Throws: clause | Albuquerque | |Nothing To Do| | |
32 | `2978 <https://wg21.link/LWG2978>`__ | Hash support for pmr::string and friends | Albuquerque | ||
33 | `2979 <https://wg21.link/LWG2979>`__ | aligned_union should require complete object types | Albuquerque | |Complete| | |
34 | `2980 <https://wg21.link/LWG2980>`__ | Cannot compare_exchange empty pointers | Albuquerque | ||
35 | `2981 <https://wg21.link/LWG2981>`__ | Remove redundant deduction guides from standard library | Albuquerque | ||
36 | `2982 <https://wg21.link/LWG2982>`__ | Making size_type consistent in associative container deduction guides | Albuquerque | ||
37 | `2988 <https://wg21.link/LWG2988>`__ | Clause 32 cleanup missed one typename | Albuquerque | ||
38 | `2993 <https://wg21.link/LWG2993>`__ | reference_wrapper<T> conversion from T&& | Albuquerque | |Complete| | 13.0 |
39 | `2998 <https://wg21.link/LWG2998>`__ | Requirements on function objects passed to {``forward_``,}list-specific algorithms | Albuquerque | |Nothing To Do| | |
40 | `3001 <https://wg21.link/LWG3001>`__ | weak_ptr::element_type needs remove_extent_t | Albuquerque | ||
41 | `3024 <https://wg21.link/LWG3024>`__ | variant's copies must be deleted instead of disabled via SFINAE | Albuquerque | |Complete| | |
42 | |||||
43 | `2164 <https://wg21.link/LWG2164>`__ | What are the semantics of ``vector.emplace(vector.begin(), vector.back())``\ ? | Jacksonville | |Complete| | |
44 | `2243 <https://wg21.link/LWG2243>`__ | ``istream::putback``\ problem | Jacksonville | |Complete| | |
45 | `2816 <https://wg21.link/LWG2816>`__ | ``resize_file``\ has impossible postcondition | Jacksonville | |Nothing To Do| | |
46 | `2843 <https://wg21.link/LWG2843>`__ | Unclear behavior of ``std::pmr::memory_resource::do_allocate()``\ | Jacksonville | |Complete| | |
47 | `2849 <https://wg21.link/LWG2849>`__ | Why does ``!is_regular_file(from)``\ cause ``copy_file``\ to report a "file already exists" error? | Jacksonville | |Nothing To Do| | |
48 | `2851 <https://wg21.link/LWG2851>`__ | ``std::filesystem``\ enum classes are now underspecified | Jacksonville | |Nothing To Do| | |
49 | `2946 <https://wg21.link/LWG2946>`__ | LWG 2758's resolution missed further corrections | Jacksonville | |Complete| | |
50 | `2969 <https://wg21.link/LWG2969>`__ | ``polymorphic_allocator::construct()``\ shouldn't pass ``resource()``\ | Jacksonville | |Complete| | |
51 | `2975 <https://wg21.link/LWG2975>`__ | Missing case for ``pair``\ construction in scoped and polymorphic allocators | Jacksonville | ||
52 | `2989 <https://wg21.link/LWG2989>`__ | ``path``\ 's stream insertion operator lets you insert everything under the sun | Jacksonville | |Complete| | |
53 | `3000 <https://wg21.link/LWG3000>`__ | ``monotonic_memory_resource::do_is_equal``\ uses ``dynamic_cast``\ unnecessarily | Jacksonville | ||
54 | `3002 <https://wg21.link/LWG3002>`__ | [networking.ts] ``basic_socket_acceptor::is_open()``\ isn't ``noexcept``\ | Jacksonville | ||
55 | `3004 <https://wg21.link/LWG3004>`__ | |sect|\ [string.capacity] and |sect|\ [vector.capacity] should specify time complexity for ``capacity()``\ | Jacksonville | |Nothing To Do| | |
56 | `3005 <https://wg21.link/LWG3005>`__ | Destruction order of arrays by ``make_shared/allocate_shared``\ only recommended? | Jacksonville | ||
57 | `3007 <https://wg21.link/LWG3007>`__ | ``allocate_shared``\ should rebind allocator to *cv*-unqualified ``value_type``\ for construction | Jacksonville | ||
58 | `3009 <https://wg21.link/LWG3009>`__ | Including ``<string_view>``\ doesn't provide ``std::size/empty/data``\ | Jacksonville | |Complete| | |
59 | `3010 <https://wg21.link/LWG3010>`__ | [networking.ts] ``uses_executor``\ says "if a type ``T::executor_type``\ exists" | Jacksonville | ||
60 | `3013 <https://wg21.link/LWG3013>`__ | ``(recursive_)directory_iterator``\ construction and traversal should not be ``noexcept``\ | Jacksonville | |Complete| | |
61 | `3014 <https://wg21.link/LWG3014>`__ | More ``noexcept``\ issues with filesystem operations | Jacksonville | |Complete| | |
62 | `3015 <https://wg21.link/LWG3015>`__ | ``copy_options::*unspecified*``\ underspecified | Jacksonville | |Nothing To Do| | |
63 | `3017 <https://wg21.link/LWG3017>`__ | ``list splice``\ functions should use ``addressof``\ | Jacksonville | |Complete| | |
64 | `3020 <https://wg21.link/LWG3020>`__ | [networking.ts] Remove spurious nested ``value_type``\ buffer sequence requirement | Jacksonville | ||
65 | `3026 <https://wg21.link/LWG3026>`__ | ``filesystem::weakly_canonical``\ still defined in terms of ``canonical(p, base)``\ | Jacksonville | |Complete| | |
66 | `3030 <https://wg21.link/LWG3030>`__ | Who shall meet the requirements of ``try_lock``\ ? | Jacksonville | |Nothing To Do| | |
67 | `3034 <https://wg21.link/LWG3034>`__ | P0767R1 breaks previously-standard-layout types | Jacksonville | |Complete| | |
68 | `3035 <https://wg21.link/LWG3035>`__ | ``std::allocator``\ 's constructors should be ``constexpr``\ | Jacksonville | |Complete| | |
69 | `3039 <https://wg21.link/LWG3039>`__ | Unnecessary ``decay``\ in ``thread``\ and ``packaged_task``\ | Jacksonville | |Complete| | |
70 | `3041 <https://wg21.link/LWG3041>`__ | Unnecessary ``decay``\ in ``reference_wrapper``\ | Jacksonville | |Complete| | |
71 | `3042 <https://wg21.link/LWG3042>`__ | ``is_literal_type_v``\ should be inline | Jacksonville | |Complete| | |
72 | `3043 <https://wg21.link/LWG3043>`__ | Bogus postcondition for ``filesystem_error``\ constructor | Jacksonville | |Complete| | |
73 | `3045 <https://wg21.link/LWG3045>`__ | ``atomic<*floating-point*>``\ doesn't have ``value_type``\ or ``difference_type``\ | Jacksonville | ||
74 | `3048 <https://wg21.link/LWG3048>`__ | ``transform_reduce(exec, first1, last1, first2, init)``\ discards execution policy | Jacksonville | ||
75 | `3051 <https://wg21.link/LWG3051>`__ | Floating point classifications were inadvertently changed in P0175 | Jacksonville | |Nothing To Do| | |
76 | `3075 <https://wg21.link/LWG3075>`__ | ``basic_string``\ needs deduction guides from ``basic_string_view``\ | Jacksonville | |Complete| | |
77 | |||||
78 | `2139 <https://wg21.link/LWG2139>`__ | What is a user-defined type? | Rapperswil | ||
79 | `2970 <https://wg21.link/LWG2970>`__ | Return type of std::visit misspecified | Rapperswil | ||
80 | `3058 <https://wg21.link/LWG3058>`__ | Parallel adjacent_difference shouldn't require creating temporaries | Rapperswil | ||
81 | `3062 <https://wg21.link/LWG3062>`__ | Unnecessary decay_t in is_execution_policy_v should be remove_cvref_t | Rapperswil | ||
82 | `3067 <https://wg21.link/LWG3067>`__ | recursive_directory_iterator::pop must invalidate | Rapperswil | |Nothing To Do| | |
83 | `3071 <https://wg21.link/LWG3071>`__ | [networking.ts] read_until still refers to "input sequence" | Rapperswil | |Nothing To Do| | |
84 | `3074 <https://wg21.link/LWG3074>`__ | Non-member functions for valarray should only deduce from the valarray | Rapperswil | ||
85 | `3076 <https://wg21.link/LWG3076>`__ | basic_string CTAD ambiguity | Rapperswil | |Complete| | |
86 | `3079 <https://wg21.link/LWG3079>`__ | LWG 2935 forgot to fix the existing_p overloads of create_directory | Rapperswil | |Nothing To Do| | |
87 | `3080 <https://wg21.link/LWG3080>`__ | Floating point from_chars pattern specification breaks round-tripping | Rapperswil | ||
88 | `3083 <https://wg21.link/LWG3083>`__ | What should ios::iword(-1) do? | Rapperswil | |Nothing To Do| | |
89 | `3094 <https://wg21.link/LWG3094>`__ | [time.duration.io]p4 makes surprising claims about encoding | Rapperswil | ||
90 | `3100 <https://wg21.link/LWG3100>`__ | Unnecessary and confusing "empty span" wording | Rapperswil | |Nothing To Do| | |
91 | `3102 <https://wg21.link/LWG3102>`__ | Clarify span iterator and ``const_iterator`` behavior | Rapperswil | |Complete| | |
92 | `3104 <https://wg21.link/LWG3104>`__ | Fixing duration division | Rapperswil | |Complete| | |
93 | |||||
94 | `2183 <https://wg21.link/LWG2183>`__ | Muddled allocator requirements for ``match_results``\ constructors | San Diego | |Complete| | |
95 | `2184 <https://wg21.link/LWG2184>`__ | Muddled allocator requirements for ``match_results``\ assignments | San Diego | |Complete| | |
96 | `2412 <https://wg21.link/LWG2412>`__ | ``promise::set_value()``\ and ``promise::get_future()``\ should not race | San Diego | ||
97 | `2499 <https://wg21.link/LWG2499>`__ | ``operator>>(basic_istream&, CharT*)``\ makes it hard to avoid buffer overflows | San Diego | Resolved by P0487R1 | |
98 | `2682 <https://wg21.link/LWG2682>`__ | ``filesystem::copy()``\ won't create a symlink to a directory | San Diego | |Nothing To Do| | |
99 | `2697 <https://wg21.link/LWG2697>`__ | [concurr.ts] Behavior of ``future/shared_future``\ unwrapping constructor when given an invalid ``future``\ | San Diego | ||
100 | `2797 <https://wg21.link/LWG2797>`__ | Trait precondition violations | San Diego | Resolved by 1285R0 | |
101 | `2936 <https://wg21.link/LWG2936>`__ | Path comparison is defined in terms of the generic format | San Diego | |Complete| | |
102 | `2943 <https://wg21.link/LWG2943>`__ | Problematic specification of the wide version of ``basic_filebuf::open``\ | San Diego | |Nothing To Do| | |
103 | `2960 <https://wg21.link/LWG2960>`__ | [fund.ts.v3] ``nonesuch``\ is insufficiently useless | San Diego | |Complete| | |
104 | `2995 <https://wg21.link/LWG2995>`__ | ``basic_stringbuf``\ default constructor forbids it from using SSO capacity | San Diego | ||
105 | `2996 <https://wg21.link/LWG2996>`__ | Missing rvalue overloads for ``shared_ptr``\ operations | San Diego | ||
106 | `3008 <https://wg21.link/LWG3008>`__ | ``make_shared``\ (sub)object destruction semantics are not specified | San Diego | ||
107 | `3022 <https://wg21.link/LWG3022>`__ | ``is_convertible<derived*, base*>``\ may lead to ODR | San Diego | Resolved by 1285R0 | |
108 | `3025 <https://wg21.link/LWG3025>`__ | Map-like container deduction guides should use ``pair<Key, T>``\ , not ``pair<const Key, T>``\ | San Diego | |Complete| | |
109 | `3031 <https://wg21.link/LWG3031>`__ | Algorithms and predicates with non-const reference arguments | San Diego | ||
110 | `3037 <https://wg21.link/LWG3037>`__ | ``polymorphic_allocator``\ and incomplete types | San Diego | ||
111 | `3038 <https://wg21.link/LWG3038>`__ | ``polymorphic_allocator::allocate``\ should not allow integer overflow to create vulnerabilities | San Diego | ||
112 | `3054 <https://wg21.link/LWG3054>`__ | ``uninitialized_copy``\ appears to not be able to meet its exception-safety guarantee | San Diego | ||
113 | `3065 <https://wg21.link/LWG3065>`__ | LWG 2989 missed that all ``path``\ 's other operators should be hidden friends as well | San Diego | |Complete| | |
114 | `3096 <https://wg21.link/LWG3096>`__ | ``path::lexically_relative``\ is confused by trailing slashes | San Diego | |Complete| | |
115 | `3116 <https://wg21.link/LWG3116>`__ | ``*OUTERMOST_ALLOC_TRAITS*``\ needs ``remove_reference_t``\ | San Diego | ||
116 | `3122 <https://wg21.link/LWG3122>`__ | ``__cpp_lib_chrono_udls``\ was accidentally dropped | San Diego | |Complete| | |
117 | `3127 <https://wg21.link/LWG3127>`__ | ``basic_osyncstream::rdbuf``\ needs a ````const_cast````\ | San Diego | ||
118 | `3128 <https://wg21.link/LWG3128>`__ | ``strstream::rdbuf``\ needs a ````const_cast````\ | San Diego | |Nothing To Do| | |
119 | `3129 <https://wg21.link/LWG3129>`__ | ``regex_token_iterator``\ constructor uses wrong pointer arithmetic | San Diego | ||
120 | `3130 <https://wg21.link/LWG3130>`__ | |sect|\ [input.output] needs many ``addressof``\ | San Diego | ||
121 | `3131 <https://wg21.link/LWG3131>`__ | ``addressof``\ all the things | San Diego | ||
122 | `3132 <https://wg21.link/LWG3132>`__ | Library needs to ban macros named ``expects``\ or ``ensures``\ | San Diego | |Nothing To Do| | |
123 | `3134 <https://wg21.link/LWG3134>`__ | [fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961 | San Diego | Resolved by P1210R0 | |
124 | `3137 <https://wg21.link/LWG3137>`__ | Header for ``__cpp_lib_to_chars``\ | San Diego | |Complete| | |
125 | `3145 <https://wg21.link/LWG3145>`__ | ``file_clock``\ breaks ABI for C++17 implementations | San Diego | |Complete| | |
126 | `3147 <https://wg21.link/LWG3147>`__ | Definitions of "likely" and "unlikely" are likely to cause problems | San Diego | ||
127 | `3148 <https://wg21.link/LWG3148>`__ | ``<concepts>``\ should be freestanding | San Diego | ||
128 | `3153 <https://wg21.link/LWG3153>`__ | ``Common``\ and ``common_type``\ have too little in common | San Diego | ||
129 | `3154 <https://wg21.link/LWG3154>`__ | ``Common``\ and ``CommonReference``\ have a common defect | San Diego | ||
130 | |||||
131 | `3012 <https://wg21.link/LWG3012>`__ | ``atomic<T>``\ is unimplementable for non-``is_trivially_copy_constructible T``\ | Kona | ||
132 | `3040 <https://wg21.link/LWG3040>`__ | ``basic_string_view::starts_with``\ *Effects* are incorrect | Kona | |Complete| | |
133 | `3077 <https://wg21.link/LWG3077>`__ | ``(push|emplace)_back``\ should invalidate the ``end``\ iterator | Kona | |Nothing To Do| | |
134 | `3087 <https://wg21.link/LWG3087>`__ | One final ``&x``\ in |sect|\ [list.ops] | Kona | |Nothing To Do| | |
135 | `3101 <https://wg21.link/LWG3101>`__ | ``span``\ 's ``Container``\ constructors need another constraint | Kona | |Complete| | |
136 | `3112 <https://wg21.link/LWG3112>`__ | ``system_error``\ and ``filesystem_error``\ constructors taking a ``string``\ may not be able to meet their postconditions | Kona | ||
137 | `3119 <https://wg21.link/LWG3119>`__ | Program-definedness of closure types | Kona | |Nothing To Do| | |
138 | `3133 <https://wg21.link/LWG3133>`__ | Modernizing numeric type requirements | Kona | ||
139 | `3144 <https://wg21.link/LWG3144>`__ | ``span``\ does not have a ````const_pointer````\ typedef | Kona | |Complete| | |
140 | `3173 <https://wg21.link/LWG3173>`__ | Enable CTAD for *``ref-view``*\ | Kona | ||
141 | `3179 <https://wg21.link/LWG3179>`__ | ``subrange``\ should always model ``Range``\ | Kona | ||
142 | `3180 <https://wg21.link/LWG3180>`__ | Inconsistently named return type for ``ranges::minmax_element``\ | Kona | ||
143 | `3182 <https://wg21.link/LWG3182>`__ | Specification of ``Same``\ could be clearer | Kona | ||
144 | |||||
145 | `2899 <https://wg21.link/LWG2899>`__ | ``is_(nothrow_)move_constructible``\ and ``tuple``\ , ``optional``\ and ``unique_ptr``\ | Cologne | ||
146 | `3055 <https://wg21.link/LWG3055>`__ | ``path::operator+=(*single-character*)``\ misspecified | Cologne | |Complete| | 7.0 |
147 | `3158 <https://wg21.link/LWG3158>`__ | ``tuple(allocator_arg_t, const Alloc&)``\ should be conditionally explicit | Cologne | ||
148 | `3169 <https://wg21.link/LWG3169>`__ | ``ranges``\ permutation generators discard useful information | Cologne | ||
149 | `3183 <https://wg21.link/LWG3183>`__ | Normative permission to specialize Ranges variable templates | Cologne | ||
150 | `3184 <https://wg21.link/LWG3184>`__ | Inconsistencies in ``bind_front``\ wording | Cologne | ||
151 | `3185 <https://wg21.link/LWG3185>`__ | Uses-allocator construction functions missing ``constexpr``\ and ``noexcept``\ | Cologne | ||
152 | `3186 <https://wg21.link/LWG3186>`__ | ``ranges``\ removal, partition, and ``partial_sort_copy``\ algorithms discard useful information | Cologne | ||
153 | `3187 <https://wg21.link/LWG3187>`__ | `P0591R4 <https://wg21.link/p0591r4>`__ reverted DR 2586 fixes to ``scoped_allocator_adaptor::construct()``\ | Cologne | ||
154 | `3191 <https://wg21.link/LWG3191>`__ | ``std::ranges::shuffle``\ synopsis does not match algorithm definition | Cologne | ||
155 | `3196 <https://wg21.link/LWG3196>`__ | ``std::optional<T>``\ is ill-formed is ``T``\ is an array | Cologne | |Complete| | |
156 | `3198 <https://wg21.link/LWG3198>`__ | Bad constraint on ``std::span::span()``\ | Cologne | |Complete| | |
157 | `3199 <https://wg21.link/LWG3199>`__ | ``istream >> bitset<0>``\ fails | Cologne | ||
158 | `3202 <https://wg21.link/LWG3202>`__ | P0318R1 was supposed to be revised | Cologne | |Complete| | |
159 | `3206 <https://wg21.link/LWG3206>`__ | ``year_month_day``\ conversion to ``sys_days``\ uses not-existing member function | Cologne | |Complete| | |
160 | `3208 <https://wg21.link/LWG3208>`__ | ``Boolean``\ 's expression requirements are ordered inconsistently | Cologne | |Nothing To Do| | |
161 | `3209 <https://wg21.link/LWG3209>`__ | Expression in ``year::ok()``\ returns clause is ill-formed | Cologne | |Complete| | |
162 | |||||
163 | `3231 <https://wg21.link/LWG3231>`__ | ``year_month_day_last::day``\ specification does not cover ``!ok()``\ values | Belfast | |Nothing To Do| | |
164 | `3225 <https://wg21.link/LWG3225>`__ | ``zoned_time``\ converting constructor shall not be ``noexcept``\ | Belfast | ||
165 | `3190 <https://wg21.link/LWG3190>`__ | ``std::allocator::allocate``\ sometimes returns too little storage | Belfast | ||
166 | `3218 <https://wg21.link/LWG3218>`__ | Modifier for ``%d``\ parse flag does not match POSIX and ``format``\ specification | Belfast | ||
167 | `3224 <https://wg21.link/LWG3224>`__ | ``zoned_time``\ constructor from ``TimeZonePtr``\ does not specify initialization of ``tp_``\ | Belfast | ||
168 | `3230 <https://wg21.link/LWG3230>`__ | Format specifier ``%y/%Y``\ is missing locale alternative versions | Belfast | ||
169 | `3232 <https://wg21.link/LWG3232>`__ | Inconsistency in ``zoned_time``\ deduction guides | Belfast | ||
170 | `3222 <https://wg21.link/LWG3222>`__ | P0574R1 introduced preconditions on non-existent parameters | Belfast | ||
171 | `3221 <https://wg21.link/LWG3221>`__ | Result of ``year_month``\ arithmetic with ``months``\ is ambiguous | Belfast | |Complete| | 8.0 |
172 | `3235 <https://wg21.link/LWG3235>`__ | ``parse``\ manipulator without abbreviation is not callable | Belfast | ||
173 | `3246 <https://wg21.link/LWG3246>`__ | What are the constraints on the template parameter of ``basic_format_arg``\ ? | Belfast | ||
174 | `3253 <https://wg21.link/LWG3253>`__ | ``basic_syncbuf::basic_syncbuf()``\ should not be explicit | Belfast | ||
175 | `3245 <https://wg21.link/LWG3245>`__ | Unnecessary restriction on ``'%p'``\ parse specifier | Belfast | ||
176 | `3244 <https://wg21.link/LWG3244>`__ | Constraints for ``Source``\ in |sect|\ [fs.path.req] insufficiently constrainty | Belfast | ||
177 | `3241 <https://wg21.link/LWG3241>`__ | ``chrono-spec``\ grammar ambiguity in |sect|\ [time.format] | Belfast | ||
178 | `3257 <https://wg21.link/LWG3257>`__ | Missing feature testing macro update from P0858 | Belfast | ||
179 | `3256 <https://wg21.link/LWG3256>`__ | Feature testing macro for ``constexpr``\ algorithms | Belfast | |Complete| | 13.0 |
180 | `3273 <https://wg21.link/LWG3273>`__ | Specify ``weekday_indexed``\ to range of ``[0, 7]``\ | Belfast | ||
181 | `3070 <https://wg21.link/LWG3070>`__ | ``path::lexically_relative``\ causes surprising results if a filename can also be a *root-name* | Belfast | ||
182 | `3266 <https://wg21.link/LWG3266>`__ | ``to_chars(bool)``\ should be deleted | Belfast | ||
183 | `3272 <https://wg21.link/LWG3272>`__ | ``%I%p``\ should parse/format ``duration``\ since midnight | Belfast | ||
184 | `3259 <https://wg21.link/LWG3259>`__ | The definition of *constexpr iterators* should be adjusted | Belfast | ||
185 | `3103 <https://wg21.link/LWG3103>`__ | Errors in taking subview of ``span``\ should be ill-formed where possible | Belfast | ||
186 | `3274 <https://wg21.link/LWG3274>`__ | Missing feature test macro for ``<span>``\ | Belfast | ||
187 | `3276 <https://wg21.link/LWG3276>`__ | Class ``split_view::outer_iterator::value_type``\ should inherit from ``view_interface``\ | Belfast | ||
188 | `3277 <https://wg21.link/LWG3277>`__ | Pre-increment on prvalues is not a requirement of ``weakly_incrementable``\ | Belfast | ||
189 | `3149 <https://wg21.link/LWG3149>`__ | ``DefaultConstructible``\ should require default initialization | Belfast | |Complete| | 13.0 |
190 | |||||
191 | `1203 <https://wg21.link/LWG1203>`__ | More useful rvalue stream insertion | Prague | |Complete| | 12.0 |
192 | `2859 <https://wg21.link/LWG2859>`__ | Definition of *reachable* in [ptr.launder] misses pointer arithmetic from pointer-interconvertible object | Prague | ||
193 | `3018 <https://wg21.link/LWG3018>`__ | ``shared_ptr``\ of function type | Prague | ||
194 | `3050 <https://wg21.link/LWG3050>`__ | Conversion specification problem in ``chrono::duration``\ constructor | Prague | ||
195 | `3141 <https://wg21.link/LWG3141>`__ | ``CopyConstructible``\ doesn't preserve source values | Prague | ||
196 | `3150 <https://wg21.link/LWG3150>`__ | ``UniformRandomBitGenerator``\ should validate ``min``\ and ``max``\ | Prague | ||
197 | `3175 <https://wg21.link/LWG3175>`__ | The ``CommonReference``\ requirement of concept ``SwappableWith``\ is not satisfied in the example | Prague | ||
198 | `3194 <https://wg21.link/LWG3194>`__ | ``ConvertibleTo``\ prose does not match code | Prague | ||
199 | `3200 <https://wg21.link/LWG3200>`__ | ``midpoint``\ should not constrain ``T``\ is complete | Prague | |Nothing To Do| | |
200 | `3201 <https://wg21.link/LWG3201>`__ | ``lerp``\ should be marked as ``noexcept``\ | Prague | |Complete| | |
201 | `3226 <https://wg21.link/LWG3226>`__ | ``zoned_time``\ constructor from ``string_view``\ should accept ``zoned_time<Duration2, TimeZonePtr2>``\ | Prague | ||
202 | `3233 <https://wg21.link/LWG3233>`__ | Broken requirements for ``shared_ptr``\ converting constructors | Prague | ||
203 | `3237 <https://wg21.link/LWG3237>`__ | LWG 3038 and 3190 have inconsistent PRs | Prague | ||
204 | `3238 <https://wg21.link/LWG3238>`__ | Insufficiently-defined behavior of ``std::function``\ deduction guides | Prague | ||
205 | `3242 <https://wg21.link/LWG3242>`__ | ``std::format``\ : missing rules for ``arg-id``\ in ``width``\ and ``precision``\ | Prague | ||
206 | `3243 <https://wg21.link/LWG3243>`__ | ``std::format``\ and negative zeroes | Prague | ||
207 | `3247 <https://wg21.link/LWG3247>`__ | ``ranges::iter_move``\ should perform ADL-only lookup of ``iter_move``\ | Prague | ||
208 | `3248 <https://wg21.link/LWG3248>`__ | ``std::format``\ ``#b``\ , ``#B``\ , ``#o``\ , ``#x``\ , and ``#X``\ presentation types misformat negative numbers | Prague | ||
209 | `3250 <https://wg21.link/LWG3250>`__ | ``std::format``\ : ``#``\ (alternate form) for NaN and inf | Prague | ||
210 | `3251 <https://wg21.link/LWG3251>`__ | Are ``std::format``\ alignment specifiers applied to string arguments? | Prague | ||
211 | `3252 <https://wg21.link/LWG3252>`__ | Parse locale's aware modifiers for commands are not consistent with POSIX spec | Prague | ||
212 | `3254 <https://wg21.link/LWG3254>`__ | Strike ``stop_token``\ 's ``operator!=``\ | Prague | ||
213 | `3255 <https://wg21.link/LWG3255>`__ | ``span``\ 's ``array``\ constructor is too strict | Prague | |Complete| | |
214 | `3260 <https://wg21.link/LWG3260>`__ | ``year_month*``\ arithmetic rejects durations convertible to years | Prague | ||
215 | `3262 <https://wg21.link/LWG3262>`__ | Formatting of negative durations is not specified | Prague | ||
216 | `3264 <https://wg21.link/LWG3264>`__ | ``sized_range``\ and ``ranges::size``\ redundantly use ``disable_sized_range``\ | Prague | ||
217 | `3269 <https://wg21.link/LWG3269>`__ | Parse manipulators do not specify the result of the extraction from stream | Prague | ||
218 | `3270 <https://wg21.link/LWG3270>`__ | Parsing and formatting ``%j``\ with ``duration``\ s | Prague | ||
219 | `3280 <https://wg21.link/LWG3280>`__ | View converting constructors can cause constraint recursion and are unneeded | Prague | ||
220 | `3281 <https://wg21.link/LWG3281>`__ | Conversion from ``*pair-like*``\ types to ``subrange``\ is a silent semantic promotion | Prague | ||
221 | `3282 <https://wg21.link/LWG3282>`__ | ``subrange``\ converting constructor should disallow derived to base conversions | Prague | ||
222 | `3284 <https://wg21.link/LWG3284>`__ | ``random_access_iterator``\ semantic constraints accidentally promote difference type using unary negate | Prague | ||
223 | `3285 <https://wg21.link/LWG3285>`__ | The type of a customization point object shall satisfy ``semiregular``\ | Prague | ||
224 | `3286 <https://wg21.link/LWG3286>`__ | ``ranges::size``\ is not required to be valid after a call to ``ranges::begin``\ on an input range | Prague | ||
225 | `3291 <https://wg21.link/LWG3291>`__ | ``iota_view::iterator``\ has the wrong ``iterator_category``\ | Prague | ||
226 | `3292 <https://wg21.link/LWG3292>`__ | ``iota_view``\ is under-constrained | Prague | ||
227 | `3294 <https://wg21.link/LWG3294>`__ | ``zoned_time``\ deduction guides misinterprets ``string``\ /``char*``\ | Prague | ||
228 | `3296 <https://wg21.link/LWG3296>`__ | Inconsistent default argument for ``basic_regex<>::assign``\ | Prague | |Complete| | |
229 | `3299 <https://wg21.link/LWG3299>`__ | Pointers don't need customized iterator behavior | Prague | ||
230 | `3300 <https://wg21.link/LWG3300>`__ | Non-array ``ssize``\ overload is underconstrained | Prague | ||
231 | `3301 <https://wg21.link/LWG3301>`__ | ``transform_view::iterator``\ has incorrect ``iterator_category``\ | Prague | ||
232 | `3302 <https://wg21.link/LWG3302>`__ | Range adaptor objects ``keys``\ and ``values``\ are unspecified | Prague | ||
233 | `3303 <https://wg21.link/LWG3303>`__ | Bad "``constexpr``\ " marker for ``destroy/destroy_n``\ | Prague | ||
234 | `3304 <https://wg21.link/LWG3304>`__ | Allocate functions of ``std::polymorphic_allocator``\ should require ``[[nodiscard]]``\ | Prague | ||
235 | `3307 <https://wg21.link/LWG3307>`__ | ``std::allocator<void>().allocate(n)``\ | Prague | ||
236 | `3310 <https://wg21.link/LWG3310>`__ | Replace ``SIZE_MAX``\ with ``numeric_limits<size_t>::max()``\ | Prague | ||
237 | `3313 <https://wg21.link/LWG3313>`__ | ``join_view::iterator::operator--``\ is incorrectly constrained | Prague | ||
238 | `3314 <https://wg21.link/LWG3314>`__ | Is stream insertion behavior locale dependent when ``Period::type``\ is ``micro``\ ? | Prague | ||
239 | `3315 <https://wg21.link/LWG3315>`__ | Correct Allocator Default Behavior | Prague | ||
240 | `3316 <https://wg21.link/LWG3316>`__ | Correctly define epoch for ``utc_clock``\ / ``utc_timepoint``\ | Prague | ||
241 | `3317 <https://wg21.link/LWG3317>`__ | Incorrect ``operator<<``\ for floating-point durations | Prague | ||
242 | `3318 <https://wg21.link/LWG3318>`__ | Clarify whether clocks can represent time before their epoch | Prague | ||
243 | `3319 <https://wg21.link/LWG3319>`__ | Properly reference specification of IANA time zone database | Prague | ||
244 | `3320 <https://wg21.link/LWG3320>`__ | ``span::cbegin/cend``\ methods produce different results than ``std::[ranges::]cbegin/cend``\ | Prague | |Complete| | |
245 | `3321 <https://wg21.link/LWG3321>`__ | ``uninitialized_construct_using_allocator``\ should use ``construct_at``\ | Prague | ||
246 | `3323 <https://wg21.link/LWG3323>`__ | ``*has-tuple-element*``\ helper concept needs ``convertible_to``\ | Prague | ||
247 | `3324 <https://wg21.link/LWG3324>`__ | Special-case ``std::strong/weak/partial_order``\ for pointers | Prague | ||
248 | `3325 <https://wg21.link/LWG3325>`__ | Constrain return type of transformation function for ``transform_view``\ | Prague | ||
249 | `3326 <https://wg21.link/LWG3326>`__ | ``enable_view``\ has false positives | Prague | ||
250 | `3327 <https://wg21.link/LWG3327>`__ | Format alignment specifiers vs. text direction | Prague | ||
251 | `3328 <https://wg21.link/LWG3328>`__ | Clarify that ``std::string``\ is not good for UTF-8 | Prague | ||
252 | `3329 <https://wg21.link/LWG3329>`__ | ``totally_ordered_with``\ both directly and indirectly requires ``common_reference_with``\ | Prague | ||
253 | `3330 <https://wg21.link/LWG3330>`__ | Include ``<compare>``\ from most library headers | Prague | ||
254 | `3331 <https://wg21.link/LWG3331>`__ | Define ``totally_ordered/_with``\ in terms of ``*partially-ordered-with*``\ | Prague | ||
255 | `3332 <https://wg21.link/LWG3332>`__ | Issue in |sect|\ [time.format] | Prague | ||
256 | `3334 <https://wg21.link/LWG3334>`__ | ``basic_osyncstream``\ move assignment and destruction calls ``basic_syncbuf::emit()``\ twice | Prague | ||
257 | `3335 <https://wg21.link/LWG3335>`__ | Resolve C++20 NB comments US 273 and GB 274 | Prague | ||
258 | `3338 <https://wg21.link/LWG3338>`__ | Rename ``default_constructible``\ to ``default_initializable``\ | Prague | ||
259 | `3340 <https://wg21.link/LWG3340>`__ | Formatting functions should throw on argument/format string mismatch in |sect|\ [format.functions] | Prague | ||
260 | `3346 <https://wg21.link/LWG3346>`__ | ``pair``\ and ``tuple``\ copy and move constructor have backwards specification | Prague | ||
261 | `3347 <https://wg21.link/LWG3347>`__ | ``std::pair<T, U>``\ now requires ``T``\ and ``U``\ to be less-than-comparable | Prague | ||
262 | `3348 <https://wg21.link/LWG3348>`__ | ``__cpp_lib_unwrap_ref``\ in wrong header | Prague | ||
263 | `3349 <https://wg21.link/LWG3349>`__ | Missing ``__cpp_lib_constexpr_complex``\ for P0415R1 | Prague | ||
264 | `3350 <https://wg21.link/LWG3350>`__ | Simplify return type of ``lexicographical_compare_three_way``\ | Prague | ||
265 | `3351 <https://wg21.link/LWG3351>`__ | ``ranges::enable_safe_range``\ should not be constrained | Prague | ||
266 | `3352 <https://wg21.link/LWG3352>`__ | ``strong_equality``\ isn't a thing | Prague | ||
267 | `3354 <https://wg21.link/LWG3354>`__ | ``has_strong_structural_equality``\ has a meaningless definition | Prague | ||
268 | `3355 <https://wg21.link/LWG3355>`__ | The memory algorithms should support move-only input iterators introduced by P1207 | Prague | ||
269 | `3356 <https://wg21.link/LWG3356>`__ | ``__cpp_lib_nothrow_convertible``\ should be ``__cpp_lib_is_nothrow_convertible``\ | Prague | ||
270 | `3358 <https://wg21.link/LWG3358>`__ | |sect|\ [span.cons] is mistaken that ``to_address``\ can throw | Prague | ||
271 | `3359 <https://wg21.link/LWG3359>`__ | ``<chrono>``\ leap second support should allow for negative leap seconds | Prague | ||
272 | `3360 <https://wg21.link/LWG3360>`__ | ``three_way_comparable_with``\ is inconsistent with similar concepts | Prague | ||
273 | `3362 <https://wg21.link/LWG3362>`__ | Strike ``stop_source``\ 's ``operator!=``\ | Prague | ||
274 | `3363 <https://wg21.link/LWG3363>`__ | ``drop_while_view``\ should opt-out of ``sized_range``\ | Prague | ||
275 | `3364 <https://wg21.link/LWG3364>`__ | Initialize data members of ranges and their iterators | Prague | ||
276 | `3367 <https://wg21.link/LWG3367>`__ | Integer-class conversions should not throw | Prague | ||
277 | `3369 <https://wg21.link/LWG3369>`__ | ``span``\ 's deduction-guide for built-in arrays doesn't work | Prague | ||
278 | `3371 <https://wg21.link/LWG3371>`__ | ``visit_format_arg``\ and ``make_format_args``\ are not hidden friends | Prague | ||
279 | `3372 <https://wg21.link/LWG3372>`__ | ``vformat_to``\ should not try to deduce ``Out``\ twice | Prague | ||
280 | `3373 <https://wg21.link/LWG3373>`__ | ``{to,from}_chars_result``\ and ``format_to_n_result``\ need the "we really mean what we say" wording | Prague | ||
281 | `3374 <https://wg21.link/LWG3374>`__ | P0653 + P1006 should have made the other ``std::to_address``\ overload ``constexpr``\ | Prague | |Complete| | 12.0 |
282 | `3375 <https://wg21.link/LWG3375>`__ | ``decay``\ in ``viewable_range``\ should be ``remove_cvref``\ | Prague | ||
283 | `3377 <https://wg21.link/LWG3377>`__ | ``elements_view::iterator``\ befriends a specialization of itself | Prague | ||
284 | `3379 <https://wg21.link/LWG3379>`__ | "``safe``\ " in several library names is misleading | Prague | ||
285 | `3380 <https://wg21.link/LWG3380>`__ | ``common_type``\ and comparison categories | Prague | ||
286 | `3381 <https://wg21.link/LWG3381>`__ | ``begin``\ and ``data``\ must agree for ``contiguous_range``\ | Prague | ||
287 | `3382 <https://wg21.link/LWG3382>`__ | NTTP for ``pair``\ and ``array``\ | Prague | ||
288 | `3383 <https://wg21.link/LWG3383>`__ | |sect|\ [time.zone.leap.nonmembers] ``sys_seconds``\ should be replaced with ``seconds``\ | Prague | ||
289 | `3384 <https://wg21.link/LWG3384>`__ | ``transform_view::*sentinel*``\ has an incorrect ``operator-``\ | Prague | ||
290 | `3385 <https://wg21.link/LWG3385>`__ | ``common_iterator``\ is not sufficiently constrained for non-copyable iterators | Prague | ||
291 | `3387 <https://wg21.link/LWG3387>`__ | |sect|\ [range.reverse.view] ``reverse_view<V>``\ unintentionally requires ``range<const V>``\ | Prague | ||
292 | `3388 <https://wg21.link/LWG3388>`__ | ``view``\ iterator types have ill-formed ``<=>``\ operators | Prague | ||
293 | `3389 <https://wg21.link/LWG3389>`__ | A move-only iterator still does not have a ``counted_iterator``\ | Prague | ||
294 | `3390 <https://wg21.link/LWG3390>`__ | ``make_move_iterator()``\ cannot be used to construct a ``move_iterator``\ for a move-only iterator | Prague | ||
295 | `3393 <https://wg21.link/LWG3393>`__ | Missing/incorrect feature test macro for coroutines | Prague | ||
296 | `3395 <https://wg21.link/LWG3395>`__ | Definition for three-way comparison needs to be updated (US 152) | Prague | ||
297 | `3396 <https://wg21.link/LWG3396>`__ | Clarify point of reference for ``source_location::current()``\ (DE 169) | Prague | ||
298 | `3397 <https://wg21.link/LWG3397>`__ | ``ranges::basic_istream_view::iterator``\ should not provide ``iterator_category``\ | Prague | ||
299 | `3398 <https://wg21.link/LWG3398>`__ | ``tuple_element_t``\ is also wrong for ``const subrange``\ | Prague |