blob: 88d2d9d30dc6d1143676ed1127275cb807ee5307 [file] [log] [blame]
Marshall Clow0e4ed2f2016-02-16 14:35:56 +00001<!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>
Marshall Clowc3eec462017-02-06 15:29:03 +00006 <meta http-equiv="content-type" content="text/html; charset=utf-8">
Marshall Clowa8054c32016-06-07 20:05:57 +00007 <title>libc++ Upcoming Meeting Status</title>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +00008 <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. Lavavejf966d3f2017-08-31 17:59:42 +000015 <a href="https://llvm.org/">LLVM Home</a>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +000016 </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. Lavavejf966d3f2017-08-31 17:59:42 +000025 <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>
Eric Fiselierb7fd0be2017-02-17 08:37:03 +000027 <a href="https://bugs.llvm.org/">Bug Reports</a>
Stephan T. Lavavejf966d3f2017-08-31 17:59:42 +000028 <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 Clow0e4ed2f2016-02-16 14:35:56 +000030 </div>
31</div>
32
33<div id="content">
34 <!--*********************************************************************-->
Marshall Clowf003d632018-02-07 19:24:37 +000035 <h1>libc++ Upcoming Meeting Status</h1>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +000036 <!--*********************************************************************-->
37
Stephan T. Lavaveja1ae67b2017-08-31 17:59:51 +000038 <p>This is a temporary page; please check the c++1z status <a href="cxx1z_status.html">here</a></p>
Marshall Clowd422c952017-11-01 04:03:35 +000039 <p>This page shows the status of the papers and issues that are expected to be adopted in the next WG21 Meeting.</p>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +000040
41 <p>The groups that have contributed papers:
42 <ul>
43 <li>LWG - Library working group</li>
44 <li>CWG - Core Language Working group</li>
45 <li>SG1 - Study group #1 (Concurrency working group)</li>
46 </ul>
47 </p>
Marshall Clow2ac0ed02017-06-26 04:25:15 +000048
Marshall Clow0e4ed2f2016-02-16 14:35:56 +000049 <h3>Paper Status</h3>
50 <table id="papers" border="1">
51 <tr><th>Paper #</th><th>Group</th><th>Paper Name</th><th>Meeting</th><th>Status</th><th>First released version</th></tr>
52<!--
Marshall Clow67371162017-10-31 00:19:47 +000053 <tr><td><a href="https://wg21.link/LWGn3346">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 Clow0e4ed2f2016-02-16 14:35:56 +000054-->
55<!-- <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> -->
56 </table>
57
58 <h3>Library Working group Issues Status</h3>
59 <table id="issues" border="1">
Marshall Clow6cec3422016-05-31 14:29:38 +000060 <tr><th>Issue #</th><th>Issue Name</th><th>Meeting</th><th>Status</th></tr>
61
Marshall Clow64aa1c12018-01-30 00:48:39 +000062<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>
63<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>
64<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>
65<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>
Marshall Clow6c83c7f2018-02-06 01:59:28 +000066<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>
67<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>
Marshall Clow64aa1c12018-01-30 00:48:39 +000068<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>
69<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>
Eric Fiselier0b47a652018-02-04 03:10:53 +000070<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>
Marshall Clow64aa1c12018-01-30 00:48:39 +000071<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>
72<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>
73<tr><td><a href="https://wg21.link/LWG3004">3004</a></td><td>&sect;[string.capacity] and &sect;[vector.capacity] should specify time complexity for <tt>capacity()</tt></td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr>
74<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>
75<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>
76<tr><td><a href="https://wg21.link/LWG3009">3009</a></td><td>Including <tt>&lt;string_view&gt;</tt> doesn't provide <tt>std::size/empty/data</tt></td><td>Jacksonville</td><td>Complete</td></tr>
77<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>
Eric Fiselierb2c07b02018-02-04 07:29:53 +000078<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>
Eric Fiselier4d0f4282018-02-04 07:35:36 +000079<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>
Marshall Clow6c83c7f2018-02-06 01:59:28 +000080<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>
Marshall Clow64aa1c12018-01-30 00:48:39 +000081<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>
82<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>
83<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></td></tr>
Marshall Clow4d839cb2018-02-06 03:23:16 +000084<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 Clow46c8ec52018-02-06 03:24:21 +000085<tr><td><a href="https://wg21.link/LWG3034">3034</a></td><td>P0767R1 breaks previously-standard-layout types</td><td>Jacksonville</td><td><i>Patch Ready</i></td></tr>
Marshall Clow6c83c7f2018-02-06 01:59:28 +000086<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><i>Patch Ready</i></td></tr>
87<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><i>Patch Ready</i></td></tr>
88<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><i>Patch Ready</i></td></tr>
Marshall Clow64aa1c12018-01-30 00:48:39 +000089<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>
90<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>
91<tr><td><a href="https://wg21.link/LWG3045">3045</a></td><td><tt>atomic&lt;<i>floating-point</i>&gt;</tt> doesn't have <tt>value_type</tt> or <tt>difference_type</tt></td><td>Jacksonville</td><td></td></tr>
92<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>
Marshall Clow65c4c242018-01-30 21:49:17 +000093<tr><td><a href="https://wg21.link/LWG3051">3051</a></td><td><tt>Floating point classifications were inadvertently changed in P0175</td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr>
Marshall Clow5a00ab82017-02-06 15:17:22 +000094
Marshall Clow0e4ed2f2016-02-16 14:35:56 +000095 </table>
96
Marshall Clow53095c72018-02-05 23:50:49 +000097<h3>Issues to "Review"</h3>
98<table border="1">
99<tr><th>Issue #</th><th>Issue Name</th><th>Meeting</th><th>Status</th></tr>
Marshall Clowf003d632018-02-07 19:24:37 +0000100<tr><td><a href="https://wg21.link/LWG2412">2412</a></td><td><tt>promise::set_value()</tt> and <tt>promise::get_future()</tt> should not race</td><td>Jacksonville</td><td>Complete</td></tr>
Marshall Clow53095c72018-02-05 23:50:49 +0000101<tr><td><a href="https://wg21.link/LWG2682">2682</a></td><td><code>filesystem::copy()</code> won't create a symlink to a directory</td><td>Jacksonville</td><td></td></tr>
102<tr><td><a href="https://wg21.link/LWG2697">2697</a></td><td>[concurr.ts] Behavior of <tt>future/shared_future</tt> unwrapping constructor when given an invalid <tt>future</tt></td><td>Jacksonville</td><td></td></tr>
103<tr><td><a href="https://wg21.link/LWG2708">2708</a></td><td><tt>recursive_directory_iterator::recursion_pending()</tt> is incorrectly specified</td><td>Jacksonville</td><td></td></tr>
104<tr><td><a href="https://wg21.link/LWG2936">2936</a></td><td>Path comparison is defined in terms of the generic format</td><td>Jacksonville</td><td></td></tr>
105</table>
106
107
Marshall Clow0e4ed2f2016-02-16 14:35:56 +0000108<h3>Comments about the issues</h3>
109<ul>
Marshall Clow64aa1c12018-01-30 00:48:39 +0000110<li> 2164 - Writing tests here will be fun.</li>
111<li> 2243 - We already do this.</li>
112<li> 2816 - Wording changes only</li>
113<li> 2843 - We don't have PMRs yet</li>
Eric Fiselieraf1fd7c2018-02-04 02:43:32 +0000114<li> 2849 - We already report different errors. </li>
Eric Fiseliercc7688a2018-02-04 02:45:33 +0000115<li> 2851 - Wording changes only</li>
Marshall Clow64aa1c12018-01-30 00:48:39 +0000116<li> 2969 - We don't have PMRs yet</li>
117<li> 2975 - We can do the scoped_ bit, but the PMR stuff will have to wait.</li>
Eric Fiselier0b47a652018-02-04 03:10:53 +0000118<li> 2989 - Proposed changes LGTM </li>
Marshall Clow64aa1c12018-01-30 00:48:39 +0000119<li> 3000 - We don't have PMRs yet</li>
120<li> 3002 - No networking TS implementation yet</li>
121<li> 3004 - Wording changes only</li>
122<li> 3005 - We don't have shared_ptr support for arrays yet</li>
123<li> 3007 - <i>Looks easy</i></li>
124<li> 3009 - We do this already; tests added in r323719</li>
125<li> 3010 - No networking TS implementation yet</li>
Eric Fiselierb2c07b02018-02-04 07:29:53 +0000126<li> 3013 - We already implement this</li>
Eric Fiselier4d0f4282018-02-04 07:35:36 +0000127<li> 3014 - We implement this</li>
Eric Fiselier88232b12018-02-04 07:37:09 +0000128<li> 3015 - Wording changes only</li>
Marshall Clow64aa1c12018-01-30 00:48:39 +0000129<li> 3017 - We don't do the splicing stuff yet</li>
130<li> 3020 - No networking TS implementation yet</li>
131<li> 3026 - I think this is just wording cleanup - Eric?</li>
Marshall Clow4d839cb2018-02-06 03:23:16 +0000132<li> 3030 - Wording changes only</li>
Marshall Clow46c8ec52018-02-06 03:24:21 +0000133<li> 3034 - <i>Patch Ready</i></li>
Marshall Clow6c83c7f2018-02-06 01:59:28 +0000134<li> 3035 - <i>Patch Ready</i></li>
Marshall Clow53095c72018-02-05 23:50:49 +0000135<li> 3039 - <i>Patch Ready</i></li>
136<li> 3041 - <i>Patch Ready</i></li>
Marshall Clow64aa1c12018-01-30 00:48:39 +0000137<li> 3042 - We already do this.</li>
138<li> 3043 - We have a 'TODO(ericwf)' here</li>
139<li> 3045 - We haven't done the &lt;atomic&gt; rework yet.</li>
140<li> 3048 - We haven't done the parallel algorithms yet.</li>
Marshall Clow65c4c242018-01-30 21:49:17 +0000141<li> 3051 - Fixing an inadvertent wording change</li>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +0000142</ul>
143
Marshall Clow53095c72018-02-05 23:50:49 +0000144<h3>Comments about the "Review" issues</h3>
145<ul>
Marshall Clowf003d632018-02-07 19:24:37 +0000146<li> 2412 - I think we do this already</li>
147<li> 2682 - Eric - don't we do this already? </li>
148<li> 2697 - No concurrency TS implementation yet</li>
149<li> 2708 - Eric? </li>
150<li> 2936 - Eric - don't we do this already?</li>
Marshall Clow53095c72018-02-05 23:50:49 +0000151</ul>
152
Marshall Clowf003d632018-02-07 19:24:37 +0000153<p>Last Updated: 7-Feb-2018</p>
Marshall Clow0e4ed2f2016-02-16 14:35:56 +0000154</div>
155</body>
156</html>