forked from OSchip/llvm-project
38 KiB
38 KiB
1 | Issue # | Issue Name | Meeting | Status | First released version |
---|---|---|---|---|---|
2 | `2016 <https://wg21.link/LWG2016>`__ | Allocators must be no-throw swappable | Urbana | |Complete| | |
3 | `2118 <https://wg21.link/LWG2376>`__ | ``unique_ptr``\ for array does not support cv qualification conversion of actual argument | Urbana | |Complete| | |
4 | `2170 <https://wg21.link/LWG2170>`__ | Aggregates cannot be ``DefaultConstructible``\ | Urbana | |Complete| | |
5 | `2308 <https://wg21.link/LWG2308>`__ | Clarify container destructor requirements w.r.t. ``std::array``\ | Urbana | |Complete| | |
6 | `2340 <https://wg21.link/LWG2340>`__ | Replacement allocation functions declared as inline | Urbana | |Complete| | |
7 | `2354 <https://wg21.link/LWG2354>`__ | Unnecessary copying when inserting into maps with braced-init syntax | Urbana | |Complete| | |
8 | `2377 <https://wg21.link/LWG2377>`__ | ``std::align``\ requirements overly strict | Urbana | |Complete| | |
9 | `2396 <https://wg21.link/LWG2396>`__ | ``underlying_type``\ doesn't say what to do for an incomplete enumeration type | Urbana | |Complete| | |
10 | `2399 <https://wg21.link/LWG2399>`__ | ``shared_ptr``\ 's constructor from ``unique_ptr``\ should be constrained | Urbana | |Complete| | |
11 | `2400 <https://wg21.link/LWG2400>`__ | ``shared_ptr``\ 's ``get_deleter()``\ should use ``addressof()``\ | Urbana | |Complete| | |
12 | `2401 <https://wg21.link/LWG2401>`__ | ``std::function``\ needs more noexcept | Urbana | |Complete| | |
13 | `2404 <https://wg21.link/LWG2404>`__ | ``mismatch()``\ 's complexity needs to be updated | Urbana | |Complete| | |
14 | `2408 <https://wg21.link/LWG2408>`__ | SFINAE-friendly ``common_type``\ / ``iterator_traits``\ is missing in C++14 | Urbana | |Complete| | |
15 | |||||
16 | `2106 <https://wg21.link/LWG2106>`__ | ``move_iterator``\ wrapping iterators returning prvalues | Urbana | |Complete| | |
17 | `2129 <https://wg21.link/LWG2129>`__ | User specializations of ``std::initializer_list``\ | Urbana | |Complete| | |
18 | `2212 <https://wg21.link/LWG2212>`__ | ``tuple_size``\ for ``const pair``\ request <tuple> header | Urbana | |Complete| | |
19 | `2217 <https://wg21.link/LWG2217>`__ | ``operator==(sub_match, string)``\ slices on embedded '\0's | Urbana | |Complete| | |
20 | `2230 <https://wg21.link/LWG2230>`__ | "see below" for ``initializer_list``\ constructors of unordered containers | Urbana | |Complete| | |
21 | `2233 <https://wg21.link/LWG2233>`__ | ``bad_function_call::what()``\ unhelpful | Urbana | |Complete| | |
22 | `2266 <https://wg21.link/LWG2266>`__ | ``vector``\ and ``deque``\ have incorrect insert requirements | Urbana | |Complete| | |
23 | `2325 <https://wg21.link/LWG2325>`__ | ``minmax_element()``\ 's behavior differing from ``max_element()``\ 's should be noted | Urbana | |Complete| | |
24 | `2361 <https://wg21.link/LWG2361>`__ | Apply 2299 resolution throughout library | Urbana | |Complete| | |
25 | `2365 <https://wg21.link/LWG2365>`__ | Missing noexcept in ``shared_ptr::shared_ptr(nullptr_t)``\ | Urbana | |Complete| | |
26 | `2376 <https://wg21.link/LWG2376>`__ | ``bad_weak_ptr::what()``\ overspecified | Urbana | |Complete| | |
27 | `2387 <https://wg21.link/LWG2387>`__ | More nested types that must be accessible and unambiguous | Urbana | |Complete| | |
28 | |||||
29 | `2059 <https://wg21.link/LWG2059>`__ | C++0x ambiguity problem with map::erase | Lenexa | |Complete| | |
30 | `2063 <https://wg21.link/LWG2063>`__ | Contradictory requirements for string move assignment | Lenexa | |Complete| | |
31 | `2076 <https://wg21.link/LWG2076>`__ | Bad CopyConstructible requirement in set constructors | Lenexa | |Complete| | |
32 | `2160 <https://wg21.link/LWG2160>`__ | Unintended destruction ordering-specification of resize | Lenexa | |Complete| | |
33 | `2168 <https://wg21.link/LWG2168>`__ | Inconsistent specification of uniform_real_distribution constructor | Lenexa | |Complete| | |
34 | `2239 <https://wg21.link/LWG2239>`__ | min/max/minmax requirements | Lenexa | |Complete| | |
35 | `2364 <https://wg21.link/LWG2364>`__ | deque and vector pop_back don't specify iterator invalidation requirements | Lenexa | |Complete| | |
36 | `2369 <https://wg21.link/LWG2369>`__ | constexpr max(initializer_list) vs max_element | Lenexa | |Complete| | |
37 | `2378 <https://wg21.link/LWG2378>`__ | Behaviour of standard exception types | Lenexa | |Complete| | |
38 | `2403 <https://wg21.link/LWG2403>`__ | stof() should call strtof() and wcstof() | Lenexa | |Complete| | |
39 | `2406 <https://wg21.link/LWG2406>`__ | negative_binomial_distribution should reject p == 1 | Lenexa | |Complete| | |
40 | `2407 <https://wg21.link/LWG2407>`__ | packaged_task(allocator_arg_t, const Allocator&, F&&) should neither be constrained nor explicit | Lenexa | |Complete| | |
41 | `2411 <https://wg21.link/LWG2411>`__ | shared_ptr is only contextually convertible to bool | Lenexa | |Complete| | |
42 | `2415 <https://wg21.link/LWG2415>`__ | Inconsistency between unique_ptr and shared_ptr | Lenexa | |Complete| | |
43 | `2420 <https://wg21.link/LWG2420>`__ | function<void(ArgTypes...)> does not discard the return value of the target object | Lenexa | |Complete| | |
44 | `2425 <https://wg21.link/LWG2425>`__ | ``operator delete(void*, size_t)``\ doesn't invalidate pointers sufficiently | Lenexa | |Complete| | |
45 | `2427 <https://wg21.link/LWG2427>`__ | Container adaptors as sequence containers, redux | Lenexa | |Complete| | |
46 | `2428 <https://wg21.link/LWG2428>`__ | "External declaration" used without being defined | Lenexa | |Complete| | |
47 | `2433 <https://wg21.link/LWG2433>`__ | ``uninitialized_copy()``\ /etc. should tolerate overloaded operator& | Lenexa | |Complete| | |
48 | `2434 <https://wg21.link/LWG2434>`__ | ``shared_ptr::use_count()``\ is efficient | Lenexa | |Complete| | |
49 | `2437 <https://wg21.link/LWG2437>`__ | ``iterator_traits::reference``\ can and can't be void | Lenexa | |Complete| | |
50 | `2438 <https://wg21.link/LWG2438>`__ | ``std::iterator``\ inheritance shouldn't be mandated | Lenexa | |Complete| | |
51 | `2439 <https://wg21.link/LWG2439>`__ | ``unique_copy()``\ sometimes can't fall back to reading its output | Lenexa | |Complete| | |
52 | `2440 <https://wg21.link/LWG2440>`__ | ``seed_seq::size()``\ should be noexcept | Lenexa | |Complete| | |
53 | `2442 <https://wg21.link/LWG2442>`__ | ``call_once()``\ shouldn't DECAY_COPY() | Lenexa | |Complete| | |
54 | `2448 <https://wg21.link/LWG2448>`__ | Non-normative Container destructor specification | Lenexa | |Complete| | |
55 | `2454 <https://wg21.link/LWG2454>`__ | Add ``raw_storage_iterator::base()``\ member | Lenexa | |Complete| | |
56 | `2455 <https://wg21.link/LWG2455>`__ | Allocator default construction should be allowed to throw | Lenexa | |Complete| | |
57 | `2458 <https://wg21.link/LWG2458>`__ | N3778 and new library deallocation signatures | Lenexa | |Complete| | |
58 | `2459 <https://wg21.link/LWG2459>`__ | ``std::polar``\ should require a non-negative rho | Lenexa | |Complete| | |
59 | `2464 <https://wg21.link/LWG2464>`__ | ``try_emplace``\ and ``insert_or_assign``\ misspecified | Lenexa | |Complete| | |
60 | `2467 <https://wg21.link/LWG2467>`__ | ``is_always_equal``\ has slightly inconsistent default | Lenexa | |Complete| | |
61 | `2470 <https://wg21.link/LWG2470>`__ | Allocator's destroy function should be allowed to fail to instantiate | Lenexa | |Complete| | |
62 | `2482 <https://wg21.link/LWG2482>`__ | [c.strings] Table 73 mentions nonexistent functions | Lenexa | |Complete| | |
63 | `2488 <https://wg21.link/LWG2488>`__ | Placeholders should be allowed and encouraged to be constexpr | Lenexa | |Complete| | |
64 | |||||
65 | `1169 <https://wg21.link/LWG1169>`__ | ``num_get``\ not fully compatible with ``strto*``\ | Kona | |Complete| | |
66 | `2072 <https://wg21.link/LWG2072>`__ | Unclear wording about capacity of temporary buffers | Kona | |Complete| | |
67 | `2101 <https://wg21.link/LWG2101>`__ | Some transformation types can produce impossible types | Kona | |Complete| | |
68 | `2111 <https://wg21.link/LWG2111>`__ | Which ``unexpected``\ /``terminate``\ handler is called from the exception handling runtime? | Kona | |Complete| | |
69 | `2119 <https://wg21.link/LWG2119>`__ | Missing ``hash``\ specializations for extended integer types | Kona | |Complete| | |
70 | `2127 <https://wg21.link/LWG2127>`__ | Move-construction with ``raw_storage_iterator``\ | Kona | |Complete| | |
71 | `2133 <https://wg21.link/LWG2133>`__ | Attitude to overloaded comma for iterators | Kona | |Complete| | |
72 | `2156 <https://wg21.link/LWG2156>`__ | Unordered containers' ``reserve(n)``\ reserves for ``n-1``\ elements | Kona | |Complete| | |
73 | `2218 <https://wg21.link/LWG2218>`__ | Unclear how containers use ``allocator_traits::construct()``\ | Kona | |Complete| | |
74 | `2219 <https://wg21.link/LWG2219>`__ | ``*INVOKE*``\ -ing a pointer to member with a ``reference_wrapper``\ as the object expression | Kona | |Complete| | |
75 | `2224 <https://wg21.link/LWG2224>`__ | Ambiguous status of access to non-live objects | Kona | |Complete| | |
76 | `2234 <https://wg21.link/LWG2234>`__ | ``assert()``\ should allow usage in constant expressions | Kona | |Complete| | |
77 | `2244 <https://wg21.link/LWG2244>`__ | Issue on ``basic_istream::seekg``\ | Kona | |Complete| | |
78 | `2250 <https://wg21.link/LWG2250>`__ | Follow-up On Library Issue 2207 | Kona | |Complete| | |
79 | `2259 <https://wg21.link/LWG2259>`__ | Issues in 17.6.5.5 rules for member functions | Kona | |Complete| | |
80 | `2273 <https://wg21.link/LWG2273>`__ | ``regex_match``\ ambiguity | Kona | |Complete| | |
81 | `2336 <https://wg21.link/LWG2336>`__ | ``is_trivially_constructible``\ /``is_trivially_assignable``\ traits are always false | Kona | |Complete| | |
82 | `2353 <https://wg21.link/LWG2353>`__ | ``std::next``\ is over-constrained | Kona | |Complete| | |
83 | `2367 <https://wg21.link/LWG2367>`__ | ``pair``\ and ``tuple``\ are not correctly implemented for ``is_constructible``\ with no args | Kona | |Complete| | |
84 | `2380 <https://wg21.link/LWG2380>`__ | May ``<cstdlib>``\ provide ``long ::abs(long)``\ and ``long long ::abs(long long)``\ ? | Kona | |Complete| | |
85 | `2384 <https://wg21.link/LWG2384>`__ | Allocator's ``deallocate``\ function needs better specification | Kona | |Complete| | |
86 | `2385 <https://wg21.link/LWG2385>`__ | ``function::assign``\ allocator argument doesn't make sense | Kona | |Complete| | |
87 | `2435 <https://wg21.link/LWG2435>`__ | ``reference_wrapper::operator()``\ 's Remark should be deleted | Kona | |Complete| | |
88 | `2447 <https://wg21.link/LWG2447>`__ | Allocators and ``volatile``\ -qualified value types | Kona | |Complete| | |
89 | `2462 <https://wg21.link/LWG2462>`__ | ``std::ios_base::failure``\ is overspecified | Kona | |Complete| | |
90 | `2466 <https://wg21.link/LWG2466>`__ | ``allocator_traits::max_size()``\ default behavior is incorrect | Kona | |Complete| | |
91 | `2469 <https://wg21.link/LWG2469>`__ | Wrong specification of Requires clause of ``operator[]``\ for ``map``\ and ``unordered_map``\ | Kona | |Complete| | |
92 | `2473 <https://wg21.link/LWG2473>`__ | ``basic_filebuf``\ 's relation to C ``FILE``\ semantics | Kona | |Complete| | |
93 | `2476 <https://wg21.link/LWG2476>`__ | ``scoped_allocator_adaptor``\ is not assignable | Kona | |Complete| | |
94 | `2477 <https://wg21.link/LWG2477>`__ | Inconsistency of wordings in ``std::vector::erase()``\ and ``std::deque::erase()``\ | Kona | |Complete| | |
95 | `2483 <https://wg21.link/LWG2483>`__ | ``throw_with_nested()``\ should use ``is_final``\ | Kona | |Complete| | |
96 | `2484 <https://wg21.link/LWG2484>`__ | ``rethrow_if_nested()``\ is doubly unimplementable | Kona | |Complete| | |
97 | `2485 <https://wg21.link/LWG2485>`__ | ``get()``\ should be overloaded for ``const tuple&&``\ | Kona | |Complete| | |
98 | `2486 <https://wg21.link/LWG2486>`__ | ``mem_fn()``\ should be required to use perfect forwarding | Kona | |Complete| | |
99 | `2487 <https://wg21.link/LWG2487>`__ | ``bind()``\ should be ``const``\ -overloaded, not *cv*-overloaded | Kona | |Complete| | |
100 | `2489 <https://wg21.link/LWG2489>`__ | ``mem_fn()``\ should be ``noexcept``\ | Kona | |Complete| | |
101 | `2492 <https://wg21.link/LWG2492>`__ | Clarify requirements for ``comp``\ | Kona | |Complete| | |
102 | `2495 <https://wg21.link/LWG2495>`__ | There is no such thing as an Exception Safety element | Kona | |Complete| | |
103 | |||||
104 | `2192 <https://wg21.link/LWG2192>`__ | Validity and return type of ``std::abs(0u)``\ is unclear | Jacksonville | |Complete| | |
105 | `2276 <https://wg21.link/LWG2276>`__ | Missing requirement on ``std::promise::set_exception``\ | Jacksonville | |Complete| | |
106 | `2296 <https://wg21.link/LWG2296>`__ | ``std::addressof``\ should be ``constexpr``\ | Jacksonville | |Complete| | |
107 | `2450 <https://wg21.link/LWG2450>`__ | ``(greater|less|greater_equal|less_equal)<void>``\ do not yield a total order for pointers | Jacksonville | |Complete| | |
108 | `2520 <https://wg21.link/LWG2520>`__ | N4089 broke initializing ``unique_ptr<T[]>``\ from a ``nullptr``\ | Jacksonville | |Complete| | |
109 | `2522 <https://wg21.link/LWG2522>`__ | [fund.ts.v2] Contradiction in ``set_default_resource``\ specification | Jacksonville | |Complete| | |
110 | `2523 <https://wg21.link/LWG2523>`__ | ``std::promise``\ synopsis shows two ``set_value_at_thread_exit()``\ 's for no apparent reason | Jacksonville | |Complete| | |
111 | `2537 <https://wg21.link/LWG2537>`__ | Constructors for ``priority_queue``\ taking allocators should call ``make_heap``\ | Jacksonville | |Complete| | |
112 | `2539 <https://wg21.link/LWG2539>`__ | [fund.ts.v2] ``invocation_trait``\ definition definition doesn't work for surrogate call functions | Jacksonville | ||
113 | `2545 <https://wg21.link/LWG2545>`__ | Simplify wording for ``bind``\ without explicitly specified return type | Jacksonville | |Complete| | |
114 | `2557 <https://wg21.link/LWG2557>`__ | Logical operator traits are broken in the zero-argument case | Jacksonville | |Complete| | |
115 | `2558 <https://wg21.link/LWG2558>`__ | [fund.ts.v2] Logical operator traits are broken in the zero-argument case | Jacksonville | |Complete| | |
116 | `2559 <https://wg21.link/LWG2559>`__ | Error in LWG 2234's resolution | Jacksonville | |Complete| | |
117 | `2560 <https://wg21.link/LWG2560>`__ | ``is_constructible``\ underspecified when applied to a function type | Jacksonville | |Complete| | |
118 | `2565 <https://wg21.link/LWG2565>`__ | ``std::function``\ 's move constructor should guarantee nothrow for ``reference_wrapper``\ s and function pointers | Jacksonville | |Complete| | |
119 | `2566 <https://wg21.link/LWG2566>`__ | Requirements on the first template parameter of container adaptors | Jacksonville | |Complete| | |
120 | `2571 <https://wg21.link/LWG2571>`__ | |sect|\ [map.modifiers]/2 imposes nonsensical requirement on ``insert(InputIterator, InputIterator)``\ | Jacksonville | |Complete| | |
121 | `2572 <https://wg21.link/LWG2572>`__ | The remarks for ``shared_ptr::operator*``\ should apply to *cv*-qualified ``void``\ as well | Jacksonville | |Complete| | |
122 | `2574 <https://wg21.link/LWG2574>`__ | [fund.ts.v2] ``std::experimental::function::operator=(F&&)``\ should be constrained | Jacksonville | |Complete| | |
123 | `2575 <https://wg21.link/LWG2575>`__ | [fund.ts.v2] ``experimental::function::assign``\ should be removed | Jacksonville | ||
124 | `2576 <https://wg21.link/LWG2576>`__ | ``istream_iterator``\ and ``ostream_iterator``\ should use ``std::addressof``\ | Jacksonville | |Complete| | |
125 | `2577 <https://wg21.link/LWG2577>`__ | ``{shared,unique}_lock``\ should use ``std::addressof``\ | Jacksonville | |Complete| | |
126 | `2579 <https://wg21.link/LWG2579>`__ | Inconsistency wrt Allocators in ``basic_string``\ assignment vs. ``basic_string::assign``\ | Jacksonville | |Complete| | |
127 | `2581 <https://wg21.link/LWG2581>`__ | Specialization of ``<type_traits>``\ variable templates should be prohibited | Jacksonville | |Complete| | |
128 | `2582 <https://wg21.link/LWG2582>`__ | |sect|\ [res.on.functions]/2's prohibition against incomplete types shouldn't apply to type traits | Jacksonville | |Complete| | |
129 | `2583 <https://wg21.link/LWG2583>`__ | There is no way to supply an allocator for ``basic_string(str, pos)``\ | Jacksonville | |Complete| | |
130 | `2585 <https://wg21.link/LWG2585>`__ | ``forward_list::resize(size_type, const value_type&)``\ effects incorrect | Jacksonville | |Complete| | |
131 | `2586 <https://wg21.link/LWG2586>`__ | Wrong value category used in ``scoped_allocator_adaptor::construct()``\ | Jacksonville | |Complete| | |
132 | `2590 <https://wg21.link/LWG2590>`__ | Aggregate initialization for ``std::array``\ | Jacksonville | |Complete| | |
133 | |||||
134 | `2181 <https://wg21.link/LWG2181>`__ | Exceptions from seed sequence operations | Oulu | |Complete| | |
135 | `2309 <https://wg21.link/LWG2309>`__ | mutex::lock() should not throw device_or_resource_busy | Oulu | |Complete| | |
136 | `2310 <https://wg21.link/LWG2310>`__ | Public exposition only member in std::array | Oulu | |Complete| | |
137 | `2312 <https://wg21.link/LWG2312>`__ | tuple's constructor constraints need to be phrased more precisely | Oulu | |Complete| | |
138 | `2328 <https://wg21.link/LWG2328>`__ | Rvalue stream extraction should use perfect forwarding | Oulu | |Complete| | |
139 | `2393 <https://wg21.link/LWG2393>`__ | std::function's Callable definition is broken | Oulu | |Complete| | |
140 | `2422 <https://wg21.link/LWG2422>`__ | ``std::numeric_limits<T>::is_modulo``\ description: "most machines" errata | Oulu | |Complete| | |
141 | `2426 <https://wg21.link/LWG2426>`__ | Issue about compare_exchange | Oulu | ||
142 | `2436 <https://wg21.link/LWG2436>`__ | Comparators for associative containers should always be CopyConstructible | Oulu | |Complete| | |
143 | `2441 <https://wg21.link/LWG2441>`__ | Exact-width atomic typedefs should be provided | Oulu | |Complete| | |
144 | `2451 <https://wg21.link/LWG2451>`__ | [fund.ts.v2] optional should 'forward' T's implicit conversions | Oulu | |Nothing To Do| | |
145 | `2509 <https://wg21.link/LWG2509>`__ | [fund.ts.v2] any_cast doesn't work with rvalue reference targets and cannot move with a value target | Oulu | |Complete| | |
146 | `2516 <https://wg21.link/LWG2516>`__ | [fund.ts.v2] Public "exposition only" members in observer_ptr | Oulu | ||
147 | `2542 <https://wg21.link/LWG2542>`__ | Missing const requirements for associative containers | Oulu | ||
148 | `2549 <https://wg21.link/LWG2549>`__ | Tuple EXPLICIT constructor templates that take tuple parameters end up taking references to temporaries and will create dangling references | Oulu | |Complete| | |
149 | `2550 <https://wg21.link/LWG2550>`__ | Wording of unordered container's clear() method complexity | Oulu | |Complete| | |
150 | `2551 <https://wg21.link/LWG2551>`__ | [fund.ts.v2] "Exception safety" cleanup in library fundamentals required | Oulu | |Complete| | |
151 | `2555 <https://wg21.link/LWG2555>`__ | [fund.ts.v2] No handling for over-aligned types in optional | Oulu | |Complete| | |
152 | `2573 <https://wg21.link/LWG2573>`__ | [fund.ts.v2] std::hash<std::experimental::shared_ptr> does not work for arrays | Oulu | ||
153 | `2596 <https://wg21.link/LWG2596>`__ | vector::data() should use addressof | Oulu | |Complete| | |
154 | `2667 <https://wg21.link/LWG2667>`__ | path::root_directory() description is confusing | Oulu | |Complete| | |
155 | `2669 <https://wg21.link/LWG2669>`__ | recursive_directory_iterator effects refers to non-existent functions | Oulu | |Complete| | |
156 | `2670 <https://wg21.link/LWG2670>`__ | system_complete refers to undefined variable 'base' | Oulu | |Complete| | |
157 | `2671 <https://wg21.link/LWG2671>`__ | Errors in Copy | Oulu | |Complete| | |
158 | `2673 <https://wg21.link/LWG2673>`__ | status() effects cannot be implemented as specified | Oulu | |Complete| | |
159 | `2674 <https://wg21.link/LWG2674>`__ | Bidirectional iterator requirement on path::iterator is very expensive | Oulu | |Complete| | |
160 | `2683 <https://wg21.link/LWG2683>`__ | filesystem::copy() says "no effects" | Oulu | |Complete| | |
161 | `2684 <https://wg21.link/LWG2684>`__ | priority_queue lacking comparator typedef | Oulu | |Complete| | |
162 | `2685 <https://wg21.link/LWG2685>`__ | shared_ptr deleters must not throw on move construction | Oulu | |Complete| | |
163 | `2687 <https://wg21.link/LWG2687>`__ | {inclusive,exclusive}_scan misspecified | Oulu | ||
164 | `2688 <https://wg21.link/LWG2688>`__ | clamp misses preconditions and has extraneous condition on result | Oulu | |Complete| | |
165 | `2689 <https://wg21.link/LWG2689>`__ | Parallel versions of std::copy and std::move shouldn't be in order | Oulu | ||
166 | `2698 <https://wg21.link/LWG2698>`__ | Effect of assign() on iterators/pointers/references | Oulu | |Complete| | |
167 | `2704 <https://wg21.link/LWG2704>`__ | recursive_directory_iterator's members should require '``*this`` is dereferenceable' | Oulu | |Complete| | |
168 | `2706 <https://wg21.link/LWG2706>`__ | Error reporting for recursive_directory_iterator::pop() is under-specified | Oulu | |Complete| | |
169 | `2707 <https://wg21.link/LWG2707>`__ | path construction and assignment should have "string_type&&" overloads | Oulu | |Complete| | |
170 | `2709 <https://wg21.link/LWG2709>`__ | offsetof is unnecessarily imprecise | Oulu | ||
171 | `2710 <https://wg21.link/LWG2710>`__ | "Effects: Equivalent to ..." doesn't count "Synchronization:" as determined semantics | Oulu | |Complete| | |
172 | `2711 <https://wg21.link/LWG2711>`__ | path is convertible from approximately everything under the sun | Oulu | |Complete| | |
173 | `2716 <https://wg21.link/LWG2716>`__ | Specification of shuffle and sample disallows lvalue URNGs | Oulu | |Complete| | |
174 | `2718 <https://wg21.link/LWG2718>`__ | Parallelism bug in [algorithms.parallel.exec] p2 | Oulu | ||
175 | `2719 <https://wg21.link/LWG2719>`__ | permissions function should not be noexcept due to narrow contract | Oulu | |Complete| | |
176 | `2720 <https://wg21.link/LWG2720>`__ | permissions function incorrectly specified for symlinks | Oulu | |Complete| | |
177 | `2721 <https://wg21.link/LWG2721>`__ | remove_all has incorrect post conditions | Oulu | |Complete| | |
178 | `2723 <https://wg21.link/LWG2723>`__ | Do directory_iterator and recursive_directory_iterator become the end iterator upon error? | Oulu | |Complete| | |
179 | `2724 <https://wg21.link/LWG2724>`__ | The protected virtual member functions of memory_resource should be private | Oulu | ||
180 | `2725 <https://wg21.link/LWG2725>`__ | filesystem::exists(const path&, error_code&) error reporting | Oulu | |Complete| | |
181 | `2726 <https://wg21.link/LWG2726>`__ | ``[recursive_]directory_iterator::increment(error_code&)`` is underspecified | Oulu | |Complete| | |
182 | `2727 <https://wg21.link/LWG2727>`__ | Parallel algorithms with constexpr specifier | Oulu | ||
183 | `2728 <https://wg21.link/LWG2728>`__ | status(p).permissions() and symlink_status(p).permissions() are not specified | Oulu | |Complete| | |
184 | |||||
185 | `2062 <https://wg21.link/LWG2062>`__ | Effect contradictions w/o no-throw guarantee of std::function swaps | Issaquah | |Complete| | |
186 | `2166 <https://wg21.link/LWG2166>`__ | Heap property underspecified? | Issaquah | ||
187 | `2221 <https://wg21.link/LWG2221>`__ | No formatted output operator for nullptr | Issaquah | |Complete| | |
188 | `2223 <https://wg21.link/LWG2223>`__ | shrink_to_fit effect on iterator validity | Issaquah | |Complete| | |
189 | `2261 <https://wg21.link/LWG2261>`__ | Are containers required to use their 'pointer' type internally? | Issaquah | ||
190 | `2394 <https://wg21.link/LWG2394>`__ | locale::name specification unclear - what is implementation-defined? | Issaquah | |Complete| | |
191 | `2460 <https://wg21.link/LWG2460>`__ | LWG issue 2408 and value categories | Issaquah | |Complete| | |
192 | `2468 <https://wg21.link/LWG2468>`__ | Self-move-assignment of library types | Issaquah | ||
193 | `2475 <https://wg21.link/LWG2475>`__ | Allow overwriting of std::basic_string terminator with charT() to allow cleaner interoperation with legacy APIs | Issaquah | |Complete| | |
194 | `2503 <https://wg21.link/LWG2503>`__ | multiline option should be added to syntax_option_type | Issaquah | |Complete| | |
195 | `2510 <https://wg21.link/LWG2510>`__ | Tag types should not be DefaultConstructible | Issaquah | |Complete| | |
196 | `2514 <https://wg21.link/LWG2514>`__ | Type traits must not be final | Issaquah | |Complete| | |
197 | `2518 <https://wg21.link/LWG2518>`__ | [fund.ts.v2] Non-member swap for propagate_const should call member swap | Issaquah | |Complete| | |
198 | `2519 <https://wg21.link/LWG2519>`__ | Iterator operator-= has gratuitous undefined behaviour | Issaquah | |Complete| | |
199 | `2521 <https://wg21.link/LWG2521>`__ | [fund.ts.v2] weak_ptr's converting move constructor should be modified as well for array support | Issaquah | ||
200 | `2525 <https://wg21.link/LWG2525>`__ | [fund.ts.v2] get_memory_resource should be const and noexcept | Issaquah | ||
201 | `2527 <https://wg21.link/LWG2527>`__ | [fund.ts.v2] ALLOCATOR_OF for function::operator= has incorrect default | Issaquah | ||
202 | `2531 <https://wg21.link/LWG2531>`__ | future::get should explicitly state that the shared state is released | Issaquah | ||
203 | `2534 <https://wg21.link/LWG2534>`__ | Constrain rvalue stream operators | Issaquah | |Complete| | |
204 | `2536 <https://wg21.link/LWG2536>`__ | What should <complex.h> do? | Issaquah | |Complete| | |
205 | `2540 <https://wg21.link/LWG2540>`__ | unordered_multimap::insert hint iterator | Issaquah | |Complete| | |
206 | `2543 <https://wg21.link/LWG2543>`__ | LWG 2148 (hash support for enum types) seems under-specified | Issaquah | |Complete| | |
207 | `2544 <https://wg21.link/LWG2544>`__ | ``istreambuf_iterator(basic_streambuf<charT, traits>* s)``\ effects unclear when s is 0 | Issaquah | |Complete| | |
208 | `2556 <https://wg21.link/LWG2556>`__ | Wide contract for future::share() | Issaquah | |Complete| | |
209 | `2562 <https://wg21.link/LWG2562>`__ | Consistent total ordering of pointers by comparison functors | Issaquah | ||
210 | `2567 <https://wg21.link/LWG2567>`__ | Specification of logical operator traits uses BaseCharacteristic, which is defined only for UnaryTypeTraits and BinaryTypeTraits | Issaquah | |Complete| | |
211 | `2568 <https://wg21.link/LWG2568>`__ | [fund.ts.v2] Specification of logical operator traits uses BaseCharacteristic, which is defined only for UnaryTypeTraits and BinaryTypeTraits | Issaquah | ||
212 | `2569 <https://wg21.link/LWG2569>`__ | conjunction and disjunction requirements are too strict | Issaquah | |Complete| | |
213 | `2570 <https://wg21.link/LWG2570>`__ | [fund.ts.v2] conjunction and disjunction requirements are too strict | Issaquah | ||
214 | `2578 <https://wg21.link/LWG2578>`__ | Iterator requirements should reference iterator traits | Issaquah | |Complete| | |
215 | `2584 <https://wg21.link/LWG2584>`__ | <regex> ECMAScript IdentityEscape is ambiguous | Issaquah | ||
216 | `2587 <https://wg21.link/LWG2587>`__ | "Convertible to bool" requirement in conjunction and disjunction | Issaquah | Resolved by 2567 | |
217 | `2588 <https://wg21.link/LWG2588>`__ | [fund.ts.v2] "Convertible to bool" requirement in conjunction and disjunction | Issaquah | ||
218 | `2589 <https://wg21.link/LWG2589>`__ | match_results can't satisfy the requirements of a container | Issaquah | |Complete| | |
219 | `2591 <https://wg21.link/LWG2591>`__ | std::function's member template target() should not lead to undefined behaviour | Issaquah | |Complete| | |
220 | `2598 <https://wg21.link/LWG2598>`__ | addressof works on temporaries | Issaquah | |Complete| | |
221 | `2664 <https://wg21.link/LWG2664>`__ | operator/ (and other append) semantics not useful if argument has root | Issaquah | |Complete| | |
222 | `2665 <https://wg21.link/LWG2665>`__ | remove_filename() post condition is incorrect | Issaquah | |Complete| | |
223 | `2672 <https://wg21.link/LWG2672>`__ | Should ``is_empty``\ use error_code in its specification? | Issaquah | |Complete| | |
224 | `2678 <https://wg21.link/LWG2678>`__ | std::filesystem enum classes overspecified | Issaquah | |Complete| | |
225 | `2679 <https://wg21.link/LWG2679>`__ | Inconsistent Use of Effects and Equivalent To | Issaquah | |Complete| | |
226 | `2680 <https://wg21.link/LWG2680>`__ | Add "Equivalent to" to filesystem | Issaquah | |Complete| | |
227 | `2681 <https://wg21.link/LWG2681>`__ | filesystem::copy() cannot copy symlinks | Issaquah | |Complete| | |
228 | `2682 <https://wg21.link/LWG2682>`__ | filesystem::copy() won't create a symlink to a directory | Issaquah | |Complete| | |
229 | `2686 <https://wg21.link/LWG2686>`__ | Why is std::hash specialized for error_code, but not error_condition? | Issaquah | |Complete| | |
230 | `2694 <https://wg21.link/LWG2694>`__ | Application of LWG 436 accidentally deleted definition of "facet" | Issaquah | |Complete| | |
231 | `2696 <https://wg21.link/LWG2696>`__ | Interaction between make_shared and enable_shared_from_this is underspecified | Issaquah | |Nothing To Do| | |
232 | `2699 <https://wg21.link/LWG2699>`__ | Missing restriction in [numeric.requirements] | Issaquah | |Complete| | |
233 | `2712 <https://wg21.link/LWG2712>`__ | copy_file(from, to, ...) has a number of unspecified error conditions | Issaquah | |Complete| | |
234 | `2722 <https://wg21.link/LWG2722>`__ | equivalent incorrectly specifies throws clause | Issaquah | |Complete| | |
235 | `2729 <https://wg21.link/LWG2729>`__ | Missing SFINAE on std::pair::operator= | Issaquah | |Complete| | |
236 | `2732 <https://wg21.link/LWG2732>`__ | Questionable specification of path::operator/= and path::append | Issaquah | |Complete| | |
237 | `2733 <https://wg21.link/LWG2733>`__ | [fund.ts.v2] gcd / lcm and bool | Issaquah | |Complete| | |
238 | `2735 <https://wg21.link/LWG2735>`__ | std::abs(short), std::abs(signed char) and others should return int instead of double in order to be compatible with C++98 and C | Issaquah | |Complete| | |
239 | `2736 <https://wg21.link/LWG2736>`__ | nullopt_t insufficiently constrained | Issaquah | |Complete| | |
240 | `2738 <https://wg21.link/LWG2738>`__ | ``is_constructible``\ with void types | Issaquah | |Complete| | |
241 | `2739 <https://wg21.link/LWG2739>`__ | Issue with time_point non-member subtraction with an unsigned duration | Issaquah | |Complete| | |
242 | `2740 <https://wg21.link/LWG2740>`__ | constexpr optional<T>::operator-> | Issaquah | |Complete| | |
243 | `2742 <https://wg21.link/LWG2742>`__ | Inconsistent string interface taking string_view | Issaquah | |Complete| | |
244 | `2744 <https://wg21.link/LWG2744>`__ | any's in_place constructors | Issaquah | |Complete| | |
245 | `2745 <https://wg21.link/LWG2745>`__ | [fund.ts.v2] Implementability of LWG 2451 | Issaquah | |Complete| | |
246 | `2747 <https://wg21.link/LWG2747>`__ | Possibly redundant std::move in [alg.foreach] | Issaquah | |Complete| | |
247 | `2748 <https://wg21.link/LWG2748>`__ | swappable traits for optionals | Issaquah | |Complete| | |
248 | `2749 <https://wg21.link/LWG2749>`__ | swappable traits for variants | Issaquah | |Complete| | |
249 | `2750 <https://wg21.link/LWG2750>`__ | [fund.ts.v2] LWG 2451 conversion constructor constraint | Issaquah | |Nothing To Do| | |
250 | `2752 <https://wg21.link/LWG2752>`__ | "Throws:" clauses of async and packaged_task are unimplementable | Issaquah | ||
251 | `2755 <https://wg21.link/LWG2755>`__ | [string.view.io] uses non-existent basic_string_view::to_string function | Issaquah | |Complete| | |
252 | `2756 <https://wg21.link/LWG2756>`__ | C++ WP optional<T> should 'forward' T's implicit conversions | Issaquah | |Complete| | |
253 | `2758 <https://wg21.link/LWG2758>`__ | std::string{}.assign("ABCDE", 0, 1) is ambiguous | Issaquah | |Complete| | |
254 | `2759 <https://wg21.link/LWG2759>`__ | gcd / lcm and bool for the WP | Issaquah | |Complete| | |
255 | `2760 <https://wg21.link/LWG2760>`__ | non-const basic_string::data should not invalidate iterators | Issaquah | |Complete| | |
256 | `2765 <https://wg21.link/LWG2765>`__ | Did LWG 1123 go too far? | Issaquah | |Complete| | |
257 | `2767 <https://wg21.link/LWG2767>`__ | not_fn call_wrapper can form invalid types | Issaquah | |Complete| | |
258 | `2769 <https://wg21.link/LWG2769>`__ | Redundant const in the return type of any_cast(const any&) | Issaquah | |Complete| | |
259 | `2771 <https://wg21.link/LWG2771>`__ | Broken Effects of some basic_string::compare functions in terms of basic_string_view | Issaquah | |Complete| | |
260 | `2773 <https://wg21.link/LWG2773>`__ | Making std::ignore constexpr | Issaquah | |Complete| | |
261 | `2777 <https://wg21.link/LWG2777>`__ | basic_string_view::copy should use char_traits::copy | Issaquah | |Complete| | |
262 | `2778 <https://wg21.link/LWG2778>`__ | basic_string_view is missing constexpr | Issaquah | |Complete| | |
263 | |||||
264 | `2260 <https://wg21.link/LWG2260>`__ | Missing requirement for Allocator::pointer | Kona | |Complete| | |
265 | `2676 <https://wg21.link/LWG2676>`__ | Provide filesystem::path overloads for File-based streams | Kona | |Complete| | |
266 | `2768 <https://wg21.link/LWG2768>`__ | any_cast and move semantics | Kona | |Complete| | |
267 | `2769 <https://wg21.link/LWG2769>`__ | Redundant const in the return type of any_cast(const any&) | Kona | |Complete| | |
268 | `2781 <https://wg21.link/LWG2781>`__ | Contradictory requirements for std::function and std::reference_wrapper | Kona | |Complete| | |
269 | `2782 <https://wg21.link/LWG2782>`__ | scoped_allocator_adaptor constructors must be constrained | Kona | |Complete| | |
270 | `2784 <https://wg21.link/LWG2784>`__ | Resolution to LWG 2484 is missing "otherwise, no effects" and is hard to parse | Kona | |Complete| | |
271 | `2785 <https://wg21.link/LWG2785>`__ | quoted should work with basic_string_view | Kona | |Complete| | |
272 | `2786 <https://wg21.link/LWG2786>`__ | Annex C should mention shared_ptr changes for array support | Kona | |Complete| | |
273 | `2787 <https://wg21.link/LWG2787>`__ | |sect|\ [file_status.cons] doesn't match class definition | Kona | |Complete| | |
274 | `2788 <https://wg21.link/LWG2788>`__ | basic_string range mutators unintentionally require a default constructible allocator | Kona | |Complete| | |
275 | `2789 <https://wg21.link/LWG2789>`__ | Equivalence of contained objects | Kona | |Complete| | |
276 | `2790 <https://wg21.link/LWG2790>`__ | Missing specification of istreambuf_iterator::operator-> | Kona | |Complete| | |
277 | `2794 <https://wg21.link/LWG2794>`__ | Missing requirements for allocator pointers | Kona | |Nothing To Do| | |
278 | `2795 <https://wg21.link/LWG2795>`__ | |sect|\ [global.functions] provides incorrect example of ADL use | Kona | |Complete| | |
279 | `2796 <https://wg21.link/LWG2796>`__ | tuple should be a literal type | Kona | |Complete| | |
280 | `2801 <https://wg21.link/LWG2801>`__ | Default-constructibility of unique_ptr | Kona | |Complete| | |
281 | `2802 <https://wg21.link/LWG2802>`__ | shared_ptr constructor requirements for a deleter | Kona | |Complete| | |
282 | `2804 <https://wg21.link/LWG2804>`__ | Unconditional constexpr default constructor for istream_iterator | Kona | |Complete| | |
283 | `2806 <https://wg21.link/LWG2806>`__ | Base class of bad_optional_access | Kona | |Complete| | |
284 | `2807 <https://wg21.link/LWG2807>`__ | std::invoke should use ``std::is_nothrow_callable``\ | Kona | |Complete| | |
285 | `2812 <https://wg21.link/LWG2812>`__ | Range access is available with <string_view> | Kona | |Complete| | |
286 | `2824 <https://wg21.link/LWG2824>`__ | list::sort should say that the order of elements is unspecified if an exception is thrown | Kona | |Complete| | |
287 | `2826 <https://wg21.link/LWG2826>`__ | string_view iterators use old wording | Kona | |Complete| | |
288 | `2834 <https://wg21.link/LWG2834>`__ | Resolution LWG 2223 is missing wording about end iterators | Kona | |Complete| | |
289 | `2835 <https://wg21.link/LWG2835>`__ | LWG 2536 seems to misspecify <tgmath.h> | Kona | |Complete| | |
290 | `2837 <https://wg21.link/LWG2837>`__ | gcd and lcm should support a wider range of input values | Kona | |Complete| | |
291 | `2838 <https://wg21.link/LWG2838>`__ | is_literal_type specification needs a little cleanup | Kona | |Complete| | |
292 | `2842 <https://wg21.link/LWG2842>`__ | in_place_t check for optional::optional(U&&) should decay U | Kona | |Complete| | |
293 | `2850 <https://wg21.link/LWG2850>`__ | std::function move constructor does unnecessary work | Kona | |Complete| | |
294 | `2853 <https://wg21.link/LWG2853>`__ | Possible inconsistency in specification of erase in [vector.modifiers] | Kona | |Complete| | |
295 | `2855 <https://wg21.link/LWG2855>`__ | std::throw_with_nested("string_literal") | Kona | |Complete| | |
296 | `2857 <https://wg21.link/LWG2857>`__ | {variant,optional,any}::emplace should return the constructed value | Kona | |Complete| | |
297 | `2861 <https://wg21.link/LWG2861>`__ | basic_string should require that charT match traits::char_type | Kona | |Complete| | |
298 | `2866 <https://wg21.link/LWG2866>`__ | Incorrect derived classes constraints | Kona | |Nothing To Do| | |
299 | `2868 <https://wg21.link/LWG2868>`__ | Missing specification of bad_any_cast::what() | Kona | |Complete| | |
300 | `2872 <https://wg21.link/LWG2872>`__ | Add definition for direct-non-list-initialization | Kona | |Complete| | |
301 | `2873 <https://wg21.link/LWG2873>`__ | Add noexcept to several shared_ptr related functions | Kona | |Complete| | |
302 | `2874 <https://wg21.link/LWG2874>`__ | Constructor ``shared_ptr::shared_ptr(Y*)``\ should be constrained | Kona | |Complete| | 13.0 |
303 | `2875 <https://wg21.link/LWG2875>`__ | shared_ptr::shared_ptr(Y\*, D, [|hellip|\ ]) constructors should be constrained | Kona | |Complete| | |
304 | `2876 <https://wg21.link/LWG2876>`__ | ``shared_ptr::shared_ptr(const weak_ptr<Y>&)``\ constructor should be constrained | Kona | ||
305 | `2878 <https://wg21.link/LWG2878>`__ | Missing DefaultConstructible requirement for istream_iterator default constructor | Kona | |Complete| | |
306 | `2890 <https://wg21.link/LWG2890>`__ | The definition of 'object state' applies only to class types | Kona | |Complete| | |
307 | `2900 <https://wg21.link/LWG2900>`__ | The copy and move constructors of optional are not constexpr | Kona | |Complete| | |
308 | `2903 <https://wg21.link/LWG2903>`__ | The form of initialization for the emplace-constructors is not specified | Kona | |Complete| | |
309 | `2904 <https://wg21.link/LWG2904>`__ | Make variant move-assignment more exception safe | Kona | |Complete| | |
310 | `2905 <https://wg21.link/LWG2905>`__ | is_constructible_v<unique_ptr<P, D>, P, D const &> should be false when D is not copy constructible | Kona | |Complete| | |
311 | `2908 <https://wg21.link/LWG2908>`__ | The less-than operator for shared pointers could do more | Kona | |Complete| | |
312 | `2911 <https://wg21.link/LWG2911>`__ | An is_aggregate type trait is needed | Kona | |Complete| | |
313 | `2921 <https://wg21.link/LWG2921>`__ | packaged_task and type-erased allocators | Kona | |Complete| | |
314 | `2934 <https://wg21.link/LWG2934>`__ | optional<const T> doesn't compare with T | Kona | |Complete| | |
315 | |||||
316 | `2901 <https://wg21.link/LWG2901>`__ | Variants cannot properly support allocators | Toronto | |Complete| | |
317 | `2955 <https://wg21.link/LWG2955>`__ | ``to_chars / from_chars``\ depend on ``std::string``\ | Toronto | Resolved by `P0682R1 <https://wg21.link/P0682R1>`__ | |
318 | `2956 <https://wg21.link/LWG2956>`__ | ``filesystem::canonical()``\ still defined in terms of ``absolute(p, base)``\ | Toronto | |Complete| |