Marshall Clow | 893ac44 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" |
| 2 | "http://www.w3.org/TR/html4/strict.dtd"> |
| 3 | <!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ --> |
| 4 | <html> |
| 5 | <head> |
| 6 | <meta http-equiv="content-type" content="text/html; charset=utf-8"> |
| 7 | <title>libc++ C++2a Status</title> |
| 8 | <link type="text/css" rel="stylesheet" href="menu.css"> |
| 9 | <link type="text/css" rel="stylesheet" href="content.css"> |
| 10 | </head> |
| 11 | |
| 12 | <body> |
| 13 | <div id="menu"> |
| 14 | <div> |
Stephan T. Lavavej | f966d3f | 2017-08-31 17:59:42 +0000 | [diff] [blame] | 15 | <a href="https://llvm.org/">LLVM Home</a> |
Marshall Clow | 893ac44 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 16 | </div> |
| 17 | |
| 18 | <div class="submenu"> |
| 19 | <label>libc++ Info</label> |
| 20 | <a href="/index.html">About</a> |
| 21 | </div> |
| 22 | |
| 23 | <div class="submenu"> |
| 24 | <label>Quick Links</label> |
Stephan T. Lavavej | f966d3f | 2017-08-31 17:59:42 +0000 | [diff] [blame] | 25 | <a href="https://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev</a> |
| 26 | <a href="https://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits</a> |
Marshall Clow | 893ac44 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 27 | <a href="https://bugs.llvm.org/">Bug Reports</a> |
Stephan T. Lavavej | f966d3f | 2017-08-31 17:59:42 +0000 | [diff] [blame] | 28 | <a href="https://llvm.org/svn/llvm-project/libcxx/trunk/">Browse SVN</a> |
| 29 | <a href="https://llvm.org/viewvc/llvm-project/libcxx/trunk/">Browse ViewVC</a> |
Marshall Clow | 893ac44 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 30 | </div> |
| 31 | </div> |
| 32 | |
| 33 | <div id="content"> |
| 34 | <!--*********************************************************************--> |
| 35 | <h1>libc++ C++2a Status</h1> |
| 36 | <!--*********************************************************************--> |
| 37 | |
| 38 | <p>In July 2017, the C++ standard committee created a draft for the next version of the C++ standard, known here as "C++2a" (probably to be C++20).</p> |
Stephan T. Lavavej | f966d3f | 2017-08-31 17:59:42 +0000 | [diff] [blame] | 39 | <p>This page shows the status of libc++; the status of clang's support of the language features is <a href="https://clang.llvm.org/cxx_status.html#cxx2a">here</a>.</p> |
Marshall Clow | 893ac44 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 40 | |
Marshall Clow | f226a28 | 2017-07-27 17:44:03 +0000 | [diff] [blame] | 41 | <p>Reminder: Features in unreleased drafts of the standard are subject to change.</p> |
| 42 | |
Marshall Clow | 893ac44 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 43 | <p>The groups that have contributed papers: |
| 44 | <ul> |
| 45 | <li>LWG - Library working group</li> |
| 46 | <li>CWG - Core Language Working group</li> |
| 47 | <li>SG1 - Study group #1 (Concurrency working group)</li> |
| 48 | </ul> |
| 49 | </p> |
| 50 | |
| 51 | <h3>Paper Status</h3> |
| 52 | <table id="papers" border="1"> |
| 53 | <tr><th>Paper #</th><th>Group</th><th>Paper Name</th><th>Meeting</th><th>Status</th><th>First released version</th></tr> |
| 54 | <!-- |
Stephan T. Lavavej | 1e708af | 2017-08-31 17:59:39 +0000 | [diff] [blame] | 55 | <tr><td><a href="https://wg21.link/n3346">3346</a></td><td>LWG</td><td>Terminology for Container Element Requirements - Rev 1</td><td>Kona</td><td>Complete</td><td>3.4</td></tr> |
Marshall Clow | 893ac44 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 56 | --> |
Marshall Clow | cc70488 | 2018-01-24 22:42:25 +0000 | [diff] [blame] | 57 | <tr><td><a href="https://wg21.link/P0463R1">P0463R1</a></td><td>LWG</td><td>Endian just Endian</td><td>Toronto</td><td>Complete</td><td>7.0</td></tr> |
Marshall Clow | 893ac44 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 58 | <tr><td><a href="https://wg21.link/P0674R1">P0674R1</a></td><td>LWG</td><td>Extending make_shared to Support Arrays</td><td>Toronto</td><td></td><td></td></tr> |
| 59 | |
Marshall Clow | 55eda5d | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 60 | <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> |
| 61 | <tr><td><a href="https://wg21.link/P0020R6">P0020R6</a></td><td>LWG</td><td>Floating Point Atomic</td><td>Albuquerque</td><td></td><td></td></tr> |
| 62 | <tr><td><a href="https://wg21.link/P0053R7">P0053R7</a></td><td>LWG</td><td>C++ Synchronized Buffered Ostream</td><td>Albuquerque</td><td></td><td></td></tr> |
Marshall Clow | 8d0d825 | 2018-01-15 16:16:32 +0000 | [diff] [blame] | 63 | <tr><td><a href="https://wg21.link/P0202R3">P0202R3</a></td><td>LWG</td><td>Add constexpr modifiers to functions in <algorithm> and <utility> Headers</td><td>Albuquerque</td><td><I>In Progress</I></td><td>7.0</td></tr> |
Marshall Clow | e2341ac | 2018-01-22 23:17:20 +0000 | [diff] [blame] | 64 | <tr><td><a href="https://wg21.link/P0415R1">P0415R1</a></td><td>LWG</td><td>Constexpr for <tt>std::complex</tt></td><td>Albuquerque</td><td><I>In Progress</I></td><td>7.0</td></tr> |
Marshall Clow | 55eda5d | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 65 | <tr><td><a href="https://wg21.link/P0439R0">P0439R0</a></td><td>LWG</td><td>Make <tt>std::memory_order</tt> a scoped enumeration</td><td>Albuquerque</td><td></td><td></td></tr> |
Marshall Clow | 46b4ad5 | 2017-12-04 20:11:38 +0000 | [diff] [blame] | 66 | <tr><td><a href="https://wg21.link/P0457R2">P0457R2</a></td><td>LWG</td><td>String Prefix and Suffix Checking</td><td>Albuquerque</td><td>Complete</td><td>6.0</td></tr> |
Marshall Clow | 928f286 | 2017-11-13 04:15:39 +0000 | [diff] [blame] | 67 | <tr><td><a href="https://wg21.link/P0550R2">P0550R2</a></td><td>LWG</td><td>Transformation Trait <tt>remove_cvref</tt></td><td>Albuquerque</td><td>Complete</td><td>6.0</td></tr> |
Marshall Clow | 8d0d825 | 2018-01-15 16:16:32 +0000 | [diff] [blame] | 68 | <tr><td><a href="https://wg21.link/P0600R1">P0600R1</a></td><td>LWG</td><td>nodiscard in the Library</td><td>Albuquerque</td><td><I>In Progress</I></td><td>7.0</td></tr> |
Marshall Clow | 55eda5d | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 69 | <tr><td><a href="https://wg21.link/P0616R0">P0616R0</a></td><td>LWG</td><td>de-pessimize legacy <numeric> algorithms with std::move</td><td>Albuquerque</td><td></td><td></td></tr> |
Marshall Clow | 0140bb8 | 2017-11-23 14:50:56 +0000 | [diff] [blame] | 70 | <tr><td><a href="https://wg21.link/P0653R2">P0653R2</a></td><td>LWG</td><td>Utility to convert a pointer to a raw pointer</td><td>Albuquerque</td><td>Complete</td><td>6.0</td></tr> |
Marshall Clow | 55eda5d | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 71 | <tr><td><a href="https://wg21.link/P0718R2">P0718R2</a></td><td>LWG</td><td>Atomic shared_ptr</td><td>Albuquerque</td><td></td><td></td></tr> |
Marshall Clow | 06ac7cd | 2018-03-06 15:01:19 +0000 | [diff] [blame] | 72 | <tr><td><a href="https://wg21.link/P0767R1">P0767R1</a></td><td>CWG</td><td>Deprecate POD</td><td>Albuquerque</td><td>Complete</td><td>7.0</td></tr> |
Marshall Clow | 7513814 | 2017-11-12 18:52:16 +0000 | [diff] [blame] | 73 | <tr><td><a href="https://wg21.link/P0768R1">P0768R1</a></td><td>CWG</td><td>Library Support for the Spaceship (Comparison) Operator</td><td>Albuquerque</td><td></td><td></td></tr> |
Marshall Clow | c387931 | 2018-02-06 21:00:58 +0000 | [diff] [blame] | 74 | <tr><td><a href="https://wg21.link/P0777R1">P0777R1</a></td><td>LWG</td><td>Treating Unnecessary <tt>decay</tt></td><td>Albuquerque</td><td>Complete</td><td>7.0</td></tr> |
Marshall Clow | 6ce040b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 75 | <tr><td><a href="https://wg21.link/P0122R7">P0122R7</a></td><td>LWG</td><td><span></td><td>Jacksonville</td><td></td><td></td></tr> |
| 76 | <tr><td><a href="https://wg21.link/P0355R7">P0355R7</a></td><td>LWG</td><td>Extending chrono to Calendars and Time Zones</td><td>Jacksonville</td><td></td><td></td></tr> |
| 77 | <tr><td><a href="https://wg21.link/P0551R3">P0551R3</a></td><td>LWG</td><td>Thou Shalt Not Specialize <tt>std</tt> Function Templates!</td><td>Jacksonville</td><td></td><td></td></tr> |
| 78 | <tr><td><a href="https://wg21.link/P0753R2">P0753R2</a></td><td>LWG</td><td>Manipulators for C++ Synchronized Buffered Ostream</td><td>Jacksonville</td><td></td><td></td></tr> |
| 79 | <tr><td><a href="https://wg21.link/P0754R2">P0754R2</a></td><td>LWG</td><td><version></td><td>Jacksonville</td><td></td><td></td></tr> |
| 80 | <tr><td><a href="https://wg21.link/P0809R0">P0809R0</a></td><td>LWG</td><td>Comparing Unordered Containers</td><td>Jacksonville</td><td></td><td></td></tr> |
| 81 | <tr><td><a href="https://wg21.link/P0858R0">P0858R0</a></td><td>LWG</td><td>Constexpr iterator requirements</td><td>Jacksonville</td><td></td><td></td></tr> |
| 82 | <tr><td><a href="https://wg21.link/P0905R1">P0905R1</a></td><td>CWG</td><td>Symmetry for spaceship</td><td>Jacksonville</td><td></td><td></td></tr> |
| 83 | <tr><td><a href="https://wg21.link/P0966R1">P0966R1</a></td><td>LWG</td><td><tt>string::reserve</tt> Should Not Shrink</td><td>Jacksonville</td><td></td><td></td></tr> |
Marshall Clow | 55eda5d | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 84 | |
Marshall Clow | 893ac44 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 85 | <!-- <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> --> |
| 86 | </table> |
| 87 | |
| 88 | <p><i>[ Note: "Nothing to do" means that no library changes were needed to implement this change -- end note]</i></p> |
| 89 | |
Marshall Clow | e2341ac | 2018-01-22 23:17:20 +0000 | [diff] [blame] | 90 | <p>The missing bits in P0600 are in [mem.res.class], [mem.poly.allocator.class], and [container.node.overview]</p> |
| 91 | |
| 92 | <p>The missing bits in P0202 are in <tt>copy</tt>, <tt>copy_backwards</tt>, <tt>move</tt>, and <tt>move_backwards</tt> (and the ones that call them: <tt>copy_n</tt>, <tt>rotate_copy</tt>, <tt>merge</tt>, <tt>set_union</tt>, <tt>set_difference</tt>, and <tt>set_symmetric_difference</tt>). This is because the first four algorithms have specializations that call <tt>memmove</tt> which is not constexpr. See <a href="https://bugs.llvm.org/show_bug.cgi?id=25165">Bug 25165</a></p> |
| 93 | |
Marshall Clow | 8f6293b | 2017-12-04 23:03:42 +0000 | [diff] [blame] | 94 | |
Marshall Clow | 893ac44 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 95 | <h3>Library Working group Issues Status</h3> |
| 96 | <!-- <I>Note: "NAD" means that the issue was deemed "Not a defect"</I> --> |
| 97 | <table id="issues" border="1"> |
| 98 | <tr><th>Issue #</th><th>Issue Name</th><th>Meeting</th><th>Status</th></tr> |
| 99 | <!-- |
Stephan T. Lavavej | 819264f | 2017-08-31 17:59:33 +0000 | [diff] [blame] | 100 | <tr><td><a href="https://wg21.link/LWG1214">1214</a></td><td>Insufficient/inconsistent key immutability requirements for associative containers</td><td>Urbana</td><td></td></tr> |
Marshall Clow | 893ac44 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 101 | --> |
Stephan T. Lavavej | 819264f | 2017-08-31 17:59:33 +0000 | [diff] [blame] | 102 | <tr><td><a href="https://wg21.link/LWG2070">2070</a></td><td><tt>allocate_shared</tt> should use <tt>allocator_traits<A>::construct</tt></td><td>Toronto</td><td>Resolved by <a href="https://wg21.link/P0674R1">P0674R1</a></td></tr> |
| 103 | <tr><td><a href="https://wg21.link/LWG2444">2444</a></td><td>Inconsistent complexity for <tt>std::sort_heap</tt></td><td>Toronto</td><td></td></tr> |
| 104 | <tr><td><a href="https://wg21.link/LWG2593">2593</a></td><td>Moved-from state of Allocators</td><td>Toronto</td><td></td></tr> |
| 105 | <tr><td><a href="https://wg21.link/LWG2597">2597</a></td><td><tt>std::log</tt> misspecified for complex numbers</td><td>Toronto</td><td></td></tr> |
Marshall Clow | cc70488 | 2018-01-24 22:42:25 +0000 | [diff] [blame] | 106 | <tr><td><a href="https://wg21.link/LWG2783">2783</a></td><td><tt>stack::emplace()</tt> and <tt>queue::emplace()</tt> should return <tt>decltype(auto)</tt></td><td>Toronto</td><td>Complete</td></tr> |
Stephan T. Lavavej | 819264f | 2017-08-31 17:59:33 +0000 | [diff] [blame] | 107 | <tr><td><a href="https://wg21.link/LWG2932">2932</a></td><td>Constraints on parallel algorithm implementations are underspecified</td><td>Toronto</td><td></td></tr> |
| 108 | <tr><td><a href="https://wg21.link/LWG2937">2937</a></td><td>Is <tt>equivalent("existing_thing", "not_existing_thing")</tt> an error</td><td>Toronto</td><td>Complete</td></tr> |
| 109 | <tr><td><a href="https://wg21.link/LWG2940">2940</a></td><td><tt>result_of</tt> specification also needs a little cleanup</td><td>Toronto</td><td></td></tr> |
| 110 | <tr><td><a href="https://wg21.link/LWG2942">2942</a></td><td>LWG 2873's resolution missed <tt>weak_ptr::owner_before</tt></td><td>Toronto</td><td>Complete</td></tr> |
| 111 | <tr><td><a href="https://wg21.link/LWG2954">2954</a></td><td>Specialization of the convenience variable templates should be prohibited</td><td>Toronto</td><td>Complete</td></tr> |
| 112 | <tr><td><a href="https://wg21.link/LWG2961">2961</a></td><td>Bad postcondition for <tt>set_default_resource</tt></td><td>Toronto</td><td></td></tr> |
| 113 | <tr><td><a href="https://wg21.link/LWG2966">2966</a></td><td>Incomplete resolution of US 74</td><td>Toronto</td><td><i>Nothing to do</i></td></tr> |
| 114 | <tr><td><a href="https://wg21.link/LWG2974">2974</a></td><td>Diagnose out of bounds <tt>tuple_element/variant_alternative</tt></td><td>Toronto</td><td>Complete</td></tr> |
Marshall Clow | 893ac44 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 115 | |
Marshall Clow | 55eda5d | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 116 | <tr><td></td><td></td><td></td><td></td></tr> |
| 117 | <tr><td><a href="https://wg21.link/LWG2779">2779</a></td><td>[networking.ts] Relax requirements on buffer sequence iterators</td><td>Albuquerque</td><td></td></tr> |
Marshall Clow | 37e4c9b | 2018-01-31 21:42:39 +0000 | [diff] [blame] | 118 | <tr><td><a href="https://wg21.link/LWG2870">2870</a></td><td>Default value of parameter theta of polar should be dependent</td><td>Albuquerque</td><td>Complete</td></tr> |
Marshall Clow | 55eda5d | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 119 | <tr><td><a href="https://wg21.link/LWG2935">2935</a></td><td>What should create_directories do when p already exists but is not a directory?</td><td>Albuquerque</td><td></td></tr> |
| 120 | <tr><td><a href="https://wg21.link/LWG2941">2941</a></td><td>[thread.req.timing] wording should apply to both member and namespace-level functions</td><td>Albuquerque</td><td><i>Nothing to do</i></td></tr> |
| 121 | <tr><td><a href="https://wg21.link/LWG2944">2944</a></td><td>LWG 2905 accidentally removed requirement that construction of the deleter doesn't throw an exception</td><td>Albuquerque</td><td><i>Nothing to do</i></td></tr> |
| 122 | <tr><td><a href="https://wg21.link/LWG2945">2945</a></td><td>Order of template parameters in optional comparisons</td><td>Albuquerque</td><td>Complete</td></tr> |
Marshall Clow | b250294 | 2017-11-27 15:51:36 +0000 | [diff] [blame] | 123 | <tr><td><a href="https://wg21.link/LWG2948">2948</a></td><td>unique_ptr does not define operator<< for stream output</td><td>Albuquerque</td><td>Complete</td></tr> |
Marshall Clow | 5272877 | 2017-11-14 01:14:53 +0000 | [diff] [blame] | 124 | <tr><td><a href="https://wg21.link/LWG2950">2950</a></td><td>std::byte operations are misspecified</td><td>Albuquerque</td><td>Complete</td></tr> |
Marshall Clow | e1cfe7a | 2017-11-14 00:03:10 +0000 | [diff] [blame] | 125 | <tr><td><a href="https://wg21.link/LWG2952">2952</a></td><td>iterator_traits should work for pointers to cv T</td><td>Albuquerque</td><td>Complete</td></tr> |
Marshall Clow | 55eda5d | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 126 | <tr><td><a href="https://wg21.link/LWG2953">2953</a></td><td>LWG 2853 should apply to deque::erase too</td><td>Albuquerque</td><td></td></tr> |
| 127 | <tr><td><a href="https://wg21.link/LWG2958">2958</a></td><td>Moves improperly defined as deleted</td><td>Albuquerque</td><td></td></tr> |
| 128 | <tr><td><a href="https://wg21.link/LWG2964">2964</a></td><td>Apparently redundant requirement for dynamic_pointer_cast</td><td>Albuquerque</td><td></td></tr> |
| 129 | <tr><td><a href="https://wg21.link/LWG2965">2965</a></td><td>Non-existing path::native_string() in filesystem_error::what() specification</td><td>Albuquerque</td><td></td></tr> |
Marshall Clow | e2341ac | 2018-01-22 23:17:20 +0000 | [diff] [blame] | 130 | <tr><td><a href="https://wg21.link/LWG2972">2972</a></td><td>What is is_trivially_destructible_v<int>?</td><td>Albuquerque</td><td>Complete</td></tr> |
Marshall Clow | 14ff899 | 2017-11-27 19:43:28 +0000 | [diff] [blame] | 131 | <tr><td><a href="https://wg21.link/LWG2976">2976</a></td><td>Dangling uses_allocator specialization for packaged_task</td><td>Albuquerque</td><td>Complete</td></tr> |
Marshall Clow | 55eda5d | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 132 | <tr><td><a href="https://wg21.link/LWG2977">2977</a></td><td>unordered_meow::merge() has incorrect Throws: clause</td><td>Albuquerque</td><td></td></tr> |
| 133 | <tr><td><a href="https://wg21.link/LWG2978">2978</a></td><td>Hash support for pmr::string and friends</td><td>Albuquerque</td><td></td></tr> |
| 134 | <tr><td><a href="https://wg21.link/LWG2979">2979</a></td><td>aligned_union should require complete object types</td><td>Albuquerque</td><td>Complete</td></tr> |
| 135 | <tr><td><a href="https://wg21.link/LWG2980">2980</a></td><td>Cannot compare_exchange empty pointers</td><td>Albuquerque</td><td></td></tr> |
| 136 | <tr><td><a href="https://wg21.link/LWG2981">2981</a></td><td>Remove redundant deduction guides from standard library</td><td>Albuquerque</td><td></td></tr> |
| 137 | <tr><td><a href="https://wg21.link/LWG2982">2982</a></td><td>Making size_type consistent in associative container deduction guides</td><td>Albuquerque</td><td></td></tr> |
| 138 | <tr><td><a href="https://wg21.link/LWG2988">2988</a></td><td>Clause 32 cleanup missed one typename</td><td>Albuquerque</td><td></td></tr> |
| 139 | <tr><td><a href="https://wg21.link/LWG2993">2993</a></td><td>reference_wrapper<T> conversion from T&&</td><td>Albuquerque</td><td></td></tr> |
| 140 | <tr><td><a href="https://wg21.link/LWG2998">2998</a></td><td>Requirements on function objects passed to {forward_,}list-specific algorithms</td><td>Albuquerque</td><td><i>Nothing to do</i></td></tr> |
| 141 | <tr><td><a href="https://wg21.link/LWG3001">3001</a></td><td>weak_ptr::element_type needs remove_extent_t</td><td>Albuquerque</td><td></td></tr> |
| 142 | <tr><td><a href="https://wg21.link/LWG3024">3024</a></td><td>variant's copies must be deleted instead of disabled via SFINAE</td><td>Albuquerque</td><td></td></tr> |
| 143 | |
Marshall Clow | 6ce040b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 144 | <tr><td></td><td></td><td></td><td></td></tr> |
| 145 | <tr><td><a href="https://wg21.link/LWG2164">2164</a></td><td>What are the semantics of <tt>vector.emplace(vector.begin(), vector.back())</tt>?</td><td>Jacksonville</td><td></td></tr> |
| 146 | <tr><td><a href="https://wg21.link/LWG2243">2243</a></td><td><tt>istream::putback</tt> problem</td><td>Jacksonville</td><td>Complete</td></tr> |
| 147 | <tr><td><a href="https://wg21.link/LWG2816">2816</a></td><td><tt>resize_file</tt> has impossible postcondition</td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr> |
| 148 | <tr><td><a href="https://wg21.link/LWG2843">2843</a></td><td>Unclear behavior of <tt>std::pmr::memory_resource::do_allocate()</tt></td><td>Jacksonville</td><td></td></tr> |
| 149 | <tr><td><a href="https://wg21.link/LWG2849">2849</a></td><td>Why does <tt>!is_regular_file(from)</tt> cause <tt>copy_file</tt> to report a "file already exists" error?</td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr> |
| 150 | <tr><td><a href="https://wg21.link/LWG2851">2851</a></td><td><tt>std::filesystem</tt> enum classes are now underspecified</td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr> |
| 151 | <tr><td><a href="https://wg21.link/LWG2946">2946</a></td><td>LWG 2758's resolution missed further corrections</td><td>Jacksonville</td><td></td></tr> |
| 152 | <tr><td><a href="https://wg21.link/LWG2969">2969</a></td><td><tt>polymorphic_allocator::construct()</tt> shouldn't pass <tt>resource()</tt></td><td>Jacksonville</td><td></td></tr> |
| 153 | <tr><td><a href="https://wg21.link/LWG2975">2975</a></td><td>Missing case for <tt>pair</tt> construction in scoped and polymorphic allocators</td><td>Jacksonville</td><td></td></tr> |
| 154 | <tr><td><a href="https://wg21.link/LWG2989">2989</a></td><td><tt>path</tt>'s stream insertion operator lets you insert everything under the sun</td><td>Jacksonville</td><td>Completed</td></tr> |
| 155 | <tr><td><a href="https://wg21.link/LWG3000">3000</a></td><td><tt>monotonic_memory_resource::do_is_equal</tt> uses <tt>dynamic_cast</tt> unnecessarily</td><td>Jacksonville</td><td></td></tr> |
| 156 | <tr><td><a href="https://wg21.link/LWG3002">3002</a></td><td>[networking.ts] <tt>basic_socket_acceptor::is_open()</tt> isn't <tt>noexcept</tt></td><td>Jacksonville</td><td></td></tr> |
| 157 | <tr><td><a href="https://wg21.link/LWG3004">3004</a></td><td>§[string.capacity] and §[vector.capacity] should specify time complexity for <tt>capacity()</tt></td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr> |
| 158 | <tr><td><a href="https://wg21.link/LWG3005">3005</a></td><td>Destruction order of arrays by <tt>make_shared/allocate_shared</tt> only recommended?</td><td>Jacksonville</td><td></td></tr> |
| 159 | <tr><td><a href="https://wg21.link/LWG3007">3007</a></td><td><tt>allocate_shared</tt> should rebind allocator to <i>cv</i>-unqualified <tt>value_type</tt> for construction</td><td>Jacksonville</td><td></td></tr> |
| 160 | <tr><td><a href="https://wg21.link/LWG3009">3009</a></td><td>Including <tt><string_view></tt> doesn't provide <tt>std::size/empty/data</tt></td><td>Jacksonville</td><td>Complete</td></tr> |
| 161 | <tr><td><a href="https://wg21.link/LWG3010">3010</a></td><td>[networking.ts] <tt>uses_executor</tt> says "if a type <tt>T::executor_type</tt> exists"</td><td>Jacksonville</td><td></td></tr> |
| 162 | <tr><td><a href="https://wg21.link/LWG3013">3013</a></td><td><tt>(recursive_)directory_iterator</tt> construction and traversal should not be <tt>noexcept</tt></td><td>Jacksonville</td><td>Complete</td></tr> |
| 163 | <tr><td><a href="https://wg21.link/LWG3014">3014</a></td><td>More <tt>noexcept</tt> issues with filesystem operations</td><td>Jacksonville</td><td>Complete</td></tr> |
| 164 | <tr><td><a href="https://wg21.link/LWG3015">3015</a></td><td><tt>copy_options::<i>unspecified</i></tt> underspecified</td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr> |
| 165 | <tr><td><a href="https://wg21.link/LWG3017">3017</a></td><td><tt>list splice</tt> functions should use <tt>addressof</tt></td><td>Jacksonville</td><td></td></tr> |
| 166 | <tr><td><a href="https://wg21.link/LWG3020">3020</a></td><td>[networking.ts] Remove spurious nested <tt>value_type</tt> buffer sequence requirement</td><td>Jacksonville</td><td></td></tr> |
Eric Fiselier | 1e34c76 | 2018-04-02 23:03:41 +0000 | [diff] [blame^] | 167 | <tr><td><a href="https://wg21.link/LWG3026">3026</a></td><td><tt>filesystem::weakly_canonical</tt> still defined in terms of <tt>canonical(p, base)</tt></td><td>Jacksonville</td><td>Complete</td></tr> |
Marshall Clow | 6ce040b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 168 | <tr><td><a href="https://wg21.link/LWG3030">3030</a></td><td>Who shall meet the requirements of <tt>try_lock</tt>?</td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr> |
Marshall Clow | 256f187 | 2018-03-21 00:36:05 +0000 | [diff] [blame] | 169 | <tr><td><a href="https://wg21.link/LWG3034">3034</a></td><td>P0767R1 breaks previously-standard-layout types</td><td>Jacksonville</td><td>Complete</td></tr> |
| 170 | <tr><td><a href="https://wg21.link/LWG3035">3035</a></td><td><tt>std::allocator</tt>'s constructors should be <tt>constexpr</tt></td><td>Jacksonville</td><td>Complete</td></tr> |
| 171 | <tr><td><a href="https://wg21.link/LWG3039">3039</a></td><td>Unnecessary <tt>decay</tt> in <tt>thread</tt> and <tt>packaged_task</tt></td><td>Jacksonville</td><td>Complete</td></tr> |
| 172 | <tr><td><a href="https://wg21.link/LWG3041">3041</a></td><td>Unnecessary <tt>decay</tt> in <tt>reference_wrapper</tt></td><td>Jacksonville</td><td>Complete</td></tr> |
Marshall Clow | 6ce040b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 173 | <tr><td><a href="https://wg21.link/LWG3042">3042</a></td><td><tt>is_literal_type_v</tt> should be inline</td><td>Jacksonville</td><td>Complete</td></tr> |
| 174 | <tr><td><a href="https://wg21.link/LWG3043">3043</a></td><td>Bogus postcondition for <tt>filesystem_error</tt> constructor</td><td>Jacksonville</td><td></td></tr> |
| 175 | <tr><td><a href="https://wg21.link/LWG3045">3045</a></td><td><tt>atomic<<i>floating-point</i>></tt> doesn't have <tt>value_type</tt> or <tt>difference_type</tt></td><td>Jacksonville</td><td></td></tr> |
| 176 | <tr><td><a href="https://wg21.link/LWG3048">3048</a></td><td><tt>transform_reduce(exec, first1, last1, first2, init)</tt> discards execution policy</td><td>Jacksonville</td><td></td></tr> |
| 177 | <tr><td><a href="https://wg21.link/LWG3051">3051</a></td><td>Floating point classifications were inadvertently changed in P0175</td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr> |
| 178 | <tr><td><a href="https://wg21.link/LWG3075">3075</a></td><td><tt>basic_string</tt> needs deduction guides from <tt>basic_string_view</tt></td><td>Jacksonville</td><td></td></tr> |
| 179 | |
Marshall Clow | 893ac44 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 180 | <!-- <tr><td></td><td></td><td></td><td></td></tr> --> |
| 181 | </table> |
| 182 | |
Marshall Clow | 256f187 | 2018-03-21 00:36:05 +0000 | [diff] [blame] | 183 | <p>Last Updated: 20-Mar-2018</p> |
Marshall Clow | 893ac44 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 184 | </div> |
| 185 | </body> |
| 186 | </html> |