Marshall Clow | a413f58 | 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 | 1e7fbda | 2017-08-31 17:59:42 +0000 | [diff] [blame] | 15 | <a href="https://llvm.org/">LLVM Home</a> |
Marshall Clow | a413f58 | 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 | 1e7fbda | 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 | a413f58 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 27 | <a href="https://bugs.llvm.org/">Bug Reports</a> |
James Y Knight | f18eebf | 2019-01-29 16:37:27 +0000 | [diff] [blame] | 28 | <a href="https://github.com/llvm/llvm-project/tree/master/libcxx/">Browse Sources</a> |
Marshall Clow | a413f58 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 29 | </div> |
| 30 | </div> |
| 31 | |
| 32 | <div id="content"> |
| 33 | <!--*********************************************************************--> |
| 34 | <h1>libc++ C++2a Status</h1> |
| 35 | <!--*********************************************************************--> |
| 36 | |
| 37 | <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 | 1e7fbda | 2017-08-31 17:59:42 +0000 | [diff] [blame] | 38 | <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 | a413f58 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 39 | |
Marshall Clow | f68c692 | 2017-07-27 17:44:03 +0000 | [diff] [blame] | 40 | <p>Reminder: Features in unreleased drafts of the standard are subject to change.</p> |
| 41 | |
Marshall Clow | a413f58 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 42 | <p>The groups that have contributed papers: |
| 43 | <ul> |
| 44 | <li>LWG - Library working group</li> |
| 45 | <li>CWG - Core Language Working group</li> |
| 46 | <li>SG1 - Study group #1 (Concurrency working group)</li> |
| 47 | </ul> |
| 48 | </p> |
| 49 | |
| 50 | <h3>Paper Status</h3> |
| 51 | <table id="papers" border="1"> |
| 52 | <tr><th>Paper #</th><th>Group</th><th>Paper Name</th><th>Meeting</th><th>Status</th><th>First released version</th></tr> |
| 53 | <!-- |
Stephan T. Lavavej | 5b318bd | 2017-08-31 17:59:39 +0000 | [diff] [blame] | 54 | <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 | a413f58 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 55 | --> |
Marshall Clow | 8874685 | 2018-01-24 22:42:25 +0000 | [diff] [blame] | 56 | <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 | a413f58 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 57 | <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> |
| 58 | |
Marshall Clow | 05b2fb3 | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 59 | <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> |
| 60 | <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> |
| 61 | <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 | 96d050a | 2018-01-15 16:16:32 +0000 | [diff] [blame] | 62 | <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 | 03a6033 | 2018-01-22 23:17:20 +0000 | [diff] [blame] | 63 | <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> |
Davide Italiano | 011f80a | 2019-03-05 18:40:49 +0000 | [diff] [blame] | 64 | <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>Complete</td><td></td></tr> |
Marshall Clow | 18c293b | 2017-12-04 20:11:38 +0000 | [diff] [blame] | 65 | <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 | 741b965 | 2017-11-13 04:15:39 +0000 | [diff] [blame] | 66 | <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 | 96d050a | 2018-01-15 16:16:32 +0000 | [diff] [blame] | 67 | <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 | 05b2fb3 | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 68 | <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 | 168bc91 | 2017-11-23 14:50:56 +0000 | [diff] [blame] | 69 | <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 | 05b2fb3 | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 70 | <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 | 49aeb22 | 2018-03-06 15:01:19 +0000 | [diff] [blame] | 71 | <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 | 0719ec9 | 2019-02-26 17:01:00 +0000 | [diff] [blame] | 72 | <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>Complete</td><td></td></tr> |
Marshall Clow | 1af619a | 2018-02-06 21:00:58 +0000 | [diff] [blame] | 73 | <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 | 35a4504 | 2018-08-02 02:11:06 +0000 | [diff] [blame] | 74 | <tr><td><a href="https://wg21.link/P0122R7">P0122R7</a></td><td>LWG</td><td><span></td><td>Jacksonville</td><td>Complete</td><td>7.0</td></tr> |
Marshall Clow | 9fc25ac | 2018-09-12 18:51:12 +0000 | [diff] [blame] | 75 | <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><i>In progress</i></td><td></td></tr> |
Marshall Clow | 7f13b1b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 76 | <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> |
| 77 | <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> |
Marshall Clow | 1098880 | 2018-04-03 15:48:24 +0000 | [diff] [blame] | 78 | <tr><td><a href="https://wg21.link/P0754R2">P0754R2</a></td><td>LWG</td><td><version></td><td>Jacksonville</td><td>Complete</td><td>7.0</td></tr> |
Marshall Clow | 7f13b1b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 79 | <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> |
| 80 | <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> |
| 81 | <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> |
Marshall Clow | 6ae12a8 | 2018-11-28 18:18:34 +0000 | [diff] [blame] | 82 | <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>Complete</td><td>8.0</td></tr> |
Marshall Clow | 05b2fb3 | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 83 | |
Marshall Clow | 3b1e419 | 2018-06-12 02:45:30 +0000 | [diff] [blame] | 84 | <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> |
| 85 | <tr><td><a href="https://wg21.link/P0019R8">P0019R8</a></td><td>LWG</td><td>Atomic Ref</td><td>Rapperswil</td><td></td><td></td></tr> |
Zoe Carver | 3ffbab1 | 2019-07-16 03:21:01 +0000 | [diff] [blame] | 86 | <tr><td><a href="https://wg21.link/P0458R2">P0458R2</a></td><td>LWG</td><td>Checking for Existence of an Element in Associative Containers</td><td>Rapperswil</td><td>Complete</td><td></td></tr> |
Marshall Clow | 3b1e419 | 2018-06-12 02:45:30 +0000 | [diff] [blame] | 87 | <tr><td><a href="https://wg21.link/P0475R1">P0475R1</a></td><td>LWG</td><td>LWG 2511: guaranteed copy elision for piecewise construction</td><td>Rapperswil</td><td></td><td></td></tr> |
| 88 | <tr><td><a href="https://wg21.link/P0476R2">P0476R2</a></td><td>LWG</td><td>Bit-casting object representations</td><td>Rapperswil</td><td></td><td></td></tr> |
| 89 | <tr><td><a href="https://wg21.link/P0528R3">P0528R3</a></td><td>CWG</td><td>The Curious Case of Padding Bits, Featuring Atomic Compare-and-Exchange</td><td>Rapperswil</td><td></td><td></td></tr> |
| 90 | <tr><td><a href="https://wg21.link/P0542R5">P0542R5</a></td><td>CWG</td><td>Support for contract based programming in C++</td><td>Rapperswil</td><td></td><td></td></tr> |
Marshall Clow | 4e27358 | 2019-07-01 23:00:34 +0000 | [diff] [blame] | 91 | <tr><td><a href="https://wg21.link/P0556R3">P0556R3</a></td><td>LWG</td><td>Integral power-of-2 operations</td><td>Rapperswil</td><td>Complete</td><td>9.0</td></tr> |
Marshall Clow | 3b1e419 | 2018-06-12 02:45:30 +0000 | [diff] [blame] | 92 | <tr><td><a href="https://wg21.link/P0619R4">P0619R4</a></td><td>LWG</td><td>Reviewing Deprecated Facilities of C++17 for C++20</td><td>Rapperswil</td><td></td><td></td></tr> |
| 93 | <tr><td><a href="https://wg21.link/P0646R1">P0646R1</a></td><td>LWG</td><td>Improving the Return Value of Erase-Like Algorithms</td><td>Rapperswil</td><td></td><td></td></tr> |
Eric Fiselier | 456c81a | 2019-05-24 00:10:33 +0000 | [diff] [blame] | 94 | <tr><td><a href="https://wg21.link/P0722R3">P0722R3</a></td><td>CWG</td><td>Efficient sized delete for variable sized classes</td><td>Rapperswil</td><td>Complete</td><td>9.0</td></tr> |
Louis Dionne | 5cb0279 | 2019-02-27 17:57:38 +0000 | [diff] [blame] | 95 | <tr><td><a href="https://wg21.link/P0758R1">P0758R1</a></td><td>LWG</td><td>Implicit conversion traits and utility functions</td><td>Rapperswil</td><td>Complete</td><td></td></tr> |
Marshall Clow | 3b1e419 | 2018-06-12 02:45:30 +0000 | [diff] [blame] | 96 | <tr><td><a href="https://wg21.link/P0759R1">P0759R1</a></td><td>LWG</td><td>fpos Requirements</td><td>Rapperswil</td><td></td><td></td></tr> |
| 97 | <tr><td><a href="https://wg21.link/P0769R2">P0769R2</a></td><td>LWG</td><td>Add shift to <algorithm></td><td>Rapperswil</td><td></td><td></td></tr> |
Marshall Clow | 3b1e419 | 2018-06-12 02:45:30 +0000 | [diff] [blame] | 98 | <tr><td><a href="https://wg21.link/P0788R3">P0788R3</a></td><td>LWG</td><td>Standard Library Specification in a Concepts and Contracts World</td><td>Rapperswil</td><td></td><td></td></tr> |
| 99 | <tr><td><a href="https://wg21.link/P0879R0">P0879R0</a></td><td>LWG</td><td>Constexpr for swap and swap related functions Also resolves LWG issue 2800.</td><td>Rapperswil</td><td></td><td></td></tr> |
Marshall Clow | 35a4504 | 2018-08-02 02:11:06 +0000 | [diff] [blame] | 100 | <tr><td><a href="https://wg21.link/P0887R1">P0887R1</a></td><td>LWG</td><td>The identity metafunction</td><td>Rapperswil</td><td>Complete</td><td>8.0</td></tr> |
Marshall Clow | 3b1e419 | 2018-06-12 02:45:30 +0000 | [diff] [blame] | 101 | <tr><td><a href="https://wg21.link/P0892R2">P0892R2</a></td><td>CWG</td><td>explicit(bool)</td><td>Rapperswil</td><td></td><td></td></tr> |
| 102 | <tr><td><a href="https://wg21.link/P0898R3">P0898R3</a></td><td>LWG</td><td>Standard Library Concepts</td><td>Rapperswil</td><td></td><td></td></tr> |
| 103 | <tr><td><a href="https://wg21.link/P0935R0">P0935R0</a></td><td>LWG</td><td>Eradicating unnecessarily explicit default constructors from the standard library</td><td>Rapperswil</td><td></td><td></td></tr> |
Marshall Clow | 9fc25ac | 2018-09-12 18:51:12 +0000 | [diff] [blame] | 104 | <tr><td><a href="https://wg21.link/P0941R2">P0941R2</a></td><td>CWG</td><td>Integrating feature-test macros into the C++ WD</td><td>Rapperswil</td><td><i>In progress</i></td><td></td></tr> |
Marshall Clow | 35a4504 | 2018-08-02 02:11:06 +0000 | [diff] [blame] | 105 | <tr><td><a href="https://wg21.link/P1023R0">P1023R0</a></td><td>LWG</td><td>constexpr comparison operators for std::array</td><td>Rapperswil</td><td>Complete</td><td>8.0</td></tr> |
Marshall Clow | 3b1e419 | 2018-06-12 02:45:30 +0000 | [diff] [blame] | 106 | <tr><td><a href="https://wg21.link/P1025R1">P1025R1</a></td><td>CWG</td><td>Update The Reference To The Unicode Standard</td><td>Rapperswil</td><td></td><td></td></tr> |
| 107 | <tr><td><a href="https://wg21.link/P1120R0">P1120R0</a></td><td>CWG</td><td>Consistency improvements for <=> and other comparison operators</td><td>Rapperswil</td><td></td><td></td></tr> |
| 108 | |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 109 | <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> |
Louis Dionne | db1892a | 2018-12-03 14:03:27 +0000 | [diff] [blame] | 110 | <tr><td><a href="https://wg21.link/P0318R1">P0318R1</a></td><td>LWG</td><td>unwrap_ref_decay and unwrap_reference</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 111 | <tr><td><a href="https://wg21.link/P0356R5">P0356R5</a></td><td>LWG</td><td>Simplified partial function application</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
Louis Dionne | fdd1761 | 2019-04-01 19:53:44 +0000 | [diff] [blame] | 112 | <tr><td><a href="https://wg21.link/P0357R3">P0357R3</a></td><td>LWG</td><td>reference_wrapper for incomplete types</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 113 | <tr><td><a href="https://wg21.link/P0482R6">P0482R6</a></td><td>CWG</td><td>char8_t: A type for UTF-8 characters and strings</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
Zhihao Yuan | 404bcaa | 2018-11-21 03:30:10 +0000 | [diff] [blame] | 114 | <tr><td><a href="https://wg21.link/P0487R1">P0487R1</a></td><td>LWG</td><td>Fixing operator>>(basic_istream&, CharT*) (LWG 2499)</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 115 | <tr><td><a href="https://wg21.link/P0591R4">P0591R4</a></td><td>LWG</td><td>Utility functions to implement uses-allocator construction</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
Eric Fiselier | 5afe099 | 2019-04-24 17:54:25 +0000 | [diff] [blame] | 116 | <tr><td><a href="https://wg21.link/P0595R2">P0595R2</a></td><td>CWG</td><td>P0595R2 std::is_constant_evaluated()</td><td>San Diego</td><td>Complete</td><td>9.0</td></tr> |
Louis Dionne | cee5901 | 2019-01-10 20:06:11 +0000 | [diff] [blame] | 117 | <tr><td><a href="https://wg21.link/P0602R4">P0602R4</a></td><td>LWG</td><td>variant and optional should propagate copy/move triviality</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr> |
Zhihao Yuan | 821efb8 | 2019-06-20 22:09:40 +0000 | [diff] [blame] | 118 | <tr><td><a href="https://wg21.link/P0608R3">P0608R3</a></td><td>LWG</td><td>A sane variant converting constructor</td><td>San Diego</td><td>Complete</td><td>9.0</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 119 | <tr><td><a href="https://wg21.link/P0655R1">P0655R1</a></td><td>LWG</td><td>visit<R>: Explicit Return Type for visit</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
Marshall Clow | b4781c8 | 2018-11-20 20:37:07 +0000 | [diff] [blame] | 120 | <tr><td><a href="https://wg21.link/P0771R1">P0771R1</a></td><td>LWG</td><td>std::function move constructor should be noexcept</td><td>San Diego</td><td>Complete</td><td>6.0</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 121 | <tr><td><a href="https://wg21.link/P0896R4">P0896R4</a></td><td>LWG</td><td>The One Ranges Proposal</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
Marshall Clow | d3d94df | 2018-11-20 20:38:15 +0000 | [diff] [blame] | 122 | <tr><td><a href="https://wg21.link/P0899R1">P0899R1</a></td><td>LWG</td><td>P0899R1 - LWG 3016 is not a defect</td><td>San Diego</td><td><i>Nothing to do</i></td><td></td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 123 | <tr><td><a href="https://wg21.link/P0919R3">P0919R3</a></td><td>LWG</td><td>Heterogeneous lookup for unordered containers</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
Marshall Clow | b1296bd | 2018-11-13 17:22:41 +0000 | [diff] [blame] | 124 | <tr><td><a href="https://wg21.link/P0972R0">P0972R0</a></td><td>LWG</td><td><chrono> <tt>zero()</tt>, <tt>min()</tt>, and <tt>max()</tt> should be noexcept</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr> |
Louis Dionne | 9c4b94f | 2018-11-13 17:33:11 +0000 | [diff] [blame] | 125 | <tr><td><a href="https://wg21.link/P1006R1">P1006R1</a></td><td>LWG</td><td>Constexpr in std::pointer_traits</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 126 | <tr><td><a href="https://wg21.link/P1007R3">P1007R3</a></td><td>LWG</td><td><tt>std::assume_aligned</tt></td><td>San Diego</td><td><i> </i></td><td></td></tr> |
| 127 | <tr><td><a href="https://wg21.link/P1020R1">P1020R1</a></td><td>LWG</td><td>Smart pointer creation with default initialization</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
| 128 | <tr><td><a href="https://wg21.link/P1032R1">P1032R1</a></td><td>LWG</td><td>Misc constexpr bits</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
Marshall Clow | 883573f | 2018-11-27 16:35:41 +0000 | [diff] [blame] | 129 | <tr><td><a href="https://wg21.link/P1085R2">P1085R2</a></td><td>LWG</td><td>Should Span be Regular?</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 130 | <tr><td><a href="https://wg21.link/P1123R0">P1123R0</a></td><td>LWG</td><td>Editorial Guidance for merging P0019r8 and P0528r3</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
| 131 | <tr><td><a href="https://wg21.link/P1148R0">P1148R0</a></td><td>LWG</td><td>Cleaning up Clause 20</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
| 132 | <tr><td><a href="https://wg21.link/P1165R1">P1165R1</a></td><td>LWG</td><td>Make stateful allocator propagation more consistent for <tt>operator+(basic_string)</tt></td><td>San Diego</td><td><i> </i></td><td></td></tr> |
Marshall Clow | 29b53f2 | 2018-12-14 18:49:35 +0000 | [diff] [blame] | 133 | <tr><td><a href="https://wg21.link/P1209R0">P1209R0</a></td><td>LWG</td><td>Adopt Consistent Container Erasure from Library Fundamentals 2 for C++20</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 134 | <tr><td><a href="https://wg21.link/P1210R0">P1210R0</a></td><td>LWG</td><td>Completing the Rebase of Library Fundamentals, Version 3, Working Draft</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
| 135 | <tr><td><a href="https://wg21.link/P1236R1">P1236R1</a></td><td>CWG</td><td>Alternative Wording for P0907R4 Signed Integers are Two's Complement</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
| 136 | <tr><td><a href="https://wg21.link/P1248R1">P1248R1</a></td><td>LWG</td><td>Remove CommonReference requirement from StrictWeakOrdering (a.k.a Fixing Relations)</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
| 137 | <tr><td><a href="https://wg21.link/P1285R0">P1285R0</a></td><td>LWG</td><td>Improving Completeness Requirements for Type Traits</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
| 138 | <tr><td><a href="https://wg21.link/P1353R0">P1353R0</a></td><td>CWG</td><td>Missing feature test macros</td><td>San Diego</td><td><i> </i></td><td></td></tr> |
| 139 | |
Marshall Clow | 6acb6e2 | 2019-02-25 16:12:00 +0000 | [diff] [blame] | 140 | <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> |
| 141 | <tr><td><a href="https://wg21.link/P0339R6">P0339R6</a></td><td>LWG</td><td>polymorphic_allocator<> as a vocabulary type</td><td>Kona</td><td></td><td></td></tr> |
| 142 | <tr><td><a href="https://wg21.link/P0340R3">P0340R3</a></td><td>LWG</td><td>Making std::underlying_type SFINAE-friendly</td><td>Kona</td><td></td><td></td></tr> |
| 143 | <tr><td><a href="https://wg21.link/P0738R2">P0738R2</a></td><td>LWG</td><td>I Stream, You Stream, We All Stream for istream_iterator</td><td>Kona</td><td></td><td></td></tr> |
Marshall Clow | f5860ad | 2019-04-25 17:44:18 +0000 | [diff] [blame] | 144 | <tr><td><a href="https://wg21.link/P0811R3">P0811R3</a></td><td>LWG</td><td>Well-behaved interpolation for numbers and pointers</td><td>Kona</td><td>Complete</td><td>9.0</td></tr> |
Marshall Clow | 6acb6e2 | 2019-02-25 16:12:00 +0000 | [diff] [blame] | 145 | <tr><td><a href="https://wg21.link/P0920R2">P0920R2</a></td><td>LWG</td><td>Precalculated hash values in lookup</td><td>Kona</td><td></td><td></td></tr> |
| 146 | <tr><td><a href="https://wg21.link/P1001R2">P1001R2</a></td><td>LWG</td><td>Target Vectorization Policies from Parallelism V2 TS to C++20</td><td>Kona</td><td></td><td></td></tr> |
Marshall Clow | e4859a0 | 2019-02-27 15:41:37 +0000 | [diff] [blame] | 147 | <tr><td><a href="https://wg21.link/P1024R3">P1024R3</a></td><td>LWG</td><td>Usability Enhancements for std::span</td><td>Kona</td><td>Complete</td><td>9.0</td></tr> |
Marshall Clow | 6acb6e2 | 2019-02-25 16:12:00 +0000 | [diff] [blame] | 148 | <tr><td><a href="https://wg21.link/P1164R1">P1164R1</a></td><td>LWG</td><td>Make create_directory() Intuitive</td><td>Kona</td><td></td><td></td></tr> |
Marshall Clow | e4859a0 | 2019-02-27 15:41:37 +0000 | [diff] [blame] | 149 | <tr><td><a href="https://wg21.link/P1227R2">P1227R2</a></td><td>LWG</td><td>Signed ssize() functions, unsigned size() functions </td><td>Kona</td><td>Complete</td><td>9.0</td></tr> |
Marshall Clow | 6acb6e2 | 2019-02-25 16:12:00 +0000 | [diff] [blame] | 150 | <tr><td><a href="https://wg21.link/P1252R2">P1252R2</a></td><td>LWG</td><td>Ranges Design Cleanup</td><td>Kona</td><td></td><td></td></tr> |
Marshall Clow | 6acb6e2 | 2019-02-25 16:12:00 +0000 | [diff] [blame] | 151 | <tr><td><a href="https://wg21.link/P1286R2">P1286R2</a></td><td>CWG</td><td>Contra CWG DR1778</td><td>Kona</td><td></td><td></td></tr> |
Marshall Clow | c3e314c | 2019-02-26 17:22:47 +0000 | [diff] [blame] | 152 | <tr><td><a href="https://wg21.link/P1357R1">P1357R1</a></td><td>LWG</td><td>Traits for [Un]bounded Arrays</td><td>Kona</td><td>Complete</td><td>9.0</td></tr> |
Marshall Clow | 5ca5aaa | 2019-06-19 16:32:07 +0000 | [diff] [blame] | 153 | <tr><td><a href="https://wg21.link/P1458R1">P1458R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 16 - Language support library</td><td>Kona</td><td>Complete</td><td>9.0</td></tr> |
| 154 | <tr><td><a href="https://wg21.link/P1459R1">P1459R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 18 - Diagnostics library</td><td>Kona</td><td>Complete</td><td>9.0</td></tr> |
| 155 | <tr><td><a href="https://wg21.link/P1462R1">P1462R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 20 - Strings library</td><td>Kona</td><td>Complete</td><td>9.0</td></tr> |
Marshall Clow | 6acb6e2 | 2019-02-25 16:12:00 +0000 | [diff] [blame] | 156 | <tr><td><a href="https://wg21.link/P1463R1">P1463R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 21 - Containers library</td><td>Kona</td><td></td><td></td></tr> |
Marshall Clow | 5ca5aaa | 2019-06-19 16:32:07 +0000 | [diff] [blame] | 157 | <tr><td><a href="https://wg21.link/P1464R1">P1464R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 22 - Iterators library</td><td>Kona</td><td>Complete</td><td>9.0</td></tr> |
Marshall Clow | 6acb6e2 | 2019-02-25 16:12:00 +0000 | [diff] [blame] | 158 | |
Marshall Clow | 00eae72 | 2019-07-22 15:13:14 +0000 | [diff] [blame] | 159 | <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> |
| 160 | <tr><td><a href="https://wg21.link/P0325">P0325</a></td><td>LWG</td><td>to_array from LFTS with updates</td><td>Cologne</td><td></td><td></td></tr> |
| 161 | <tr><td><a href="https://wg21.link/P0408">P0408</a></td><td>LWG</td><td>Efficient Access to basic_stringbuf ’s Buffer</td><td>Cologne</td><td></td><td></td></tr> |
| 162 | <tr><td><a href="https://wg21.link/P0466">P0466</a></td><td>LWG</td><td>Layout-compatibility and Pointer-interconvertibility Traits</td><td>Cologne</td><td></td><td></td></tr> |
| 163 | <tr><td><a href="https://wg21.link/P0553">P0553</a></td><td>LWG</td><td>Bit operations</td><td>Cologne</td><td>Complete</td><td>9.0</td></tr> |
| 164 | <tr><td><a href="https://wg21.link/P0631">P0631</a></td><td>LWG</td><td>Math Constants</td><td>Cologne</td><td></td><td></td></tr> |
| 165 | <tr><td><a href="https://wg21.link/P0645">P0645</a></td><td>LWG</td><td>Text Formatting</td><td>Cologne</td><td></td><td></td></tr> |
| 166 | <tr><td><a href="https://wg21.link/P0660">P0660</a></td><td>LWG</td><td>Stop Token and Joining Thread, Rev 10</td><td>Cologne</td><td></td><td></td></tr> |
| 167 | <tr><td><a href="https://wg21.link/P0784">P0784</a></td><td>CWG</td><td>More constexpr containers</td><td>Cologne</td><td></td><td></td></tr> |
| 168 | <tr><td><a href="https://wg21.link/P0980">P0980</a></td><td>LWG</td><td>Making std::string constexpr</td><td>Cologne</td><td></td><td></td></tr> |
| 169 | <tr><td><a href="https://wg21.link/P1004">P1004</a></td><td>LWG</td><td>Making std::vector constexpr</td><td>Cologne</td><td></td><td></td></tr> |
| 170 | <tr><td><a href="https://wg21.link/P1035">P1035</a></td><td>LWG</td><td>Input Range Adaptors</td><td>Cologne</td><td></td><td></td></tr> |
| 171 | <tr><td><a href="https://wg21.link/P1065">P1065</a></td><td>LWG</td><td>Constexpr INVOKE</td><td>Cologne</td><td></td><td></td></tr> |
| 172 | <tr><td><a href="https://wg21.link/P1135">P1135</a></td><td>LWG</td><td>The C++20 Synchronization Library</td><td>Cologne</td><td></td><td></td></tr> |
| 173 | <tr><td><a href="https://wg21.link/P1207">P1207</a></td><td>LWG</td><td>Movability of Single-pass Iterators</td><td>Cologne</td><td></td><td></td></tr> |
| 174 | <tr><td><a href="https://wg21.link/P1208">P1208</a></td><td>LWG</td><td>Adopt source_location for C++20</td><td>Cologne</td><td></td><td></td></tr> |
| 175 | <tr><td><a href="https://wg21.link/P1355">P1355</a></td><td>LWG</td><td>Exposing a narrow contract for ceil2</td><td>Cologne</td><td>Complete</td><td>9.0</td></tr> |
| 176 | <tr><td><a href="https://wg21.link/P1361">P1361</a></td><td>LWG</td><td>Integration of chrono with text formatting</td><td>Cologne</td><td></td><td></td></tr> |
| 177 | <tr><td><a href="https://wg21.link/P1423">P1423</a></td><td>LWG</td><td>char8_t backward compatibility remediation</td><td>Cologne</td><td></td><td></td></tr> |
| 178 | <tr><td><a href="https://wg21.link/P1424">P1424</a></td><td>LWG</td><td>'constexpr' feature macro concerns</td><td>Cologne</td><td></td><td></td></tr> |
| 179 | <tr><td><a href="https://wg21.link/P1466">P1466</a></td><td>LWG</td><td>Miscellaneous minor fixes for chrono</td><td>Cologne</td><td></td><td></td></tr> |
| 180 | <tr><td><a href="https://wg21.link/P1474">P1474</a></td><td>LWG</td><td>Helpful pointers for ContiguousIterator</td><td>Cologne</td><td></td><td></td></tr> |
| 181 | <tr><td><a href="https://wg21.link/P1502">P1502</a></td><td>LWG</td><td>Standard library header units for C++20</td><td>Cologne</td><td></td><td></td></tr> |
| 182 | <tr><td><a href="https://wg21.link/P1522">P1522</a></td><td>LWG</td><td>Iterator Difference Type and Integer Overflow</td><td>Cologne</td><td></td><td></td></tr> |
| 183 | <tr><td><a href="https://wg21.link/P1523">P1523</a></td><td>LWG</td><td>Views and Size Types</td><td>Cologne</td><td></td><td></td></tr> |
| 184 | <tr><td><a href="https://wg21.link/P1612">P1612</a></td><td>LWG</td><td>Relocate Endian’s Specification</td><td>Cologne</td><td></td><td></td></tr> |
| 185 | <tr><td><a href="https://wg21.link/P1614">P1614</a></td><td>LWG</td><td>The Mothership has Landed</td><td>Cologne</td><td></td><td></td></tr> |
| 186 | <tr><td><a href="https://wg21.link/P1638">P1638</a></td><td>LWG</td><td>basic_istream_view::iterator should not be copyable</td><td>Cologne</td><td></td><td></td></tr> |
| 187 | <tr><td><a href="https://wg21.link/P1643">P1643</a></td><td>LWG</td><td>Add wait/notify to atomic_ref</td><td>Cologne</td><td></td><td></td></tr> |
| 188 | <tr><td><a href="https://wg21.link/P1644">P1644</a></td><td>LWG</td><td>Add wait/notify to atomic<shared_ptr></td><td>Cologne</td><td></td><td></td></tr> |
| 189 | <tr><td><a href="https://wg21.link/P1650">P1650</a></td><td>LWG</td><td>Output std::chrono::days with 'd' suffix</td><td>Cologne</td><td></td><td></td></tr> |
| 190 | <tr><td><a href="https://wg21.link/P1651">P1651</a></td><td>LWG</td><td>bind_front should not unwrap reference_wrapper</td><td>Cologne</td><td></td><td></td></tr> |
| 191 | <tr><td><a href="https://wg21.link/P1652">P1652</a></td><td>LWG</td><td>Printf corner cases in std::format</td><td>Cologne</td><td></td><td></td></tr> |
| 192 | <tr><td><a href="https://wg21.link/P1661">P1661</a></td><td>LWG</td><td>Remove dedicated precalculated hash lookup interface</td><td>Cologne</td><td></td><td></td></tr> |
| 193 | <tr><td><a href="https://wg21.link/P1754">P1754</a></td><td>LWG</td><td>Rename concepts to standard_case for C++20, while we still can</td><td>Cologne</td><td></td><td></td></tr> |
| 194 | |
marshall | 2376303 | 2019-11-10 13:44:10 +0000 | [diff] [blame] | 195 | <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> |
| 196 | <tr><td><a href="https://wg21.link/P0883">P0883</a></td><td>LWG</td><td>Fixing Atomic Initialization </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 197 | <tr><td><a href="https://wg21.link/P1391">P1391</a></td><td>LWG</td><td>Range constructor for std::string_view </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 198 | <tr><td><a href="https://wg21.link/P1394">P1394</a></td><td>LWG</td><td>Range constructor for std::span </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 199 | <tr><td><a href="https://wg21.link/P1456">P1456</a></td><td>LWG</td><td>Move-only views </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 200 | <tr><td><a href="https://wg21.link/P1622">P1622</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 32 - Thread support library </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 201 | <tr><td><a href="https://wg21.link/P1645">P1645</a></td><td>LWG</td><td>constexpr for numeric algorithms </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 202 | <tr><td><a href="https://wg21.link/P1664">P1664</a></td><td>LWG</td><td>reconstructible_range - a concept for putting ranges back together </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 203 | <tr><td><a href="https://wg21.link/P1686">P1686</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 27 - Time library </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 204 | <tr><td><a href="https://wg21.link/P1690">P1690</a></td><td>LWG</td><td>Refinement Proposal for P0919 Heterogeneous lookup for unordered containers </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 205 | <tr><td><a href="https://wg21.link/P1716">P1716</a></td><td>LWG</td><td>ranges compare algorithm are over-constrained </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 206 | <tr><td><a href="https://wg21.link/P1718">P1718</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 25 - Algorithms library </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 207 | <tr><td><a href="https://wg21.link/P1719">P1719</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 26 - Numerics library </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 208 | <tr><td><a href="https://wg21.link/P1720">P1720</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 28 - Localization library </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 209 | <tr><td><a href="https://wg21.link/P1721">P1721</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 29 - Input/Output library </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 210 | <tr><td><a href="https://wg21.link/P1722">P1722</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 30 - Regular Expression library </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 211 | <tr><td><a href="https://wg21.link/P1723">P1723</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 31 - Atomics library </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
Marek Kurdej | 4c0dc72 | 2019-11-13 22:51:29 +0100 | [diff] [blame^] | 212 | <tr><td><a href="https://wg21.link/P1855">P1855</a></td><td>LWG</td><td>Make <tt><compare></tt> freestanding</td><td>Belfast</td><td><i> </i></td><td></td></tr> |
marshall | 2376303 | 2019-11-10 13:44:10 +0000 | [diff] [blame] | 213 | <tr><td><a href="https://wg21.link/P1862">P1862</a></td><td>LWG</td><td>Ranges adaptors for non-copyable iterators </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 214 | <tr><td><a href="https://wg21.link/P1865">P1865</a></td><td>LWG</td><td>Add max() to latch and barrier </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 215 | <tr><td><a href="https://wg21.link/P1869">P1869</a></td><td>LWG</td><td>Rename 'condition_variable_any' interruptible wait methods </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 216 | <tr><td><a href="https://wg21.link/P1870">P1870</a></td><td>LWG</td><td>forwarding-range is too subtle </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 217 | <tr><td><a href="https://wg21.link/P1871">P1871</a></td><td>LWG</td><td>Should concepts be enabled or disabled? </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 218 | <tr><td><a href="https://wg21.link/P1872">P1872</a></td><td>LWG</td><td>span should have size_type, not index_type </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 219 | <tr><td><a href="https://wg21.link/P1878">P1878</a></td><td>LWG</td><td>Constraining Readable Types </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 220 | <tr><td><a href="https://wg21.link/P1892">P1892</a></td><td>LWG</td><td>Extended locale-specific presentation specifiers for std::format </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 221 | <tr><td><a href="https://wg21.link/P1902">P1902</a></td><td>LWG</td><td>Missing feature-test macros 2018-2019 </td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 222 | <tr><td><a href="https://wg21.link/P1959">P1959</a></td><td>LWG</td><td>Remove std::weak_equality and std::strong_equality</td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 223 | <tr><td><a href="https://wg21.link/P1960">P1960</a></td><td>LWG</td><td>NB Comment Changes Reviewed by SG1</td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 224 | <tr><td><a href="https://wg21.link/P1961">P1961</a></td><td>LWG</td><td>Harmonizing the definitions of total order for pointers</td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 225 | <tr><td><a href="https://wg21.link/P1965">P1965</a></td><td>LWG</td><td>Blanket Wording for Specifying “Hidden Friends”</td><td>Belfast</td><td><i> </i></td><td></td></tr> |
| 226 | |
Marshall Clow | a413f58 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 227 | <!-- <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> --> |
| 228 | </table> |
| 229 | |
| 230 | <p><i>[ Note: "Nothing to do" means that no library changes were needed to implement this change -- end note]</i></p> |
| 231 | |
Marshall Clow | 03a6033 | 2018-01-22 23:17:20 +0000 | [diff] [blame] | 232 | <p>The missing bits in P0600 are in [mem.res.class], [mem.poly.allocator.class], and [container.node.overview]</p> |
| 233 | |
| 234 | <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> |
| 235 | |
Marshall Clow | be8b84d | 2017-12-04 23:03:42 +0000 | [diff] [blame] | 236 | |
Marshall Clow | a413f58 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 237 | <h3>Library Working group Issues Status</h3> |
| 238 | <!-- <I>Note: "NAD" means that the issue was deemed "Not a defect"</I> --> |
| 239 | <table id="issues" border="1"> |
| 240 | <tr><th>Issue #</th><th>Issue Name</th><th>Meeting</th><th>Status</th></tr> |
| 241 | <!-- |
Stephan T. Lavavej | 4aac704 | 2017-08-31 17:59:33 +0000 | [diff] [blame] | 242 | <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 | a413f58 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 243 | --> |
Stephan T. Lavavej | 4aac704 | 2017-08-31 17:59:33 +0000 | [diff] [blame] | 244 | <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> |
| 245 | <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> |
| 246 | <tr><td><a href="https://wg21.link/LWG2593">2593</a></td><td>Moved-from state of Allocators</td><td>Toronto</td><td></td></tr> |
| 247 | <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 | 8874685 | 2018-01-24 22:42:25 +0000 | [diff] [blame] | 248 | <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 | 4aac704 | 2017-08-31 17:59:33 +0000 | [diff] [blame] | 249 | <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> |
| 250 | <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> |
| 251 | <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> |
| 252 | <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> |
| 253 | <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> |
| 254 | <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> |
| 255 | <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> |
| 256 | <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 | a413f58 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 257 | |
Marshall Clow | 05b2fb3 | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 258 | <tr><td></td><td></td><td></td><td></td></tr> |
| 259 | <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 | 2f28373 | 2018-01-31 21:42:39 +0000 | [diff] [blame] | 260 | <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 | 05b2fb3 | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 261 | <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> |
| 262 | <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> |
| 263 | <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> |
| 264 | <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 | e52a324 | 2017-11-27 15:51:36 +0000 | [diff] [blame] | 265 | <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 | 31c8f46 | 2017-11-14 01:14:53 +0000 | [diff] [blame] | 266 | <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 | 56d5352 | 2017-11-14 00:03:10 +0000 | [diff] [blame] | 267 | <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 | 9c9b288 | 2018-09-12 18:53:02 +0000 | [diff] [blame] | 268 | <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>Complete</td></tr> |
Marshall Clow | 9fc25ac | 2018-09-12 18:51:12 +0000 | [diff] [blame] | 269 | <tr><td><a href="https://wg21.link/LWG2958">2958</a></td><td>Moves improperly defined as deleted</td><td>Albuquerque</td><td><I>We already do this</I></td></tr> |
Marshall Clow | 05b2fb3 | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 270 | <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> |
Eric Fiselier | a75bbde | 2018-07-23 02:00:52 +0000 | [diff] [blame] | 271 | <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>Nothing to do</td></tr> |
Marshall Clow | 03a6033 | 2018-01-22 23:17:20 +0000 | [diff] [blame] | 272 | <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 | 3b0cc7a | 2017-11-27 19:43:28 +0000 | [diff] [blame] | 273 | <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 | c8add25 | 2019-04-30 00:54:26 +0000 | [diff] [blame] | 274 | <tr><td><a href="https://wg21.link/LWG2977">2977</a></td><td>unordered_meow::merge() has incorrect Throws: clause</td><td>Albuquerque</td><td><i>Nothing to do</i></td></tr> |
Marshall Clow | 05b2fb3 | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 275 | <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> |
| 276 | <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> |
| 277 | <tr><td><a href="https://wg21.link/LWG2980">2980</a></td><td>Cannot compare_exchange empty pointers</td><td>Albuquerque</td><td></td></tr> |
| 278 | <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> |
| 279 | <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> |
| 280 | <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> |
| 281 | <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> |
| 282 | <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> |
| 283 | <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> |
Marshall Clow | 5a7ca64 | 2019-05-13 14:56:02 +0000 | [diff] [blame] | 284 | <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>Complete</td></tr> |
Marshall Clow | 05b2fb3 | 2017-11-12 18:48:42 +0000 | [diff] [blame] | 285 | |
Marshall Clow | 7f13b1b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 286 | <tr><td></td><td></td><td></td><td></td></tr> |
Marshall Clow | 3c66823 | 2019-04-29 15:38:07 +0000 | [diff] [blame] | 287 | <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>Complete</td></tr> |
Marshall Clow | 7f13b1b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 288 | <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> |
| 289 | <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> |
Eric Fiselier | 0d5070f | 2019-03-09 00:38:19 +0000 | [diff] [blame] | 290 | <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>Complete</td></tr> |
Marshall Clow | 7f13b1b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 291 | <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> |
| 292 | <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 Clow | e46031a | 2018-07-02 18:41:15 +0000 | [diff] [blame] | 293 | <tr><td><a href="https://wg21.link/LWG2946">2946</a></td><td>LWG 2758's resolution missed further corrections</td><td>Jacksonville</td><td>Complete</td></tr> |
Marshall Clow | b20b3ec | 2019-06-05 21:52:19 +0000 | [diff] [blame] | 294 | <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>Complete</td></tr> |
Marshall Clow | 7f13b1b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 295 | <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> |
| 296 | <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> |
| 297 | <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> |
| 298 | <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> |
| 299 | <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> |
| 300 | <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> |
| 301 | <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> |
| 302 | <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> |
| 303 | <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> |
| 304 | <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> |
| 305 | <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> |
| 306 | <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 Clow | 2a20acb | 2018-09-12 14:46:17 +0000 | [diff] [blame] | 307 | <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>Complete</td></tr> |
Marshall Clow | 7f13b1b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 308 | <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 | 91a182b | 2018-04-02 23:03:41 +0000 | [diff] [blame] | 309 | <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 | 7f13b1b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 310 | <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 | 79f3354 | 2018-03-21 00:36:05 +0000 | [diff] [blame] | 311 | <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> |
| 312 | <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> |
| 313 | <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> |
| 314 | <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 | 7f13b1b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 315 | <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> |
Eric Fiselier | a75bbde | 2018-07-23 02:00:52 +0000 | [diff] [blame] | 316 | <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>Complete</td></tr> |
Marshall Clow | 7f13b1b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 317 | <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> |
| 318 | <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> |
| 319 | <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> |
Marshall Clow | e46031a | 2018-07-02 18:41:15 +0000 | [diff] [blame] | 320 | <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>Complete</td></tr> |
Marshall Clow | 7f13b1b | 2018-03-18 19:29:21 +0000 | [diff] [blame] | 321 | |
Marshall Clow | 3b1e419 | 2018-06-12 02:45:30 +0000 | [diff] [blame] | 322 | <tr><td></td><td></td><td></td><td></td></tr> |
| 323 | <tr><td><a href="https://wg21.link/LWG2139">2139</a></td><td>What is a user-defined type?</td><td>Rapperswil</td><td></td></tr> |
| 324 | <tr><td><a href="https://wg21.link/LWG2970">2970</a></td><td>Return type of std::visit misspecified</td><td>Rapperswil</td><td></td></tr> |
| 325 | <tr><td><a href="https://wg21.link/LWG3058">3058</a></td><td>Parallel adjacent_difference shouldn't require creating temporaries</td><td>Rapperswil</td><td></td></tr> |
| 326 | <tr><td><a href="https://wg21.link/LWG3062">3062</a></td><td>Unnecessary decay_t in is_execution_policy_v should be remove_cvref_t</td><td>Rapperswil</td><td></td></tr> |
| 327 | <tr><td><a href="https://wg21.link/LWG3067">3067</a></td><td>recursive_directory_iterator::pop must invalidate</td><td>Rapperswil</td><td><i>Nothing to do</i></td></tr> |
| 328 | <tr><td><a href="https://wg21.link/LWG3071">3071</a></td><td>[networking.ts] read_until still refers to "input sequence"</td><td>Rapperswil</td><td><i>Nothing to do</i></td></tr> |
| 329 | <tr><td><a href="https://wg21.link/LWG3074">3074</a></td><td>Non-member functions for valarray should only deduce from the valarray</td><td>Rapperswil</td><td></td></tr> |
Marshall Clow | d938583 | 2018-07-05 17:44:12 +0000 | [diff] [blame] | 330 | <tr><td><a href="https://wg21.link/LWG3076">3076</a></td><td>basic_string CTAD ambiguity</td><td>Rapperswil</td><td>Complete</td></tr> |
Marshall Clow | 3b1e419 | 2018-06-12 02:45:30 +0000 | [diff] [blame] | 331 | <tr><td><a href="https://wg21.link/LWG3079">3079</a></td><td>LWG 2935 forgot to fix the existing_p overloads of create_directory</td><td>Rapperswil</td><td></td></tr> |
| 332 | <tr><td><a href="https://wg21.link/LWG3080">3080</a></td><td>Floating point from_chars pattern specification breaks round-tripping</td><td>Rapperswil</td><td></td></tr> |
| 333 | <tr><td><a href="https://wg21.link/LWG3083">3083</a></td><td>What should ios::iword(-1) do?</td><td>Rapperswil</td><td><i>Nothing to do</i></td></tr> |
| 334 | <tr><td><a href="https://wg21.link/LWG3094">3094</a></td><td>[time.duration.io]p4 makes surprising claims about encoding</td><td>Rapperswil</td><td></td></tr> |
| 335 | <tr><td><a href="https://wg21.link/LWG3100">3100</a></td><td>Unnecessary and confusing "empty span" wording</td><td>Rapperswil</td><td><i>Nothing to do</i></td></tr> |
Marshall Clow | af88755 | 2018-09-13 02:23:52 +0000 | [diff] [blame] | 336 | <tr><td><a href="https://wg21.link/LWG3102">3102</a></td><td>Clarify span iterator and const_iterator behavior</td><td>Rapperswil</td><td>Complete</td></tr> |
Marshall Clow | 3b1e419 | 2018-06-12 02:45:30 +0000 | [diff] [blame] | 337 | <tr><td><a href="https://wg21.link/LWG3104">3104</a></td><td>Fixing duration division</td><td>Rapperswil</td><td>Complete</td></tr> |
| 338 | |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 339 | <tr><td></td><td></td><td></td><td></td></tr> |
| 340 | <tr><td><a href="https://wg21.link/LWG2183">2183</a></td><td>Muddled allocator requirements for <tt>match_results</tt> constructors</td><td>San Diego</td><td>Complete</td></tr> |
Marshall Clow | f3cf658 | 2018-11-13 22:26:03 +0000 | [diff] [blame] | 341 | <tr><td><a href="https://wg21.link/LWG2184">2184</a></td><td>Muddled allocator requirements for <tt>match_results</tt> assignments</td><td>San Diego</td><td>Complete</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 342 | <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>San Diego</td><td></td></tr> |
| 343 | <tr><td><a href="https://wg21.link/LWG2499">2499</a></td><td><tt>operator>>(basic_istream&, CharT*)</tt> makes it hard to avoid buffer overflows</td><td>San Diego</td><td>Resolved by P0487R1</td></tr> |
Eric Fiselier | c2d26b6 | 2018-12-21 02:17:00 +0000 | [diff] [blame] | 344 | <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>San Diego</td><td>Nothing to do</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 345 | <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>San Diego</td><td></td></tr> |
| 346 | <tr><td><a href="https://wg21.link/LWG2797">2797</a></td><td>Trait precondition violations</td><td>San Diego</td><td>Resolved by 1285R0</td></tr> |
Eric Fiselier | c9a770e | 2018-12-21 03:16:30 +0000 | [diff] [blame] | 347 | <tr><td><a href="https://wg21.link/LWG2936">2936</a></td><td>Path comparison is defined in terms of the generic format</td><td>San Diego</td><td>Complete</td></tr> |
Eric Fiselier | c2d26b6 | 2018-12-21 02:17:00 +0000 | [diff] [blame] | 348 | <tr><td><a href="https://wg21.link/LWG2943">2943</a></td><td>Problematic specification of the wide version of <tt>basic_filebuf::open</tt></td><td>San Diego</td><td>Nothing to do</td></tr> |
Marshall Clow | a73da78 | 2019-04-30 00:54:38 +0000 | [diff] [blame] | 349 | <tr><td><a href="https://wg21.link/LWG2960">2960</a></td><td>[fund.ts.v3] <tt>nonesuch</tt> is insufficiently useless</td><td>San Diego</td><td>Complete</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 350 | <tr><td><a href="https://wg21.link/LWG2995">2995</a></td><td><tt>basic_stringbuf</tt> default constructor forbids it from using SSO capacity</td><td>San Diego</td><td></td></tr> |
| 351 | <tr><td><a href="https://wg21.link/LWG2996">2996</a></td><td>Missing rvalue overloads for <tt>shared_ptr</tt> operations</td><td>San Diego</td><td></td></tr> |
| 352 | <tr><td><a href="https://wg21.link/LWG3008">3008</a></td><td><tt>make_shared</tt> (sub)object destruction semantics are not specified</td><td>San Diego</td><td></td></tr> |
| 353 | <tr><td><a href="https://wg21.link/LWG3022">3022</a></td><td><tt>is_convertible<derived*, base*></tt> may lead to ODR</td><td>San Diego</td><td>Resolved by 1285R0</td></tr> |
Louis Dionne | c8e132c | 2019-07-15 20:06:01 +0000 | [diff] [blame] | 354 | <tr><td><a href="https://wg21.link/LWG3025">3025</a></td><td>Map-like container deduction guides should use <tt>pair<Key, T></tt>, not <tt>pair<const Key, T></tt></td><td>San Diego</td><td>Complete</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 355 | <tr><td><a href="https://wg21.link/LWG3031">3031</a></td><td>Algorithms and predicates with non-const reference arguments</td><td>San Diego</td><td></td></tr> |
| 356 | <tr><td><a href="https://wg21.link/LWG3037">3037</a></td><td><tt>polymorphic_allocator</tt> and incomplete types</td><td>San Diego</td><td></td></tr> |
| 357 | <tr><td><a href="https://wg21.link/LWG3038">3038</a></td><td><tt>polymorphic_allocator::allocate</tt> should not allow integer overflow to create vulnerabilities</td><td>San Diego</td><td></td></tr> |
| 358 | <tr><td><a href="https://wg21.link/LWG3054">3054</a></td><td><tt>uninitialized_copy</tt> appears to not be able to meet its exception-safety guarantee</td><td>San Diego</td><td></td></tr> |
Eric Fiselier | ab3f9d6 | 2018-12-21 04:09:01 +0000 | [diff] [blame] | 359 | <tr><td><a href="https://wg21.link/LWG3065">3065</a></td><td>LWG 2989 missed that all <tt>path</tt>'s other operators should be hidden friends as well</td><td>San Diego</td><td>Complete</td></tr> |
Eric Fiselier | 9c4949a | 2018-12-21 04:25:40 +0000 | [diff] [blame] | 360 | <tr><td><a href="https://wg21.link/LWG3096">3096</a></td><td><tt>path::lexically_relative</tt> is confused by trailing slashes</td><td>San Diego</td><td>Complete</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 361 | <tr><td><a href="https://wg21.link/LWG3116">3116</a></td><td><tt><i>OUTERMOST_ALLOC_TRAITS</i></tt> needs <tt>remove_reference_t</tt></td><td>San Diego</td><td></td></tr> |
Marshall Clow | 6acb6e2 | 2019-02-25 16:12:00 +0000 | [diff] [blame] | 362 | <tr><td><a href="https://wg21.link/LWG3122">3122</a></td><td><tt>__cpp_lib_chrono_udls</tt> was accidentally dropped</td><td>San Diego</td><td>Complete</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 363 | <tr><td><a href="https://wg21.link/LWG3127">3127</a></td><td><tt>basic_osyncstream::rdbuf</tt> needs a <tt>const_cast</tt></td><td>San Diego</td><td></td></tr> |
Louis Dionne | f6ed6e9 | 2018-11-13 21:13:10 +0000 | [diff] [blame] | 364 | <tr><td><a href="https://wg21.link/LWG3128">3128</a></td><td><tt>strstream::rdbuf</tt> needs a <tt>const_cast</tt></td><td>San Diego</td><td><i>Nothing to do</i></td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 365 | <tr><td><a href="https://wg21.link/LWG3129">3129</a></td><td><tt>regex_token_iterator</tt> constructor uses wrong pointer arithmetic</td><td>San Diego</td><td></td></tr> |
| 366 | <tr><td><a href="https://wg21.link/LWG3130">3130</a></td><td>§[input.output] needs many <tt>addressof</tt></td><td>San Diego</td><td></td></tr> |
| 367 | <tr><td><a href="https://wg21.link/LWG3131">3131</a></td><td><tt>addressof</tt> all the things</td><td>San Diego</td><td></td></tr> |
Louis Dionne | f6ed6e9 | 2018-11-13 21:13:10 +0000 | [diff] [blame] | 368 | <tr><td><a href="https://wg21.link/LWG3132">3132</a></td><td>Library needs to ban macros named <tt>expects</tt> or <tt>ensures</tt></td><td>San Diego</td><td><i>Nothing to do</i></td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 369 | <tr><td><a href="https://wg21.link/LWG3134">3134</a></td><td>[fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961</td><td>San Diego</td><td>Resolved by P1210R0</td></tr> |
Marshall Clow | 6acb6e2 | 2019-02-25 16:12:00 +0000 | [diff] [blame] | 370 | <tr><td><a href="https://wg21.link/LWG3137">3137</a></td><td>Header for <tt>__cpp_lib_to_chars</tt></td><td>San Diego</td><td>Complete</td></tr> |
Eric Fiselier | 049273c | 2018-12-21 03:54:57 +0000 | [diff] [blame] | 371 | <tr><td><a href="https://wg21.link/LWG3145">3145</a></td><td><tt>file_clock</tt> breaks ABI for C++17 implementations</td><td>San Diego</td><td>Complete</td></tr> |
Marshall Clow | 69cfc7d | 2018-11-12 04:58:00 +0000 | [diff] [blame] | 372 | <tr><td><a href="https://wg21.link/LWG3147">3147</a></td><td>Definitions of "likely" and "unlikely" are likely to cause problems</td><td>San Diego</td><td></td></tr> |
| 373 | <tr><td><a href="https://wg21.link/LWG3148">3148</a></td><td><tt><concepts></tt> should be freestanding</td><td>San Diego</td><td></td></tr> |
| 374 | <tr><td><a href="https://wg21.link/LWG3153">3153</a></td><td><tt>Common</tt> and <tt>common_type</tt> have too little in common</td><td>San Diego</td><td></td></tr> |
| 375 | <tr><td><a href="https://wg21.link/LWG3154">3154</a></td><td><tt>Common</tt> and <tt>CommonReference</tt> have a common defect</td><td>San Diego</td><td></td></tr> |
| 376 | |
Marshall Clow | 6acb6e2 | 2019-02-25 16:12:00 +0000 | [diff] [blame] | 377 | <tr><td></td><td></td><td></td><td></td></tr> |
| 378 | <tr><td><a href="https://wg21.link/LWG3012">3012</a></td><td><tt>atomic<T></tt> is unimplementable for non-<tt>is_trivially_copy_constructible T</tt></td><td>Kona</td><td></td></tr> |
| 379 | <tr><td><a href="https://wg21.link/LWG3040">3040</a></td><td><tt>basic_string_view::starts_with</tt> <i>Effects</i> are incorrect</td><td>Kona</td><td>Complete</td></tr> |
| 380 | <tr><td><a href="https://wg21.link/LWG3077">3077</a></td><td><tt>(push|emplace)_back</tt> should invalidate the <tt>end</tt> iterator</td><td>Kona</td><td><i>Nothing to do</i></td></tr> |
| 381 | <tr><td><a href="https://wg21.link/LWG3087">3087</a></td><td>One final <tt>&x</tt> in §[list.ops]</td><td>Kona</td><td><i>Nothing to do</i></td></tr> |
Marshall Clow | 0719ec9 | 2019-02-26 17:01:00 +0000 | [diff] [blame] | 382 | <tr><td><a href="https://wg21.link/LWG3101">3101</a></td><td><tt>span</tt>'s <tt>Container</tt> constructors need another constraint</td><td>Kona</td><td>Complete</td></tr> |
Marshall Clow | 6acb6e2 | 2019-02-25 16:12:00 +0000 | [diff] [blame] | 383 | <tr><td><a href="https://wg21.link/LWG3112">3112</a></td><td><tt>system_error</tt> and <tt>filesystem_error</tt> constructors taking a <tt>string</tt> may not be able to meet their postconditions</td><td>Kona</td><td></td></tr> |
| 384 | <tr><td><a href="https://wg21.link/LWG3119">3119</a></td><td>Program-definedness of closure types</td><td>Kona</td><td><i>Nothing to do</i></td></tr> |
| 385 | <tr><td><a href="https://wg21.link/LWG3133">3133</a></td><td>Modernizing numeric type requirements</td><td>Kona</td><td></td></tr> |
Marshall Clow | 0719ec9 | 2019-02-26 17:01:00 +0000 | [diff] [blame] | 386 | <tr><td><a href="https://wg21.link/LWG3144">3144</a></td><td><tt>span</tt> does not have a <tt>const_pointer</tt> typedef</td><td>Kona</td><td>Complete</td></tr> |
Marshall Clow | 6acb6e2 | 2019-02-25 16:12:00 +0000 | [diff] [blame] | 387 | <tr><td><a href="https://wg21.link/LWG3173">3173</a></td><td>Enable CTAD for <i><tt>ref-view</tt></i></td><td>Kona</td><td></td></tr> |
| 388 | <tr><td><a href="https://wg21.link/LWG3179">3179</a></td><td><tt>subrange</tt> should always model <tt>Range</tt></td><td>Kona</td><td></td></tr> |
| 389 | <tr><td><a href="https://wg21.link/LWG3180">3180</a></td><td>Inconsistently named return type for <tt>ranges::minmax_element</tt></td><td>Kona</td><td></td></tr> |
| 390 | <tr><td><a href="https://wg21.link/LWG3182">3182</a></td><td>Specification of <tt>Same</tt> could be clearer</td><td>Kona</td><td></td></tr> |
Marshall Clow | 00eae72 | 2019-07-22 15:13:14 +0000 | [diff] [blame] | 391 | |
| 392 | <tr><td></td><td></td><td></td><td></td></tr> |
Louis Dionne | 668a50c | 2019-09-27 15:06:52 +0000 | [diff] [blame] | 393 | <tr><td><a href="https://wg21.link/LWG2899">2899</a></td><td><tt>is_(nothrow_)move_constructible</tt> and <tt>tuple</tt>, <tt>optional</tt> and <tt>unique_ptr</tt></td><td>Cologne</td><td>Complete</td></tr> |
Marshall Clow | 00eae72 | 2019-07-22 15:13:14 +0000 | [diff] [blame] | 394 | <tr><td><a href="https://wg21.link/LWG3055">3055</a></td><td><tt>path::operator+=(<i>single-character</i>)</tt> misspecified</td><td>Cologne</td><td></td></tr> |
| 395 | <tr><td><a href="https://wg21.link/LWG3158">3158</a></td><td><tt>tuple(allocator_arg_t, const Alloc&)</tt> should be conditionally explicit</td><td>Cologne</td><td></td></tr> |
| 396 | <tr><td><a href="https://wg21.link/LWG3169">3169</a></td><td><tt>ranges</tt> permutation generators discard useful information</td><td>Cologne</td><td></td></tr> |
| 397 | <tr><td><a href="https://wg21.link/LWG3183">3183</a></td><td>Normative permission to specialize Ranges variable templates</td><td>Cologne</td><td></td></tr> |
| 398 | <tr><td><a href="https://wg21.link/LWG3184">3184</a></td><td>Inconsistencies in <tt>bind_front</tt> wording</td><td>Cologne</td><td></td></tr> |
| 399 | <tr><td><a href="https://wg21.link/LWG3185">3185</a></td><td>Uses-allocator construction functions missing <tt>constexpr</tt> and <tt>noexcept</tt></td><td>Cologne</td><td></td></tr> |
| 400 | <tr><td><a href="https://wg21.link/LWG3186">3186</a></td><td><tt>ranges</tt> removal, partition, and <tt>partial_sort_copy</tt> algorithms discard useful information</td><td>Cologne</td><td></td></tr> |
| 401 | <tr><td><a href="https://wg21.link/LWG3187">3187</a></td><td><a href="https://wg21.link/p0591r4">P0591R4</a> reverted DR 2586 fixes to <tt>scoped_allocator_adaptor::construct()</tt></td><td>Cologne</td><td></td></tr> |
| 402 | <tr><td><a href="https://wg21.link/LWG3191">3191</a></td><td><tt>std::ranges::shuffle</tt> synopsis does not match algorithm definition</td><td>Cologne</td><td></td></tr> |
| 403 | <tr><td><a href="https://wg21.link/LWG3196">3196</a></td><td><tt>std::optional<T></tt> is ill-formed is <tt>T</tt> is an array</td><td>Cologne</td><td>Complete</td></tr> |
| 404 | <tr><td><a href="https://wg21.link/LWG3198">3198</a></td><td>Bad constraint on <tt>std::span::span()</tt></td><td>Cologne</td><td>Complete</td></tr> |
| 405 | <tr><td><a href="https://wg21.link/LWG3199">3199</a></td><td><tt>istream >> bitset<0></tt> fails</td><td>Cologne</td><td></td></tr> |
| 406 | <tr><td><a href="https://wg21.link/LWG3202">3202</a></td><td>P0318R1 was supposed to be revised</td><td>Cologne</td><td>Complete</td></tr> |
| 407 | <tr><td><a href="https://wg21.link/LWG3206">3206</a></td><td><tt>year_month_day</tt> conversion to <tt>sys_days</tt> uses not-existing member function</td><td>Cologne</td><td>Complete</td></tr> |
| 408 | <tr><td><a href="https://wg21.link/LWG3208">3208</a></td><td><tt>Boolean</tt>'s expression requirements are ordered inconsistently</td><td>Cologne</td><td><i>Nothing to do</i></td></tr> |
| 409 | <tr><td><a href="https://wg21.link/LWG3209">3209</a></td><td>Expression in <tt>year::ok()</tt> returns clause is ill-formed</td><td>Cologne</td><td>Complete</td></tr> |
| 410 | |
marshall | 2376303 | 2019-11-10 13:44:10 +0000 | [diff] [blame] | 411 | <tr><td></td><td></td><td></td><td></td></tr> |
| 412 | <tr><td><a href="https://wg21.link/LWG3231">3231</a></td><td><tt>year_month_day_last::day</tt> specification does not cover <tt>!ok()</tt> values</td><td>Belfast</td><td></td></tr> |
| 413 | <tr><td><a href="https://wg21.link/LWG3225">3225</a></td><td><tt>zoned_time</tt> converting constructor shall not be <tt>noexcept</tt></td><td>Belfast</td><td></td></tr> |
| 414 | <tr><td><a href="https://wg21.link/LWG3190">3190</a></td><td><tt>std::allocator::allocate</tt> sometimes returns too little storage</td><td>Belfast</td><td></td></tr> |
| 415 | <tr><td><a href="https://wg21.link/LWG3218">3218</a></td><td>Modifier for <tt>%d</tt> parse flag does not match POSIX and <tt>format</tt> specification</td><td>Belfast</td><td></td></tr> |
| 416 | <tr><td><a href="https://wg21.link/LWG3224">3224</a></td><td><tt>zoned_time</tt> constructor from <tt>TimeZonePtr</tt> does not specify initialization of <tt>tp_</tt></td><td>Belfast</td><td></td></tr> |
| 417 | <tr><td><a href="https://wg21.link/LWG3230">3230</a></td><td>Format specifier <tt>%y/%Y</tt> is missing locale alternative versions</td><td>Belfast</td><td></td></tr> |
| 418 | <tr><td><a href="https://wg21.link/LWG3232">3232</a></td><td>Inconsistency in <tt>zoned_time</tt> deduction guides</td><td>Belfast</td><td></td></tr> |
| 419 | <tr><td><a href="https://wg21.link/LWG3222">3222</a></td><td>P0574R1 introduced preconditions on non-existent parameters</td><td>Belfast</td><td></td></tr> |
| 420 | <tr><td><a href="https://wg21.link/LWG3221">3221</a></td><td>Result of <tt>year_month</tt> arithmetic with <tt>months</tt> is ambiguous</td><td>Belfast</td><td></td></tr> |
| 421 | <tr><td><a href="https://wg21.link/LWG3235">3235</a></td><td><code>parse</code> manipulator without abbreviation is not callable</td><td>Belfast</td><td></td></tr> |
| 422 | <tr><td><a href="https://wg21.link/LWG3246">3246</a></td><td>What are the constraints on the template parameter of <tt>basic_format_arg</tt>?</td><td>Belfast</td><td></td></tr> |
| 423 | <tr><td><a href="https://wg21.link/LWG3253">3253</a></td><td><tt>basic_syncbuf::basic_syncbuf()</tt> should not be explicit</td><td>Belfast</td><td></td></tr> |
| 424 | <tr><td><a href="https://wg21.link/LWG3245">3245</a></td><td>Unnecessary restriction on <tt>'%p'</tt> parse specifier</td><td>Belfast</td><td></td></tr> |
| 425 | <tr><td><a href="https://wg21.link/LWG3244">3244</a></td><td>Constraints for <tt>Source</tt> in §[fs.path.req] insufficiently constrainty</td><td>Belfast</td><td></td></tr> |
| 426 | <tr><td><a href="https://wg21.link/LWG3241">3241</a></td><td><tt>chrono-spec</tt> grammar ambiguity in §[time.format]</td><td>Belfast</td><td></td></tr> |
| 427 | <tr><td><a href="https://wg21.link/LWG3257">3257</a></td><td>Missing feature testing macro update from P0858</td><td>Belfast</td><td></td></tr> |
| 428 | <tr><td><a href="https://wg21.link/LWG3256">3256</a></td><td>Feature testing macro for <tt>constexpr</tt> algorithms</td><td>Belfast</td><td></td></tr> |
| 429 | <tr><td><a href="https://wg21.link/LWG3273">3273</a></td><td>Specify <tt>weekday_indexed</tt> to range of <tt>[0, 7]</tt></td><td>Belfast</td><td></td></tr> |
| 430 | <tr><td><a href="https://wg21.link/LWG3070">3070</a></td><td><tt>path::lexically_relative</tt> causes surprising results if a filename can also be a <i>root-name</i></td><td>Belfast</td><td></td></tr> |
| 431 | <tr><td><a href="https://wg21.link/LWG3266">3266</a></td><td><tt>to_chars(bool)</tt> should be deleted</td><td>Belfast</td><td></td></tr> |
| 432 | <tr><td><a href="https://wg21.link/LWG3272">3272</a></td><td><tt>%I%p</tt> should parse/format <tt>duration</tt> since midnight</td><td>Belfast</td><td></td></tr> |
| 433 | <tr><td><a href="https://wg21.link/LWG3259">3259</a></td><td>The definition of <i>constexpr iterators</i> should be adjusted</td><td>Belfast</td><td></td></tr> |
| 434 | <tr><td><a href="https://wg21.link/LWG3103">3103</a></td><td>Errors in taking subview of <tt>span</tt> should be ill-formed where possible</td><td>Belfast</td><td></td></tr> |
| 435 | <tr><td><a href="https://wg21.link/LWG3274">3274</a></td><td>Missing feature test macro for <tt><span></tt></td><td>Belfast</td><td></td></tr> |
| 436 | <tr><td><a href="https://wg21.link/LWG3276">3276</a></td><td>Class <tt>split_view::outer_iterator::value_type</tt> should inherit from <tt>view_interface</tt></td><td>Belfast</td><td></td></tr> |
| 437 | <tr><td><a href="https://wg21.link/LWG3277">3277</a></td><td>Pre-increment on prvalues is not a requirement of <tt>weakly_incrementable</tt></td><td>Belfast</td><td></td></tr> |
| 438 | <tr><td><a href="https://wg21.link/LWG3149">3149</a></td><td><tt>DefaultConstructible</tt> should require default initialization</td><td>Belfast</td><td></td></tr> |
| 439 | |
Marshall Clow | a413f58 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 440 | <!-- <tr><td></td><td></td><td></td><td></td></tr> --> |
| 441 | </table> |
| 442 | |
marshall | 2376303 | 2019-11-10 13:44:10 +0000 | [diff] [blame] | 443 | <p>Last Updated: 10-Nov-2018</p> |
Marshall Clow | a413f58 | 2017-07-16 23:59:23 +0000 | [diff] [blame] | 444 | </div> |
| 445 | </body> |
| 446 | </html> |