Author: Corentin Jabot Date: 2023-08-25T20:23:17+02:00 New Revision: 54c99a906740a6dee2e0827d38b351d5966c2e2d
URL: https://github.com/llvm/llvm-project/commit/54c99a906740a6dee2e0827d38b351d5966c2e2d DIFF: https://github.com/llvm/llvm-project/commit/54c99a906740a6dee2e0827d38b351d5966c2e2d.diff LOG: [Clang] Update the core issues list >From revision 112 Added: Modified: clang/test/CXX/drs/dr25xx.cpp clang/www/cxx_dr_status.html Removed: ################################################################################ diff --git a/clang/test/CXX/drs/dr25xx.cpp b/clang/test/CXX/drs/dr25xx.cpp index a535f65e085608..68fb4bdaaf2e7d 100644 --- a/clang/test/CXX/drs/dr25xx.cpp +++ b/clang/test/CXX/drs/dr25xx.cpp @@ -81,7 +81,7 @@ using ::dr2521::operator""_div; #endif } // namespace dr2521 -namespace dr2565 { // dr2565: 16 open +namespace dr2565 { // dr2565: 16 #if __cplusplus >= 202002L template<typename T> concept C = requires (typename T::type x) { diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html index d044679d617a90..ee9712e9bab994 100755 --- a/clang/www/cxx_dr_status.html +++ b/clang/www/cxx_dr_status.html @@ -69,11 +69,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>CV-qualifiers and type conversions</td> <td class="full" align="center">Yes</td> </tr> - <tr class="open" id="6"> + <tr id="6"> <td><a href="https://cplusplus.github.io/CWG/issues/6.html">6</a></td> - <td>open</td> + <td>NAD</td> <td>Should the optimization that allows a class object to alias another object also allow the case of a parameter in an inline function to alias its argument?</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="7"> <td><a href="https://cplusplus.github.io/CWG/issues/7.html">7</a></td> @@ -1055,7 +1055,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="170"> <td><a href="https://cplusplus.github.io/CWG/issues/170.html">170</a></td> - <td>tentatively ready</td> + <td>DR</td> <td>Pointer-to-member conversions</td> <td class="none" align="center">Unknown</td> </tr> @@ -1434,7 +1434,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr class="open" id="233"> <td><a href="https://cplusplus.github.io/CWG/issues/233.html">233</a></td> - <td>open</td> + <td>drafting</td> <td>References vs pointers in UDC overload resolution</td> <td align="center">Not resolved</td> </tr> @@ -2675,11 +2675,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Guarantees on casting pointer back to cv-qualified version of original type</td> <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="440"> + <tr id="440"> <td><a href="https://cplusplus.github.io/CWG/issues/440.html">440</a></td> - <td>open</td> + <td>NAD</td> <td>Allow implicit pointer-to-member conversion on nontype template argument</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="441"> <td><a href="https://cplusplus.github.io/CWG/issues/441.html">441</a></td> @@ -2873,11 +2873,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Casting across protected inheritance</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="473"> + <tr id="473"> <td><a href="https://cplusplus.github.io/CWG/issues/473.html">473</a></td> - <td>open</td> + <td>NAD</td> <td>Block-scope declarations of allocator functions</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="474"> <td><a href="https://cplusplus.github.io/CWG/issues/474.html">474</a></td> @@ -3059,11 +3059,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Cv-qualified function types in template argument deduction</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="504"> + <tr id="504"> <td><a href="https://cplusplus.github.io/CWG/issues/504.html">504</a></td> - <td>open</td> + <td>NAD</td> <td>Should use of a variable in its own initializer require a diagnostic?</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="505"> <td><a href="https://cplusplus.github.io/CWG/issues/505.html">505</a></td> @@ -3203,11 +3203,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Problems with linkage of types</td> <td class="na" align="center">N/A</td> </tr> - <tr class="open" id="528"> + <tr id="528"> <td><a href="https://cplusplus.github.io/CWG/issues/528.html">528</a></td> - <td>open</td> + <td>NAD</td> <td>Why are incomplete class types not allowed with <TT>typeid</TT>?</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="529"> <td><a href="https://cplusplus.github.io/CWG/issues/529.html">529</a></td> @@ -3877,11 +3877,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>What makes side effects “ diff erent” from one another?</td> <td class="full" align="center">Yes</td> </tr> - <tr class="open" id="640"> + <tr id="640"> <td><a href="https://cplusplus.github.io/CWG/issues/640.html">640</a></td> - <td>open</td> + <td>NAD</td> <td>Accessing destroyed local objects of static storage duration</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="641"> <td><a href="https://cplusplus.github.io/CWG/issues/641.html">641</a></td> @@ -4345,11 +4345,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Unintentional restrictions on the use of <TT>thread_local</TT></td> <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="718"> + <tr id="718"> <td><a href="https://cplusplus.github.io/CWG/issues/718.html">718</a></td> - <td>open</td> + <td>NAD</td> <td>Non-class, non-function friend declarations</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="719"> <td><a href="https://cplusplus.github.io/CWG/issues/719.html">719</a></td> @@ -5235,7 +5235,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="900"> <td><a href="https://cplusplus.github.io/CWG/issues/900.html">900</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Lifetime of temporaries in range-based <TT>for</TT></td> <td class="none" align="center">Unknown</td> </tr> @@ -6031,11 +6031,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Requirements for operands of <I>delete-expression</I>s and deallocation functions</td> <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="1038"> + <tr id="1038"> <td><a href="https://cplusplus.github.io/CWG/issues/1038.html">1038</a></td> - <td>review</td> + <td>tentatively ready</td> <td>Overload resolution of <TT>&x.static_func</TT></td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="1039"> <td><a href="https://cplusplus.github.io/CWG/issues/1039.html">1039</a></td> @@ -7335,7 +7335,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr class="open" id="1255"> <td><a href="https://cplusplus.github.io/CWG/issues/1255.html">1255</a></td> - <td>open</td> + <td>drafting</td> <td>Definition problems with <TT>constexpr</TT> functions</td> <td align="center">Not resolved</td> </tr> @@ -7923,7 +7923,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="1353"> <td><a href="https://cplusplus.github.io/CWG/issues/1353.html">1353</a></td> - <td>tentatively ready</td> + <td>DR</td> <td>Array and variant members and deleted special member functions</td> <td class="none" align="center">Unknown</td> </tr> @@ -8071,11 +8071,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Access declarations not mentioned in Annex C</td> <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="1378"> + <tr id="1378"> <td><a href="https://cplusplus.github.io/CWG/issues/1378.html">1378</a></td> - <td>open</td> + <td>CD5</td> <td>When is an instantiation required?</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="1379"> <td><a href="https://cplusplus.github.io/CWG/issues/1379.html">1379</a></td> @@ -8181,7 +8181,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="1396"> <td><a href="https://cplusplus.github.io/CWG/issues/1396.html">1396</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Deferred instantiation and checking of non-static data member initializers</td> <td class="none" align="center">Unknown</td> </tr> @@ -9655,11 +9655,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Assignment in member initializer</td> <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="1642"> + <tr id="1642"> <td><a href="https://cplusplus.github.io/CWG/issues/1642.html">1642</a></td> - <td>open</td> + <td>DR</td> <td>Missing requirements for prvalue operands</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="1643"> <td><a href="https://cplusplus.github.io/CWG/issues/1643.html">1643</a></td> @@ -9991,17 +9991,17 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Lifetime extension and copy elision</td> <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="1698"> + <tr id="1698"> <td><a href="https://cplusplus.github.io/CWG/issues/1698.html">1698</a></td> - <td>open</td> + <td>ready</td> <td>Files ending in <TT>\</TT></td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="1699"> <td><a href="https://cplusplus.github.io/CWG/issues/1699.html">1699</a></td> - <td>extension</td> + <td>open</td> <td>Does befriending a class befriend its friends?</td> - <td align="center">Extension</td> + <td align="center">Not resolved</td> </tr> <tr id="1700"> <td><a href="https://cplusplus.github.io/CWG/issues/1700.html">1700</a></td> @@ -10921,11 +10921,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Wording issues regarding <TT>decltype(auto)</TT></td> <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="1853"> + <tr id="1853"> <td><a href="https://cplusplus.github.io/CWG/issues/1853.html">1853</a></td> - <td>drafting</td> + <td>dup</td> <td>Defining “allocated storage”</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="1854"> <td><a href="https://cplusplus.github.io/CWG/issues/1854.html">1854</a></td> @@ -11187,7 +11187,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr class="open" id="1897"> <td><a href="https://cplusplus.github.io/CWG/issues/1897.html">1897</a></td> - <td>drafting</td> + <td>review</td> <td>ODR vs alternative tokens</td> <td align="center">Not resolved</td> </tr> @@ -11643,7 +11643,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="1973"> <td><a href="https://cplusplus.github.io/CWG/issues/1973.html">1973</a></td> - <td>tentatively ready</td> + <td>DR</td> <td>Which <I>parameter-declaration-clause</I> in a <I>lambda-expression</I>?</td> <td class="none" align="center">Unknown</td> </tr> @@ -12237,7 +12237,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2072"> <td><a href="https://cplusplus.github.io/CWG/issues/2072.html">2072</a></td> - <td>DR</td> + <td>C++23</td> <td>Default argument instantiation for member functions of templates</td> <td class="none" align="center">Unknown</td> </tr> @@ -12415,11 +12415,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Incorrect description of type- and value-dependence</td> <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="2102"> + <tr id="2102"> <td><a href="https://cplusplus.github.io/CWG/issues/2102.html">2102</a></td> - <td>drafting</td> + <td>tentatively ready</td> <td>Constructor checking in <I>new-expression</I></td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="2103"> <td><a href="https://cplusplus.github.io/CWG/issues/2103.html">2103</a></td> @@ -13257,7 +13257,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2242"> <td><a href="https://cplusplus.github.io/CWG/issues/2242.html">2242</a></td> - <td>DRWP</td> + <td>C++23</td> <td>ODR violation with constant initialization possibly omitted</td> <td class="none" align="center">Unknown</td> </tr> @@ -14157,7 +14157,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2392"> <td><a href="https://cplusplus.github.io/CWG/issues/2392.html">2392</a></td> - <td>DRWP</td> + <td>C++23</td> <td><I>new-expression</I> size check and constant evaluation</td> <td class="none" align="center">Unknown</td> </tr> @@ -14247,7 +14247,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2407"> <td><a href="https://cplusplus.github.io/CWG/issues/2407.html">2407</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Missing entry in Annex C for defaulted comparison operators</td> <td class="none" align="center">Unknown</td> </tr> @@ -14265,7 +14265,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2410"> <td><a href="https://cplusplus.github.io/CWG/issues/2410.html">2410</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Implicit calls of immediate functions</td> <td class="none" align="center">Unknown</td> </tr> @@ -14373,7 +14373,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2428"> <td><a href="https://cplusplus.github.io/CWG/issues/2428.html">2428</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Deprecating a concept</td> <td class="none" align="center">Unknown</td> </tr> @@ -14445,7 +14445,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2440"> <td><a href="https://cplusplus.github.io/CWG/issues/2440.html">2440</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Allocation in core constant expressions</td> <td class="none" align="center">Unknown</td> </tr> @@ -14463,7 +14463,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2443"> <td><a href="https://cplusplus.github.io/CWG/issues/2443.html">2443</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Meaningless template exports</td> <td class="none" align="center">Unknown</td> </tr> @@ -14511,7 +14511,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2451"> <td><a href="https://cplusplus.github.io/CWG/issues/2451.html">2451</a></td> - <td>DRWP</td> + <td>C++23</td> <td><I>promise</I><TT>.unhandled_exception()</TT> and final suspend point</td> <td class="none" align="center">Unknown</td> </tr> @@ -14655,7 +14655,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2475"> <td><a href="https://cplusplus.github.io/CWG/issues/2475.html">2475</a></td> - <td>DR</td> + <td>C++23</td> <td>Object declarations of type <I>cv</I> <TT>void</TT></td> <td class="none" align="center">Unknown</td> </tr> @@ -14673,7 +14673,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2478"> <td><a href="https://cplusplus.github.io/CWG/issues/2478.html">2478</a></td> - <td>DR</td> + <td>C++23</td> <td>Properties of explicit specializations of implicitly-instantiated class templates</td> <td class="none" align="center">Unknown</td> </tr> @@ -14703,7 +14703,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2483"> <td><a href="https://cplusplus.github.io/CWG/issues/2483.html">2483</a></td> - <td>DR</td> + <td>C++23</td> <td>Language linkage of static member functions</td> <td class="none" align="center">Unknown</td> </tr> @@ -14715,7 +14715,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2485"> <td><a href="https://cplusplus.github.io/CWG/issues/2485.html">2485</a></td> - <td>tentatively ready</td> + <td>DR</td> <td>Bit-fields in integral promotions</td> <td class="none" align="center">Unknown</td> </tr> @@ -14739,7 +14739,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2489"> <td><a href="https://cplusplus.github.io/CWG/issues/2489.html">2489</a></td> - <td>DR</td> + <td>C++23</td> <td>Storage provided by array of <TT>char</TT></td> <td class="none" align="center">Unknown</td> </tr> @@ -14757,7 +14757,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr class="open" id="2492"> <td><a href="https://cplusplus.github.io/CWG/issues/2492.html">2492</a></td> - <td>review</td> + <td>drafting</td> <td>Comparing user-defined conversion sequences in list-initialization</td> <td align="center">Not resolved</td> </tr> @@ -14853,7 +14853,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2508"> <td><a href="https://cplusplus.github.io/CWG/issues/2508.html">2508</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Restrictions on uses of template parameter names</td> <td class="none" align="center">Unknown</td> </tr> @@ -14901,37 +14901,37 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2516"> <td><a href="https://cplusplus.github.io/CWG/issues/2516.html">2516</a></td> - <td>DR</td> + <td>C++23</td> <td>Locus of <I>enum-specifier</I> or <I>opaque-enum-declaration</I></td> <td class="full" align="center">Yes</td> </tr> <tr id="2517"> <td><a href="https://cplusplus.github.io/CWG/issues/2517.html">2517</a></td> - <td>DR</td> + <td>C++23</td> <td>Useless restriction on use of parameter in <I>constraint-expression</I></td> <td class="none" align="center">Unknown</td> </tr> <tr id="2518"> <td><a href="https://cplusplus.github.io/CWG/issues/2518.html">2518</a></td> - <td>DR</td> + <td>C++23</td> <td>Conformance requirements and <TT>#error</TT>/<TT>#warning</TT></td> <td class="unreleased" align="center">Clang 17</td> </tr> <tr id="2519"> <td><a href="https://cplusplus.github.io/CWG/issues/2519.html">2519</a></td> - <td>tentatively ready</td> + <td>DR</td> <td>Object representation of a bit-field</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2520"> <td><a href="https://cplusplus.github.io/CWG/issues/2520.html">2520</a></td> - <td>DR</td> + <td>C++23</td> <td>Template signature and default template arguments</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2521"> <td><a href="https://cplusplus.github.io/CWG/issues/2521.html">2521</a></td> - <td>DR</td> + <td>C++23</td> <td>User-defined literals and reserved identifiers</td> <td class="unreleased" align="center">Clang 17</td> </tr> @@ -14943,7 +14943,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2523"> <td><a href="https://cplusplus.github.io/CWG/issues/2523.html">2523</a></td> - <td>DR</td> + <td>C++23</td> <td>Undefined behavior via omitted destructor call in constant expressions</td> <td class="none" align="center">Unknown</td> </tr> @@ -14961,7 +14961,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2526"> <td><a href="https://cplusplus.github.io/CWG/issues/2526.html">2526</a></td> - <td>DR</td> + <td>C++23</td> <td>Relational comparison of <TT>void*</TT> pointers</td> <td class="none" align="center">Unknown</td> </tr> @@ -14973,19 +14973,19 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2528"> <td><a href="https://cplusplus.github.io/CWG/issues/2528.html">2528</a></td> - <td>DR</td> + <td>C++23</td> <td>Three-way comparison and the usual arithmetic conversions</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2529"> <td><a href="https://cplusplus.github.io/CWG/issues/2529.html">2529</a></td> - <td>DR</td> + <td>C++23</td> <td>Constant destruction of constexpr references</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2530"> <td><a href="https://cplusplus.github.io/CWG/issues/2530.html">2530</a></td> - <td>DR</td> + <td>C++23</td> <td>Multiple definitions of enumerators</td> <td class="none" align="center">Unknown</td> </tr> @@ -15003,7 +15003,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr class="open" id="2533"> <td><a href="https://cplusplus.github.io/CWG/issues/2533.html">2533</a></td> - <td>drafting</td> + <td>review</td> <td>Storage duration of implicitly created objects</td> <td align="center">Not resolved</td> </tr> @@ -15033,13 +15033,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2538"> <td><a href="https://cplusplus.github.io/CWG/issues/2538.html">2538</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Can standard attributes be syntactically ignored?</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2539"> <td><a href="https://cplusplus.github.io/CWG/issues/2539.html">2539</a></td> - <td>DR</td> + <td>C++23</td> <td>Three-way comparison requiring strong ordering for floating-point types</td> <td class="none" align="center">Unknown</td> </tr> @@ -15055,15 +15055,15 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Linkage specifications, module purview, and module attachment</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2542"> + <tr id="2542"> <td><a href="https://cplusplus.github.io/CWG/issues/2542.html">2542</a></td> - <td>drafting</td> + <td>DR</td> <td>Is a closure type a structural type?</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="2543"> <td><a href="https://cplusplus.github.io/CWG/issues/2543.html">2543</a></td> - <td>DR</td> + <td>C++23</td> <td><TT>constinit</TT> and optimized dynamic initialization</td> <td class="none" align="center">Unknown</td> </tr> @@ -15081,69 +15081,69 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr class="open" id="2546"> <td><a href="https://cplusplus.github.io/CWG/issues/2546.html">2546</a></td> - <td>open</td> + <td>review</td> <td>Defaulted secondary comparison operators defined as deleted</td> <td align="center">Not resolved</td> </tr> <tr class="open" id="2547"> <td><a href="https://cplusplus.github.io/CWG/issues/2547.html">2547</a></td> - <td>open</td> + <td>review</td> <td>Defaulted comparison operator function for non-classes</td> <td align="center">Not resolved</td> </tr> <tr class="open" id="2548"> <td><a href="https://cplusplus.github.io/CWG/issues/2548.html">2548</a></td> - <td>open</td> + <td>review</td> <td>Array prvalues and additive operators</td> <td align="center">Not resolved</td> </tr> <tr class="open" id="2549"> <td><a href="https://cplusplus.github.io/CWG/issues/2549.html">2549</a></td> - <td>open</td> + <td>review</td> <td>Implicitly moving the operand of a <I>throw-expression</I> in unevaluated contexts</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2550"> + <tr id="2550"> <td><a href="https://cplusplus.github.io/CWG/issues/2550.html">2550</a></td> - <td>open</td> + <td>DR</td> <td>Type "reference to <I>cv</I> <TT>void</TT>" outside of a declarator</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2551"> <td><a href="https://cplusplus.github.io/CWG/issues/2551.html">2551</a></td> - <td>open</td> + <td>review</td> <td>"Refers to allocated storage" has no meaning</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2552"> + <tr id="2552"> <td><a href="https://cplusplus.github.io/CWG/issues/2552.html">2552</a></td> - <td>open</td> + <td>DR</td> <td>Constant evaluation of non-defining variable declarations</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="2553"> + <tr id="2553"> <td><a href="https://cplusplus.github.io/CWG/issues/2553.html">2553</a></td> - <td>open</td> + <td>ready</td> <td>Restrictions on explicit object member functions</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2554"> <td><a href="https://cplusplus.github.io/CWG/issues/2554.html">2554</a></td> - <td>open</td> + <td>review</td> <td>Overriding virtual functions, also with explicit object parameters</td> <td align="center">Not resolved</td> </tr> <tr class="open" id="2555"> <td><a href="https://cplusplus.github.io/CWG/issues/2555.html">2555</a></td> - <td>open</td> + <td>drafting</td> <td>Ineffective redeclaration prevention for <I>using-declarator</I>s</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2556"> + <tr id="2556"> <td><a href="https://cplusplus.github.io/CWG/issues/2556.html">2556</a></td> - <td>open</td> + <td>tentatively ready</td> <td>Unusable <TT>promise::return_void</TT></td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2557"> <td><a href="https://cplusplus.github.io/CWG/issues/2557.html">2557</a></td> @@ -15153,7 +15153,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2558"> <td><a href="https://cplusplus.github.io/CWG/issues/2558.html">2558</a></td> - <td>DR</td> + <td>C++23</td> <td>Uninitialized subobjects as a result of an immediate invocation</td> <td class="none" align="center">Unknown</td> </tr> @@ -15171,7 +15171,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr class="open" id="2561"> <td><a href="https://cplusplus.github.io/CWG/issues/2561.html">2561</a></td> - <td>open</td> + <td>review</td> <td>Conversion to function pointer for lambda with explicit object parameter</td> <td align="center">Not resolved</td> </tr> @@ -15183,37 +15183,37 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr class="open" id="2563"> <td><a href="https://cplusplus.github.io/CWG/issues/2563.html">2563</a></td> - <td>open</td> + <td>drafting</td> <td>Initialization of coroutine result object</td> <td align="center">Not resolved</td> </tr> <tr class="open" id="2564"> <td><a href="https://cplusplus.github.io/CWG/issues/2564.html">2564</a></td> - <td>open</td> + <td>drafting</td> <td>Conversion to function pointer with an explicit object parameter</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2565"> + <tr id="2565"> <td><a href="https://cplusplus.github.io/CWG/issues/2565.html">2565</a></td> - <td>open</td> + <td>tentatively ready</td> <td>Invalid types in the <I>parameter-declaration-clause</I> of a <I>requires-expression</I></td> <td class="full" align="center">Clang 16</td> </tr> <tr class="open" id="2566"> <td><a href="https://cplusplus.github.io/CWG/issues/2566.html">2566</a></td> - <td>open</td> + <td>review</td> <td>Matching deallocation for uncaught exception</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2567"> + <tr id="2567"> <td><a href="https://cplusplus.github.io/CWG/issues/2567.html">2567</a></td> - <td>open</td> + <td>NAD</td> <td>Operator lookup ambiguity</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2568"> <td><a href="https://cplusplus.github.io/CWG/issues/2568.html">2568</a></td> - <td>open</td> + <td>review</td> <td>Access checking during synthesis of defaulted comparison operator</td> <td align="center">Not resolved</td> </tr> @@ -15223,11 +15223,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Use of <code>decltype(capture)</code> in a lambda's <I>parameter-declaration-clause</I></td> <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="2570"> + <tr id="2570"> <td><a href="https://cplusplus.github.io/CWG/issues/2570.html">2570</a></td> - <td>open</td> + <td>tentatively ready</td> <td>Clarify constexpr for defaulted functions</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="2571"> <td><a href="https://cplusplus.github.io/CWG/issues/2571.html">2571</a></td> @@ -15237,7 +15237,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr class="open" id="2572"> <td><a href="https://cplusplus.github.io/CWG/issues/2572.html">2572</a></td> - <td>open</td> + <td>review</td> <td>Address of overloaded function with no target</td> <td align="center">Not resolved</td> </tr> @@ -15303,7 +15303,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2583"> <td><a href="https://cplusplus.github.io/CWG/issues/2583.html">2583</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Common initial sequence should consider over-alignment</td> <td class="none" align="center">Unknown</td> </tr> @@ -15327,7 +15327,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr class="open" id="2587"> <td><a href="https://cplusplus.github.io/CWG/issues/2587.html">2587</a></td> - <td>open</td> + <td>review</td> <td>Visible side effects and initial value of an object</td> <td align="center">Not resolved</td> </tr> @@ -15339,21 +15339,21 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr class="open" id="2589"> <td><a href="https://cplusplus.github.io/CWG/issues/2589.html">2589</a></td> - <td>open</td> + <td>review</td> <td>Context of access checks during constraint satisfaction checking</td> <td align="center">Not resolved</td> </tr> <tr id="2590"> <td><a href="https://cplusplus.github.io/CWG/issues/2590.html">2590</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Underlying type should determine size and alignment requirements of an enum</td> <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="2591"> + <tr id="2591"> <td><a href="https://cplusplus.github.io/CWG/issues/2591.html">2591</a></td> - <td>open</td> + <td>tentatively ready</td> <td>Implicit change of active union member for anonymous union in union</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2592"> <td><a href="https://cplusplus.github.io/CWG/issues/2592.html">2592</a></td> @@ -15363,7 +15363,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr class="open" id="2593"> <td><a href="https://cplusplus.github.io/CWG/issues/2593.html">2593</a></td> - <td>open</td> + <td>review</td> <td>Insufficient base class restriction for pointer-to-member expression</td> <td align="center">Not resolved</td> </tr> @@ -15373,11 +15373,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Disallowing a global function template <TT>main</TT></td> <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="2595"> + <tr id="2595"> <td><a href="https://cplusplus.github.io/CWG/issues/2595.html">2595</a></td> - <td>open</td> + <td>tentatively ready</td> <td>"More constrained" for eligible special member functions</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2596"> <td><a href="https://cplusplus.github.io/CWG/issues/2596.html">2596</a></td> @@ -15393,49 +15393,49 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2598"> <td><a href="https://cplusplus.github.io/CWG/issues/2598.html">2598</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Unions should not require a non-static data member of literal type</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2599"> <td><a href="https://cplusplus.github.io/CWG/issues/2599.html">2599</a></td> - <td>DRWP</td> + <td>C++23</td> <td>What does initializing a parameter include?</td> <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="2600"> + <tr id="2600"> <td><a href="https://cplusplus.github.io/CWG/issues/2600.html">2600</a></td> - <td>review</td> + <td>tentatively ready</td> <td>Type dependency of placeholder types</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="2601"> <td><a href="https://cplusplus.github.io/CWG/issues/2601.html">2601</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Tracking of created and destroyed subobjects</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2602"> <td><a href="https://cplusplus.github.io/CWG/issues/2602.html">2602</a></td> - <td>DR</td> + <td>C++23</td> <td>consteval defaulted functions</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2603"> <td><a href="https://cplusplus.github.io/CWG/issues/2603.html">2603</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Holistic functional equivalence for function templates</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2604"> <td><a href="https://cplusplus.github.io/CWG/issues/2604.html">2604</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Attributes for an explicit specialization</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2605"> <td><a href="https://cplusplus.github.io/CWG/issues/2605.html">2605</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Implicit-lifetime aggregates</td> <td class="none" align="center">Unknown</td> </tr> @@ -15465,79 +15465,79 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2610"> <td><a href="https://cplusplus.github.io/CWG/issues/2610.html">2610</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Indirect private base classes in aggregates</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2611"> <td><a href="https://cplusplus.github.io/CWG/issues/2611.html">2611</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Missing parentheses in expansion of fold-expression could cause syntactic reinterpretation</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2612"> <td><a href="https://cplusplus.github.io/CWG/issues/2612.html">2612</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Incorrect comment in example</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2613"> <td><a href="https://cplusplus.github.io/CWG/issues/2613.html">2613</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Incomplete definition of resumer</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2614"> <td><a href="https://cplusplus.github.io/CWG/issues/2614.html">2614</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Unspecified results for class member access</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2615"> <td><a href="https://cplusplus.github.io/CWG/issues/2615.html">2615</a></td> - <td>WP</td> + <td>C++23</td> <td>Missing <TT>__has_cpp_attribute(assume)</TT></td> <td class="none" align="center">Unknown</td> </tr> <tr id="2616"> <td><a href="https://cplusplus.github.io/CWG/issues/2616.html">2616</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Imprecise restrictions on <TT>break</TT> and <TT>continue</TT></td> <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2617"> <td><a href="https://cplusplus.github.io/CWG/issues/2617.html">2617</a></td> - <td>open</td> + <td>review</td> <td>Default template arguments for template members of non-template classes</td> <td align="center">Not resolved</td> </tr> <tr id="2618"> <td><a href="https://cplusplus.github.io/CWG/issues/2618.html">2618</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Substitution during deduction should exclude exception specifications</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2619"> <td><a href="https://cplusplus.github.io/CWG/issues/2619.html">2619</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Kind of initialization for a <I>designated-initializer-list</I></td> <td class="none" align="center">Unknown</td> </tr> <tr id="2620"> <td><a href="https://cplusplus.github.io/CWG/issues/2620.html">2620</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Nonsensical disambiguation rule</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2621"> <td><a href="https://cplusplus.github.io/CWG/issues/2621.html">2621</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Kind of lookup for <TT>using enum</TT> declarations</td> <td class="full" align="center">Yes</td> </tr> <tr id="2622"> <td><a href="https://cplusplus.github.io/CWG/issues/2622.html">2622</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Compounding types from function and pointer-to-member types</td> <td class="none" align="center">Unknown</td> </tr> @@ -15549,25 +15549,25 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2624"> <td><a href="https://cplusplus.github.io/CWG/issues/2624.html">2624</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Array delete expression with no array cookie</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2625"> <td><a href="https://cplusplus.github.io/CWG/issues/2625.html">2625</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Deletion of pointer to out-of-lifetime object</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2626"> <td><a href="https://cplusplus.github.io/CWG/issues/2626.html">2626</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Rephrase ones' complement using base-2 representation</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2627"> <td><a href="https://cplusplus.github.io/CWG/issues/2627.html">2627</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Bit-fields and narrowing conversions</td> <td class="none" align="center">Unknown</td> </tr> @@ -15579,19 +15579,19 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2629"> <td><a href="https://cplusplus.github.io/CWG/issues/2629.html">2629</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Variables of floating-point type as <TT>switch</TT> conditions</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2630"> <td><a href="https://cplusplus.github.io/CWG/issues/2630.html">2630</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Syntactic specification of class completeness</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2631"> <td><a href="https://cplusplus.github.io/CWG/issues/2631.html">2631</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Immediate function evaluations in default arguments</td> <td class="full" align="center">Clang 16</td> </tr> @@ -15615,13 +15615,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2635"> <td><a href="https://cplusplus.github.io/CWG/issues/2635.html">2635</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Constrained structured bindings</td> <td class="full" align="center">Clang 16</td> </tr> <tr id="2636"> <td><a href="https://cplusplus.github.io/CWG/issues/2636.html">2636</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Update Annex E based on Unicode 15.0 UAX #31</td> <td class="na" align="center">N/A</td> </tr> @@ -15639,97 +15639,97 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2639"> <td><a href="https://cplusplus.github.io/CWG/issues/2639.html">2639</a></td> - <td>WP</td> + <td>C++23</td> <td>new-lines after phase 1</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2640"> <td><a href="https://cplusplus.github.io/CWG/issues/2640.html">2640</a></td> - <td>WP</td> + <td>C++23</td> <td>Allow more characters in an n-char sequence</td> <td class="full" align="center">Clang 16</td> </tr> <tr id="2641"> <td><a href="https://cplusplus.github.io/CWG/issues/2641.html">2641</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Redundant specification of value category of literals</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2642"> <td><a href="https://cplusplus.github.io/CWG/issues/2642.html">2642</a></td> - <td>DR</td> + <td>C++23</td> <td>Inconsistent use of T and C</td> <td class="na" align="center">N/A</td> </tr> <tr id="2643"> <td><a href="https://cplusplus.github.io/CWG/issues/2643.html">2643</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Completing a pointer to array of unknown bound</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2644"> <td><a href="https://cplusplus.github.io/CWG/issues/2644.html">2644</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Incorrect comment in example</td> <td class="full" align="center">Yes</td> </tr> <tr id="2645"> <td><a href="https://cplusplus.github.io/CWG/issues/2645.html">2645</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Unused term "default argument promotions"</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2646"> <td><a href="https://cplusplus.github.io/CWG/issues/2646.html">2646</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Defaulted special member functions</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2647"> <td><a href="https://cplusplus.github.io/CWG/issues/2647.html">2647</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Fix for "needed for constant evaluation"</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2648"> <td><a href="https://cplusplus.github.io/CWG/issues/2648.html">2648</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Correspondence of surrogate call function and conversion function</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2649"> <td><a href="https://cplusplus.github.io/CWG/issues/2649.html">2649</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Incorrect note about implicit conversion sequence</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2650"> <td><a href="https://cplusplus.github.io/CWG/issues/2650.html">2650</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Incorrect example for ill-formed non-type template arguments</td> <td class="full" align="center">Yes</td> </tr> <tr id="2651"> <td><a href="https://cplusplus.github.io/CWG/issues/2651.html">2651</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Conversion function templates and "noexcept"</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2652"> <td><a href="https://cplusplus.github.io/CWG/issues/2652.html">2652</a></td> - <td>WP</td> + <td>C++23</td> <td>Overbroad definition of <TT>__STDCPP_BFLOAT16_T__</TT></td> <td class="none" align="center">Unknown</td> </tr> <tr id="2653"> <td><a href="https://cplusplus.github.io/CWG/issues/2653.html">2653</a></td> - <td>WP</td> + <td>C++23</td> <td>Can an explicit object parameter have a default argument?</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2654"> <td><a href="https://cplusplus.github.io/CWG/issues/2654.html">2654</a></td> - <td>DRWP</td> + <td>C++23</td> <td>Un-deprecation of compound volatile assignments</td> <td class="full" align="center">Clang 16</td> </tr> @@ -15753,13 +15753,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2658"> <td><a href="https://cplusplus.github.io/CWG/issues/2658.html">2658</a></td> - <td>DR</td> + <td>C++23</td> <td>Trivial copying of unions in core constant expressions</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2659"> <td><a href="https://cplusplus.github.io/CWG/issues/2659.html">2659</a></td> - <td>accepted</td> + <td>C++23</td> <td>Missing feature-test macro for lifetime extension in range-for loop</td> <td class="none" align="center">Unknown</td> </tr> @@ -15777,19 +15777,19 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2662"> <td><a href="https://cplusplus.github.io/CWG/issues/2662.html">2662</a></td> - <td>DR</td> + <td>C++23</td> <td>Example for member access control vs. overload resolution</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2663"> <td><a href="https://cplusplus.github.io/CWG/issues/2663.html">2663</a></td> - <td>tentatively ready</td> + <td>DR</td> <td>Example for member redeclarations with <I>using-declaration</I>s</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2664"> <td><a href="https://cplusplus.github.io/CWG/issues/2664.html">2664</a></td> - <td>DR</td> + <td>C++23</td> <td>Deduction failure in CTAD for alias templates</td> <td class="none" align="center">Unknown</td> </tr> @@ -15807,7 +15807,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2667"> <td><a href="https://cplusplus.github.io/CWG/issues/2667.html">2667</a></td> - <td>DR</td> + <td>C++23</td> <td>Named module imports do not import macros</td> <td class="none" align="center">Unknown</td> </tr> @@ -15843,13 +15843,13 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2673"> <td><a href="https://cplusplus.github.io/CWG/issues/2673.html">2673</a></td> - <td>DR</td> + <td>C++23</td> <td>User-declared spaceship vs. built-in operators</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2674"> <td><a href="https://cplusplus.github.io/CWG/issues/2674.html">2674</a></td> - <td>accepted</td> + <td>C++23</td> <td>Prohibit explicit object parameters for constructors</td> <td class="none" align="center">Unknown</td> </tr> @@ -15873,7 +15873,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2678"> <td><a href="https://cplusplus.github.io/CWG/issues/2678.html">2678</a></td> - <td>DR</td> + <td>C++23</td> <td><TT>std::source_location::current</TT> is unimplementable</td> <td class="none" align="center">Unknown</td> </tr> @@ -15891,19 +15891,19 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2681"> <td><a href="https://cplusplus.github.io/CWG/issues/2681.html">2681</a></td> - <td>DR</td> + <td>C++23</td> <td>Deducing member array type from string literal</td> <td class="unreleased" align="center">Clang 17</td> </tr> <tr id="2682"> <td><a href="https://cplusplus.github.io/CWG/issues/2682.html">2682</a></td> - <td>DR</td> + <td>C++23</td> <td>Templated function vs. function template</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2683"> <td><a href="https://cplusplus.github.io/CWG/issues/2683.html">2683</a></td> - <td>ready</td> + <td>DR</td> <td>Default arguments for member functions of templated nested classes</td> <td class="none" align="center">Unknown</td> </tr> @@ -15915,7 +15915,7 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2685"> <td><a href="https://cplusplus.github.io/CWG/issues/2685.html">2685</a></td> - <td>DR</td> + <td>C++23</td> <td>Aggregate CTAD, string, and brace elision</td> <td class="none" align="center">Unknown</td> </tr> @@ -15925,11 +15925,11 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Pack expansion into a non-pack parameter of a concept</td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2687"> + <tr id="2687"> <td><a href="https://cplusplus.github.io/CWG/issues/2687.html">2687</a></td> - <td>review</td> + <td>C++23</td> <td>Calling an explicit object member function via an address-of-overload-set</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr class="open" id="2688"> <td><a href="https://cplusplus.github.io/CWG/issues/2688.html">2688</a></td> @@ -15939,25 +15939,25 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr class="open" id="2689"> <td><a href="https://cplusplus.github.io/CWG/issues/2689.html">2689</a></td> - <td>open</td> + <td>review</td> <td>Are cv-qualified <TT>std::nullptr_t</TT> fundamental types?</td> <td align="center">Not resolved</td> </tr> <tr id="2690"> <td><a href="https://cplusplus.github.io/CWG/issues/2690.html">2690</a></td> - <td>DR</td> + <td>C++23</td> <td>Semantics of defaulted move assignment operator for unions</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2691"> <td><a href="https://cplusplus.github.io/CWG/issues/2691.html">2691</a></td> - <td>accepted</td> + <td>C++23</td> <td><I>hexadecimal-escape-sequence</I> is too greedy</td> <td class="none" align="center">Unknown</td> </tr> <tr id="2692"> <td><a href="https://cplusplus.github.io/CWG/issues/2692.html">2692</a></td> - <td>accepted</td> + <td>C++23</td> <td>Static and explicit object member functions with the same parameter-type-lists</td> <td class="none" align="center">Unknown</td> </tr> @@ -15975,31 +15975,31 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> </tr> <tr id="2695"> <td><a href="https://cplusplus.github.io/CWG/issues/2695.html">2695</a></td> - <td>DR</td> + <td>C++23</td> <td>Semantic ignorability of attributes</td> <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="2696"> + <tr id="2696"> <td><a href="https://cplusplus.github.io/CWG/issues/2696.html">2696</a></td> - <td>open</td> + <td>dup</td> <td>Relational comparisons of pointers to <TT>void</TT></td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="2697"> + <tr id="2697"> <td><a href="https://cplusplus.github.io/CWG/issues/2697.html">2697</a></td> - <td>open</td> + <td>DR</td> <td>Deduction guides using abbreviated function syntax</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="2698"> + <tr id="2698"> <td><a href="https://cplusplus.github.io/CWG/issues/2698.html">2698</a></td> - <td>review</td> + <td>DR</td> <td>Using extended integer types with <TT>z</TT> suffix</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> <tr id="2699"> <td><a href="https://cplusplus.github.io/CWG/issues/2699.html">2699</a></td> - <td>ready</td> + <td>DR</td> <td>Inconsistency of <I>throw-expression</I> specification</td> <td class="none" align="center">Unknown</td> </tr> @@ -16051,22 +16051,442 @@ <h2 id="cxxdr">C++ defect report implementation status</h2> <td>Deduction guides cannot have a trailing <I>requires-clause</I></td> <td align="center">Not resolved</td> </tr> - <tr class="open" id="2708"> + <tr id="2708"> <td><a href="https://cplusplus.github.io/CWG/issues/2708.html">2708</a></td> - <td>open</td> + <td>DR</td> <td>Parenthesized initialization of arrays</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="2709"> + <tr id="2709"> <td><a href="https://cplusplus.github.io/CWG/issues/2709.html">2709</a></td> - <td>open</td> + <td>NAD</td> <td>Parenthesized initialization of reference-to-aggregate</td> - <td align="center">Not resolved</td> + <td class="none" align="center">Unknown</td> </tr> - <tr class="open" id="2710"> + <tr id="2710"> <td><a href="https://cplusplus.github.io/CWG/issues/2710.html">2710</a></td> - <td>open</td> + <td>DR</td> <td>Loops in constant expressions</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2711"> + <td><a href="https://cplusplus.github.io/CWG/issues/2711.html">2711</a></td> + <td>DR</td> + <td>Source for copy-initializing the exception object</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2712"> + <td><a href="https://cplusplus.github.io/CWG/issues/2712.html">2712</a></td> + <td>DR</td> + <td>Simplify restrictions on built-in assignment operator candidates</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2713"> + <td><a href="https://cplusplus.github.io/CWG/issues/2713.html">2713</a></td> + <td>DR</td> + <td>Initialization of reference-to-aggregate from designated initializer list</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr class="open" id="2714"> + <td><a href="https://cplusplus.github.io/CWG/issues/2714.html">2714</a></td> + <td>open</td> + <td>Implicit deduction guides omit properties from the parameter-declaration-clause of a constructor</td> + <td align="center">Not resolved</td> + </tr> + <tr id="2715"> + <td><a href="https://cplusplus.github.io/CWG/issues/2715.html">2715</a></td> + <td>DR</td> + <td>"calling function" for parameter initialization may not exist</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2716"> + <td><a href="https://cplusplus.github.io/CWG/issues/2716.html">2716</a></td> + <td>DR</td> + <td>Rule about self-or-base conversion is normatively redundant</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2717"> + <td><a href="https://cplusplus.github.io/CWG/issues/2717.html">2717</a></td> + <td>DR</td> + <td>Pack expansion for <I>alignment-specifier</I></td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2718"> + <td><a href="https://cplusplus.github.io/CWG/issues/2718.html">2718</a></td> + <td>DR</td> + <td>Type completeness for derived-to-base conversions</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2719"> + <td><a href="https://cplusplus.github.io/CWG/issues/2719.html">2719</a></td> + <td>DR</td> + <td>Creating objects in misaligned storage</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2720"> + <td><a href="https://cplusplus.github.io/CWG/issues/2720.html">2720</a></td> + <td>DR</td> + <td>Template validity rules for templated entities and alias templates</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2721"> + <td><a href="https://cplusplus.github.io/CWG/issues/2721.html">2721</a></td> + <td>DR</td> + <td>When exactly is storage reused?</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2722"> + <td><a href="https://cplusplus.github.io/CWG/issues/2722.html">2722</a></td> + <td>DR</td> + <td>Temporary materialization conversion for <TT>noexcept</TT> operator</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2723"> + <td><a href="https://cplusplus.github.io/CWG/issues/2723.html">2723</a></td> + <td>DR</td> + <td>Range of representable values for floating-point types</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2724"> + <td><a href="https://cplusplus.github.io/CWG/issues/2724.html">2724</a></td> + <td>DR</td> + <td>Clarify rounding for arithmetic right shift</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2725"> + <td><a href="https://cplusplus.github.io/CWG/issues/2725.html">2725</a></td> + <td>tentatively ready</td> + <td>Overload resolution for non-call of class member access</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr class="open" id="2726"> + <td><a href="https://cplusplus.github.io/CWG/issues/2726.html">2726</a></td> + <td>review</td> + <td>Alternative tokens appearing as <I>attribute-token</I>s</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2727"> + <td><a href="https://cplusplus.github.io/CWG/issues/2727.html">2727</a></td> + <td>open</td> + <td>Importing header units synthesized from source files</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2728"> + <td><a href="https://cplusplus.github.io/CWG/issues/2728.html">2728</a></td> + <td>open</td> + <td>Evaluation of conversions in a <I>delete-expression</I></td> + <td align="center">Not resolved</td> + </tr> + <tr id="2729"> + <td><a href="https://cplusplus.github.io/CWG/issues/2729.html">2729</a></td> + <td>DR</td> + <td>Meaning of <I>new-type-id</I></td> + <td class="none" align="center">Unknown</td> + </tr> + <tr class="open" id="2730"> + <td><a href="https://cplusplus.github.io/CWG/issues/2730.html">2730</a></td> + <td>open</td> + <td>Comparison templates on enumeration types</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2731"> + <td><a href="https://cplusplus.github.io/CWG/issues/2731.html">2731</a></td> + <td>open</td> + <td>List-initialization sequence with a user-defined conversion</td> + <td align="center">Not resolved</td> + </tr> + <tr id="2732"> + <td><a href="https://cplusplus.github.io/CWG/issues/2732.html">2732</a></td> + <td>DR</td> + <td>Can importable headers react to preprocessor state from point of import?</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr class="open" id="2733"> + <td><a href="https://cplusplus.github.io/CWG/issues/2733.html">2733</a></td> + <td>review</td> + <td>Applying <TT>[[maybe_unused]]</TT> to a label</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2734"> + <td><a href="https://cplusplus.github.io/CWG/issues/2734.html">2734</a></td> + <td>open</td> + <td>Immediate forward-declared function templates</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2735"> + <td><a href="https://cplusplus.github.io/CWG/issues/2735.html">2735</a></td> + <td>open</td> + <td>List-initialization and conversions in overload resolution</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2736"> + <td><a href="https://cplusplus.github.io/CWG/issues/2736.html">2736</a></td> + <td>open</td> + <td>Standard layout class with empty base class also in first member</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2737"> + <td><a href="https://cplusplus.github.io/CWG/issues/2737.html">2737</a></td> + <td>open</td> + <td>Temporary lifetime extension for reference init-captures</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2738"> + <td><a href="https://cplusplus.github.io/CWG/issues/2738.html">2738</a></td> + <td>review</td> + <td>"denotes a destructor" is missing specification</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2739"> + <td><a href="https://cplusplus.github.io/CWG/issues/2739.html">2739</a></td> + <td>open</td> + <td>Nested requirement not a constant expression</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2740"> + <td><a href="https://cplusplus.github.io/CWG/issues/2740.html">2740</a></td> + <td>open</td> + <td>Too many objects have constexpr-unknown type</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2741"> + <td><a href="https://cplusplus.github.io/CWG/issues/2741.html">2741</a></td> + <td>open</td> + <td>Implicit conversion sequence from empty list to array of unknown bound</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2742"> + <td><a href="https://cplusplus.github.io/CWG/issues/2742.html">2742</a></td> + <td>open</td> + <td>Guaranteed copy elision for brace-initialization from prvalue</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2743"> + <td><a href="https://cplusplus.github.io/CWG/issues/2743.html">2743</a></td> + <td>open</td> + <td>Copying non-trivial objects nested within a union</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2744"> + <td><a href="https://cplusplus.github.io/CWG/issues/2744.html">2744</a></td> + <td>open</td> + <td>Multiple objects of the same type at the same address</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2745"> + <td><a href="https://cplusplus.github.io/CWG/issues/2745.html">2745</a></td> + <td>open</td> + <td>Dependent odr-use in generic lambdas</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2746"> + <td><a href="https://cplusplus.github.io/CWG/issues/2746.html">2746</a></td> + <td>open</td> + <td>Checking of default template arguments</td> + <td align="center">Not resolved</td> + </tr> + <tr id="2747"> + <td><a href="https://cplusplus.github.io/CWG/issues/2747.html">2747</a></td> + <td>ready</td> + <td>Cannot depend on an already-deleted splice</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr class="open" id="2748"> + <td><a href="https://cplusplus.github.io/CWG/issues/2748.html">2748</a></td> + <td>open</td> + <td>Accessing static data members via null pointer</td> + <td align="center">Not resolved</td> + </tr> + <tr id="2749"> + <td><a href="https://cplusplus.github.io/CWG/issues/2749.html">2749</a></td> + <td>tentatively ready</td> + <td>Treatment of "pointer to void" for relational comparisons</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2750"> + <td><a href="https://cplusplus.github.io/CWG/issues/2750.html">2750</a></td> + <td>DR</td> + <td>construct_at without constructor call</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr class="open" id="2751"> + <td><a href="https://cplusplus.github.io/CWG/issues/2751.html">2751</a></td> + <td>open</td> + <td>Order of destruction for parameters for operator functions</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2752"> + <td><a href="https://cplusplus.github.io/CWG/issues/2752.html">2752</a></td> + <td>open</td> + <td>Excess-precision floating-point literals</td> + <td align="center">Not resolved</td> + </tr> + <tr id="2753"> + <td><a href="https://cplusplus.github.io/CWG/issues/2753.html">2753</a></td> + <td>tentatively ready</td> + <td>Storage reuse for string literal objects and backing arrays</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2754"> + <td><a href="https://cplusplus.github.io/CWG/issues/2754.html">2754</a></td> + <td>ready</td> + <td>Using *this in explicit object member functions that are coroutines</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2755"> + <td><a href="https://cplusplus.github.io/CWG/issues/2755.html">2755</a></td> + <td>ready</td> + <td>Incorrect wording applied by P2738R1</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr id="2756"> + <td><a href="https://cplusplus.github.io/CWG/issues/2756.html">2756</a></td> + <td>tentatively ready</td> + <td>Completion of initialization by delegating constructor</td> + <td class="none" align="center">Unknown</td> + </tr> + <tr class="open" id="2757"> + <td><a href="https://cplusplus.github.io/CWG/issues/2757.html">2757</a></td> + <td>open</td> + <td>Deleting or deallocating storage of an object during its construction</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2758"> + <td><a href="https://cplusplus.github.io/CWG/issues/2758.html">2758</a></td> + <td>open</td> + <td>What is "access and ambiguity control"?</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2759"> + <td><a href="https://cplusplus.github.io/CWG/issues/2759.html">2759</a></td> + <td>open</td> + <td>[[no_unique_address] and common initial sequence</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2760"> + <td><a href="https://cplusplus.github.io/CWG/issues/2760.html">2760</a></td> + <td>open</td> + <td>Defaulted constructor that is an immediate function</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2761"> + <td><a href="https://cplusplus.github.io/CWG/issues/2761.html">2761</a></td> + <td>open</td> + <td>Implicitly invoking the deleted destructor of an anonymous union member</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2762"> + <td><a href="https://cplusplus.github.io/CWG/issues/2762.html">2762</a></td> + <td>open</td> + <td>Type of implicit object parameter</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2763"> + <td><a href="https://cplusplus.github.io/CWG/issues/2763.html">2763</a></td> + <td>review</td> + <td>Ignorability of [[noreturn]] during constant evaluation</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2764"> + <td><a href="https://cplusplus.github.io/CWG/issues/2764.html">2764</a></td> + <td>open</td> + <td>Use of placeholders affecting name mangling</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2765"> + <td><a href="https://cplusplus.github.io/CWG/issues/2765.html">2765</a></td> + <td>open</td> + <td>Address comparisons between potentially non-unique objects during constant evaluation</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2766"> + <td><a href="https://cplusplus.github.io/CWG/issues/2766.html">2766</a></td> + <td>open</td> + <td>Repeated evaluation of a <I>string-literal</I> may yield diff erent objects</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2767"> + <td><a href="https://cplusplus.github.io/CWG/issues/2767.html">2767</a></td> + <td>open</td> + <td>Non-defining declarations of anonymous unions</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2768"> + <td><a href="https://cplusplus.github.io/CWG/issues/2768.html">2768</a></td> + <td>open</td> + <td>Assignment to scalar with a <I>braced-init-list</I></td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2769"> + <td><a href="https://cplusplus.github.io/CWG/issues/2769.html">2769</a></td> + <td>open</td> + <td>Substitution into template parameters and default template arguments should be interleaved</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2770"> + <td><a href="https://cplusplus.github.io/CWG/issues/2770.html">2770</a></td> + <td>open</td> + <td>Trailing <I>requires-clause</I> can refer to function parameters before they are substituted into</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2771"> + <td><a href="https://cplusplus.github.io/CWG/issues/2771.html">2771</a></td> + <td>open</td> + <td>Transformation for <I>unqualified-id</I>s in address operator</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2772"> + <td><a href="https://cplusplus.github.io/CWG/issues/2772.html">2772</a></td> + <td>open</td> + <td>Missing Annex C entry for linkage effects of <I>linkage-specification</I></td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2773"> + <td><a href="https://cplusplus.github.io/CWG/issues/2773.html">2773</a></td> + <td>open</td> + <td>Naming anonymous union members as class members</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2774"> + <td><a href="https://cplusplus.github.io/CWG/issues/2774.html">2774</a></td> + <td>open</td> + <td>Value-dependence of <I>requires-expression</I>s</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2775"> + <td><a href="https://cplusplus.github.io/CWG/issues/2775.html">2775</a></td> + <td>open</td> + <td>Unclear argument type for copy of exception object</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2776"> + <td><a href="https://cplusplus.github.io/CWG/issues/2776.html">2776</a></td> + <td>open</td> + <td>Substitution failure and implementation limits</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2777"> + <td><a href="https://cplusplus.github.io/CWG/issues/2777.html">2777</a></td> + <td>open</td> + <td>Type of <I>id-expression</I> denoting a template parameter object</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2778"> + <td><a href="https://cplusplus.github.io/CWG/issues/2778.html">2778</a></td> + <td>open</td> + <td>Trivial destructor does not imply constant destruction</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2779"> + <td><a href="https://cplusplus.github.io/CWG/issues/2779.html">2779</a></td> + <td>open</td> + <td>Restrictions on the ordinary literal encoding</td> + <td align="center">Not resolved</td> + </tr> + <tr class="open" id="2780"> + <td><a href="https://cplusplus.github.io/CWG/issues/2780.html">2780</a></td> + <td>open</td> + <td><TT>reinterpret_cast</TT> to reference to function types</td> <td align="center">Not resolved</td> </tr></table> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits