forked from OSchip/llvm-project
17 KiB
17 KiB
1 | Issue # | Issue Name | Meeting | Status |
---|---|---|---|---|
2 | `1214 <https://wg21.link/lwg1214>`__ | Insufficient/inconsistent key immutability requirements for associative containers | Kona | |Complete| |
3 | `2009 <https://wg21.link/lwg2009>`__ | Reporting out-of-bound values on numeric string conversions | Kona | |Complete| |
4 | `2010 <https://wg21.link/lwg2010>`__ | ``is_*``\ traits for binding operations can't be meaningfully specialized | Kona | |Complete| |
5 | `2015 <https://wg21.link/lwg2015>`__ | Incorrect pre-conditions for some type traits | Kona | |Complete| |
6 | `2021 <https://wg21.link/lwg2021>`__ | Further incorrect usages of result_of | Kona | |Complete| |
7 | `2028 <https://wg21.link/lwg2028>`__ | messages_base::catalog overspecified | Kona | |Complete| |
8 | `2033 <https://wg21.link/lwg2033>`__ | Preconditions of reserve, shrink_to_fit, and resize functions | Kona | |Complete| |
9 | `2039 <https://wg21.link/lwg2039>`__ | Issues with std::reverse and std::copy_if | Kona | |Complete| |
10 | `2044 <https://wg21.link/lwg2044>`__ | No definition of "Stable" for copy algorithms | Kona | |Complete| |
11 | `2045 <https://wg21.link/lwg2045>`__ | forward_list::merge and forward_list::splice_after with unequal allocators | Kona | |Complete| |
12 | `2047 <https://wg21.link/lwg2047>`__ | Incorrect "mixed" move-assignment semantics of unique_ptr | Kona | |Complete| |
13 | `2050 <https://wg21.link/lwg2050>`__ | Unordered associative containers do not use allocator_traits to define member types | Kona | |Complete| |
14 | `2053 <https://wg21.link/lwg2053>`__ | Errors in regex bitmask types | Kona | |Complete| |
15 | `2061 <https://wg21.link/lwg2061>`__ | make_move_iterator and arrays | Kona | |Complete| |
16 | `2064 <https://wg21.link/lwg2064>`__ | More noexcept issues in basic_string | Kona | |Complete| |
17 | `2065 <https://wg21.link/lwg2065>`__ | Minimal allocator interface | Kona | |Complete| |
18 | `2067 <https://wg21.link/lwg2067>`__ | packaged_task should have deleted copy c'tor with const parameter | Kona | |Complete| |
19 | `2069 <https://wg21.link/lwg2069>`__ | Inconsistent exception spec for basic_string move constructor | Kona | |Complete| |
20 | `2096 <https://wg21.link/lwg2096>`__ | Incorrect constraints of future::get in regard to MoveAssignable | Kona | |Complete| |
21 | `2102 <https://wg21.link/lwg2102>`__ | Why is std::launch an implementation-defined type? | Kona | |Complete| |
22 | ||||
23 | `2071 <https://wg21.link/lwg2071>`__ | std::valarray move-assignment | Portland | |Complete| |
24 | `2074 <https://wg21.link/lwg2074>`__ | Off by one error in std::reverse_copy | Portland | |Complete| |
25 | `2081 <https://wg21.link/lwg2081>`__ | Allocator requirements should include CopyConstructible | Portland | |Complete| |
26 | `2083 <https://wg21.link/lwg2083>`__ | const-qualification on weak_ptr::owner_before | Portland | |Complete| |
27 | `2086 <https://wg21.link/lwg2086>`__ | Overly generic type support for math functions | Portland | |Complete| |
28 | `2099 <https://wg21.link/lwg2099>`__ | Unnecessary constraints of va_start() usage | Portland | |Complete| |
29 | `2103 <https://wg21.link/lwg2103>`__ | std::allocator_traits<std::allocator<T>>::propagate_on_container_move_assignment | Portland | |Complete| |
30 | `2105 <https://wg21.link/lwg2105>`__ | Inconsistent requirements on ``const_iterator``'s value_type | Portland | |Complete| |
31 | `2110 <https://wg21.link/lwg2110>`__ | remove can't swap but note says it might | Portland | |Complete| |
32 | `2123 <https://wg21.link/lwg2123>`__ | merge() allocator requirements for lists versus forward lists | Portland | |Complete| |
33 | `2005 <https://wg21.link/lwg2005>`__ | unordered_map::insert(T&&) protection should apply to map too | Portland | |Complete| |
34 | `2011 <https://wg21.link/lwg2011>`__ | Unexpected output required of strings | Portland | |Complete| |
35 | `2048 <https://wg21.link/lwg2048>`__ | Unnecessary mem_fn overloads | Portland | |Complete| |
36 | `2049 <https://wg21.link/lwg2049>`__ | ``is_destructible``\ is underspecified | Portland | |Complete| |
37 | `2056 <https://wg21.link/lwg2056>`__ | future_errc enums start with value 0 (invalid value for broken_promise) | Portland | |Complete| |
38 | `2058 <https://wg21.link/lwg2058>`__ | valarray and begin/end | Portland | |Complete| |
39 | ||||
40 | `2091 <https://wg21.link/lwg2091>`__ | Misplaced effect in m.try_lock_for() | Bristol | |Complete| |
41 | `2092 <https://wg21.link/lwg2092>`__ | Vague Wording for condition_variable_any | Bristol | |Complete| |
42 | `2093 <https://wg21.link/lwg2093>`__ | Throws clause of condition_variable::wait with predicate | Bristol | |Complete| |
43 | `2094 <https://wg21.link/lwg2094>`__ | duration conversion overflow shouldn't participate in overload resolution | Bristol | |Complete| |
44 | `2122 <https://wg21.link/lwg2122>`__ | merge() stability for lists versus forward lists | Bristol | |Complete| |
45 | `2128 <https://wg21.link/lwg2128>`__ | Absence of global functions cbegin/cend | Bristol | |Complete| |
46 | `2145 <https://wg21.link/lwg2145>`__ | error_category default constructor | Bristol | |Complete| |
47 | `2147 <https://wg21.link/lwg2147>`__ | Unclear hint type in Allocator's allocate function | Bristol | |Complete| |
48 | `2148 <https://wg21.link/lwg2148>`__ | Hashing enums should be supported directly by std::hash | Bristol | |Complete| |
49 | `2149 <https://wg21.link/lwg2149>`__ | Concerns about 20.8/5 | Bristol | |Complete| |
50 | `2162 <https://wg21.link/lwg2162>`__ | allocator_traits::max_size missing noexcept | Bristol | |Complete| |
51 | `2163 <https://wg21.link/lwg2163>`__ | nth_element requires inconsistent post-conditions | Bristol | |Complete| |
52 | `2169 <https://wg21.link/lwg2169>`__ | Missing reset() requirements in unique_ptr specialization | Bristol | |Complete| |
53 | `2172 <https://wg21.link/lwg2172>`__ | Does ``atomic_compare_exchange_*``\ accept v == nullptr arguments? | Bristol | |Complete| |
54 | `2080 <https://wg21.link/lwg2080>`__ | Specify when once_flag becomes invalid | Bristol | |Complete| |
55 | `2098 <https://wg21.link/lwg2098>`__ | promise throws clauses | Bristol | |Complete| |
56 | `2109 <https://wg21.link/lwg2109>`__ | Incorrect requirements for hash specializations | Bristol | |Complete| |
57 | `2130 <https://wg21.link/lwg2130>`__ | missing ordering constraints for fences | Bristol | |Complete| |
58 | `2138 <https://wg21.link/lwg2138>`__ | atomic_flag::clear ordering constraints | Bristol | |Complete| |
59 | `2140 <https://wg21.link/lwg2140>`__ | notify_all_at_thread_exit synchronization | Bristol | |Complete| |
60 | `2144 <https://wg21.link/lwg2144>`__ | Missing noexcept specification in type_index | Bristol | |Complete| |
61 | `2174 <https://wg21.link/lwg2174>`__ | wstring_convert::converted() should be noexcept | Bristol | |Complete| |
62 | `2175 <https://wg21.link/lwg2175>`__ | string_convert and wbuffer_convert validity | Bristol | |Complete| |
63 | `2176 <https://wg21.link/lwg2176>`__ | Special members for wstring_convert and wbuffer_convert | Bristol | |Complete| |
64 | `2177 <https://wg21.link/lwg2177>`__ | Requirements on Copy/MoveInsertable | Bristol | |Complete| |
65 | `2185 <https://wg21.link/lwg2185>`__ | Missing throws clause for future/shared_future::wait_for/wait_until | Bristol | |Complete| |
66 | `2187 <https://wg21.link/lwg2187>`__ | vector<bool> is missing emplace and emplace_back member functions | Bristol | |Complete| |
67 | `2190 <https://wg21.link/lwg2190>`__ | ordering of condition variable operations, reflects Posix discussion | Bristol | |Complete| |
68 | `2196 <https://wg21.link/lwg2196>`__ | Specification of ``is_*[copy/move]_[constructible/assignable]``\ unclear for non-referencable types | Bristol | |Complete| |
69 | `2197 <https://wg21.link/lwg2197>`__ | Specification of ``is_[un]signed``\ unclear for non-arithmetic types | Bristol | |Complete| |
70 | `2200 <https://wg21.link/lwg2200>`__ | Data race avoidance for all containers, not only for sequences | Bristol | |Complete| |
71 | `2203 <https://wg21.link/lwg2203>`__ | scoped_allocator_adaptor uses wrong argument types for piecewise construction | Bristol | |Complete| |
72 | `2207 <https://wg21.link/lwg2207>`__ | basic_string::at should not have a Requires clause | Bristol | |Complete| |
73 | `2209 <https://wg21.link/lwg2209>`__ | assign() overspecified for sequence containers | Bristol | |Complete| |
74 | `2210 <https://wg21.link/lwg2210>`__ | Missing allocator-extended constructor for allocator-aware containers | Bristol | |Complete| |
75 | `2211 <https://wg21.link/lwg2211>`__ | Replace ambiguous use of "Allocator" in container requirements | Bristol | |Complete| |
76 | `2222 <https://wg21.link/lwg2222>`__ | Inconsistency in description of forward_list::splice_after single-element overload | Bristol | |Complete| |
77 | `2225 <https://wg21.link/lwg2225>`__ | Unrealistic header inclusion checks required | Bristol | |Complete| |
78 | `2229 <https://wg21.link/lwg2229>`__ | Standard code conversion facets underspecified | Bristol | |Complete| |
79 | `2231 <https://wg21.link/lwg2231>`__ | DR 704 removes complexity guarantee for clear() | Bristol | |Complete| |
80 | `2235 <https://wg21.link/lwg2235>`__ | Undefined behavior without proper requirements on basic_string constructors | Bristol | |Complete| |
81 | ||||
82 | `2141 <https://wg21.link/lwg2141>`__ | common_type trait produces reference types | Chicago | |Complete| |
83 | `2246 <https://wg21.link/lwg2246>`__ | unique_ptr assignment effects w.r.t. deleter | Chicago | |Complete| |
84 | `2247 <https://wg21.link/lwg2247>`__ | Type traits and std::nullptr_t | Chicago | |Complete| |
85 | `2085 <https://wg21.link/lwg2085>`__ | Wrong description of effect 1 of basic_istream::ignore | Chicago | |Complete| |
86 | `2087 <https://wg21.link/lwg2087>`__ | iostream_category() and noexcept | Chicago | |Complete| |
87 | `2143 <https://wg21.link/lwg2143>`__ | ios_base::xalloc should be thread-safe | Chicago | |Complete| |
88 | `2150 <https://wg21.link/lwg2150>`__ | Unclear specification of find_end | Chicago | |Complete| |
89 | `2180 <https://wg21.link/lwg2180>`__ | Exceptions from std::seed_seq operations | Chicago | |Complete| |
90 | `2194 <https://wg21.link/lwg2194>`__ | Impossible container requirements for adaptor types | Chicago | |Complete| |
91 | `2013 <https://wg21.link/lwg2013>`__ | Do library implementers have the freedom to add constexpr? | Chicago | |Complete| |
92 | `2018 <https://wg21.link/lwg2018>`__ | regex_traits::isctype Returns clause is wrong | Chicago | |Complete| |
93 | `2078 <https://wg21.link/lwg2078>`__ | Throw specification of async() incomplete | Chicago | |Complete| |
94 | `2097 <https://wg21.link/lwg2097>`__ | packaged_task constructors should be constrained | Chicago | |Complete| |
95 | `2100 <https://wg21.link/lwg2100>`__ | Timed waiting functions cannot timeout if launch::async policy used | Chicago | |Complete| |
96 | `2120 <https://wg21.link/lwg2120>`__ | What should async do if neither 'async' nor 'deferred' is set in policy? | Chicago | |Complete| |
97 | `2159 <https://wg21.link/lwg2159>`__ | atomic_flag initialization | Chicago | |Complete| |
98 | `2275 <https://wg21.link/lwg2275>`__ | Why is forward_as_tuple not constexpr? | Chicago | |Complete| |
99 | `2284 <https://wg21.link/lwg2284>`__ | Inconsistency in allocator_traits::max_size | Chicago | |Complete| |
100 | `2298 <https://wg21.link/lwg2298>`__ | ``is_nothrow_constructible``\ is always false because of create<> | Chicago | |Complete| |
101 | `2300 <https://wg21.link/lwg2300>`__ | Redundant sections for map and multimap members should be removed | Chicago | |Complete| |
102 | NB comment: GB9 | Remove gets from C++14 | Chicago | |Complete| |
103 | ||||
104 | `2135 <https://wg21.link/lwg2135>`__ | Unclear requirement for exceptions thrown in condition_variable::wait() | Issaquah | |Complete| |
105 | `2291 <https://wg21.link/lwg2291>`__ | std::hash is vulnerable to collision DoS attack | Issaquah | |Complete| |
106 | `2142 <https://wg21.link/lwg2142>`__ | packaged_task::operator() synchronization too broad? | Issaquah | |Complete| |
107 | `2240 <https://wg21.link/lwg2240>`__ | Probable misuse of term "function scope" in [thread.condition] | Issaquah | |Complete| |
108 | `2252 <https://wg21.link/lwg2252>`__ | Strong guarantee on vector::push_back() still broken with C++11? | Issaquah | |Complete| |
109 | `2257 <https://wg21.link/lwg2257>`__ | Simplify container requirements with the new algorithms | Issaquah | |Complete| |
110 | `2268 <https://wg21.link/lwg2268>`__ | Setting a default argument in the declaration of a member function assign of std::basic_string | Issaquah | |Complete| |
111 | `2271 <https://wg21.link/lwg2271>`__ | regex_traits::lookup_classname specification unclear | Issaquah | |Complete| |
112 | `2272 <https://wg21.link/lwg2272>`__ | quoted should use char_traits::eq for character comparison | Issaquah | |Complete| |
113 | `2278 <https://wg21.link/lwg2278>`__ | User-defined literals for Standard Library types | Issaquah | |Complete| |
114 | `2280 <https://wg21.link/lwg2280>`__ | begin / end for arrays should be constexpr and noexcept | Issaquah | |Complete| |
115 | `2285 <https://wg21.link/lwg2285>`__ | make_reverse_iterator | Issaquah | |Complete| |
116 | `2299 <https://wg21.link/lwg2299>`__ | Effects of inaccessible ``key_compare::is_transparent``\ type are not clear | Issaquah | |Complete| |
117 | `1450 <https://wg21.link/lwg1450>`__ | Contradiction in regex_constants | Issaquah | |Complete| |
118 | `2003 <https://wg21.link/lwg2003>`__ | String exception inconsistency in erase. | Issaquah | |Complete| |
119 | `2112 <https://wg21.link/lwg2112>`__ | User-defined classes that cannot be derived from | Issaquah | |Complete| |
120 | `2132 <https://wg21.link/lwg2132>`__ | std::function ambiguity | Issaquah | |Complete| |
121 | `2182 <https://wg21.link/lwg2182>`__ | ``Container::[const_]reference`` types are misleadingly specified | Issaquah | |Complete| |
122 | `2188 <https://wg21.link/lwg2188>`__ | Reverse iterator does not fully support targets that overload operator& | Issaquah | |Complete| |
123 | `2193 <https://wg21.link/lwg2193>`__ | Default constructors for standard library containers are explicit | Issaquah | |Complete| |
124 | `2205 <https://wg21.link/lwg2205>`__ | Problematic postconditions of regex_match and regex_search | Issaquah | |Complete| |
125 | `2213 <https://wg21.link/lwg2213>`__ | Return value of std::regex_replace | Issaquah | |Complete| |
126 | `2258 <https://wg21.link/lwg2258>`__ | a.erase(q1, q2) unable to directly return q2 | Issaquah | |Complete| |
127 | `2263 <https://wg21.link/lwg2263>`__ | Comparing iterators and allocator pointers with different const-character | Issaquah | |Complete| |
128 | `2293 <https://wg21.link/lwg2293>`__ | Wrong facet used by num_put::do_put | Issaquah | |Complete| |
129 | `2301 <https://wg21.link/lwg2301>`__ | Why is std::tie not constexpr? | Issaquah | |Complete| |
130 | `2304 <https://wg21.link/lwg2304>`__ | Complexity of count in unordered associative containers | Issaquah | |Complete| |
131 | `2306 <https://wg21.link/lwg2306>`__ | match_results::reference should be value_type&, not const value_type& | Issaquah | |Complete| |
132 | `2308 <https://wg21.link/lwg2308>`__ | Clarify container destructor requirements w.r.t. std::array | Issaquah | |Complete| |
133 | `2313 <https://wg21.link/lwg2313>`__ | tuple_size should always derive from integral_constant<size_t, N> | Issaquah | |Complete| |
134 | `2314 <https://wg21.link/lwg2314>`__ | apply() should return decltype(auto) and use decay_t before tuple_size | Issaquah | |Complete| |
135 | `2315 <https://wg21.link/lwg2315>`__ | weak_ptr should be movable | Issaquah | |Complete| |
136 | `2316 <https://wg21.link/lwg2316>`__ | weak_ptr::lock() should be atomic | Issaquah | |Complete| |
137 | `2317 <https://wg21.link/lwg2317>`__ | The type property queries should be UnaryTypeTraits returning size_t | Issaquah | |Complete| |
138 | `2320 <https://wg21.link/lwg2320>`__ | select_on_container_copy_construction() takes allocators, not containers | Issaquah | |Complete| |
139 | `2322 <https://wg21.link/lwg2322>`__ | Associative(initializer_list, stuff) constructors are underspecified | Issaquah | |Complete| |
140 | `2323 <https://wg21.link/lwg2323>`__ | vector::resize(n, t)'s specification should be simplified | Issaquah | |Complete| |
141 | `2324 <https://wg21.link/lwg2324>`__ | Insert iterator constructors should use addressof() | Issaquah | |Complete| |
142 | `2329 <https://wg21.link/lwg2329>`__ | regex_match()/regex_search() with match_results should forbid temporary strings | Issaquah | |Complete| |
143 | `2330 <https://wg21.link/lwg2330>`__ | regex("meow", regex::icase) is technically forbidden but should be permitted | Issaquah | |Complete| |
144 | `2332 <https://wg21.link/lwg2332>`__ | regex_iterator/regex_token_iterator should forbid temporary regexes | Issaquah | |Complete| |
145 | `2339 <https://wg21.link/lwg2339>`__ | Wording issue in nth_element | Issaquah | |Complete| |
146 | `2341 <https://wg21.link/lwg2341>`__ | Inconsistency between basic_ostream::seekp(pos) and basic_ostream::seekp(off, dir) | Issaquah | |Complete| |
147 | `2344 <https://wg21.link/lwg2344>`__ | quoted()'s interaction with padding is unclear | Issaquah | |Complete| |
148 | `2346 <https://wg21.link/lwg2346>`__ | integral_constant's member functions should be marked noexcept | Issaquah | |Complete| |
149 | `2350 <https://wg21.link/lwg2350>`__ | min, max, and minmax should be constexpr | Issaquah | |Complete| |
150 | `2356 <https://wg21.link/lwg2356>`__ | Stability of erasure in unordered associative containers | Issaquah | |Complete| |
151 | `2357 <https://wg21.link/lwg2357>`__ | Remaining "Assignable" requirement | Issaquah | |Complete| |
152 | `2359 <https://wg21.link/lwg2359>`__ | How does regex_constants::nosubs affect basic_regex::mark_count()? | Issaquah | |Complete| |
153 | `2360 <https://wg21.link/lwg2360>`__ | ``reverse_iterator::operator*()``\ is unimplementable | Issaquah | |Complete| |
154 | `2104 <https://wg21.link/lwg2104>`__ | unique_lock move-assignment should not be noexcept | Issaquah | |Complete| |
155 | `2186 <https://wg21.link/lwg2186>`__ | Incomplete action on async/launch::deferred | Issaquah | |Complete| |
156 | `2075 <https://wg21.link/lwg2075>`__ | Progress guarantees, lock-free property, and scheduling assumptions | Issaquah | |Complete| |
157 | `2288 <https://wg21.link/lwg2288>`__ | Inconsistent requirements for shared mutexes | Issaquah | |Complete| |