Skip to content

Commit 42357d4

Browse files
author
github-actions
committed
Automatic update from GitHub Actions workflow
1 parent 1865150 commit 42357d4

22 files changed

+129
-75
lines changed

issue4389.html

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
<p><em>This page is a snapshot from the LWG issues list, see the <a href="lwg-active.html">Library Active Issues List</a> for more information and the meaning of <a href="lwg-active.html#New">New</a> status.</em></p>
6565
<h3 id="4389"><a href="lwg-active.html#4389">4389</a>. <code class='backtick'>ranges::for_each</code> possibly behaves differently from range-based <code class='backtick'>for</code></h3>
6666
<p><b>Section:</b> 25.4.2 <a href="https://wg21.link/range.range">[range.range]</a> <b>Status:</b> <a href="lwg-active.html#New">New</a>
67-
<b>Submitter:</b> Jiang An <b>Opened:</b> 2025-09-28 <b>Last modified:</b> 2025-10-03</p>
67+
<b>Submitter:</b> Jiang An <b>Opened:</b> 2025-09-28 <b>Last modified:</b> 2025-10-10</p>
6868
<p><b>Priority: </b>Not Prioritized
6969
</p>
7070
<p><b>View all other</b> <a href="lwg-index.html#range.range">issues</a> in [range.range].</p>
@@ -118,13 +118,21 @@ <h3 id="4389"><a href="lwg-active.html#4389">4389</a>. <code class='backtick'>ra
118118
-2- Given a subexpression <code class='backtick'>E</code> with type <code class='backtick'>T</code>, let <code class='backtick'>t</code> be an lvalue that denotes the reified object for <code class='backtick'>E</code>. Then:
119119
</p>
120120
<ol style="list-style-type: none">
121-
<li><p>(2.1) &mdash; [&hellip;]</p></li>
122-
<li><p>(2.2) &mdash; [&hellip;]</p></li>
123-
<li><p>(2.3) &mdash; [&hellip;]</p></li>
124-
<li><p>(2.4) &mdash; [&hellip;]</p></li>
121+
<li><p>(2.1) &mdash; If <code class='backtick'>E</code> is an rvalue and <code>enable_borrowed_range&lt;remove_cv_t&lt;T&gt;&gt;</code> is
122+
<code class='backtick'>false</code>, <code class='backtick'>ranges::begin(E)</code> is ill-formed.</p></li>
123+
<li><p>(2.2) &mdash; Otherwise, if <code class='backtick'>T</code> is an array type (9.3.4.5 <a href="https://wg21.link/dcl.array">[dcl.array]</a>) and
124+
<code>remove_all_extents_t&lt;T&gt;</code> is an incomplete type, <code class='backtick'>ranges::begin(E)</code> is
125+
ill-formed with no diagnostic required.</p></li>
126+
<li><p>(2.3) &mdash; Otherwise, if <code class='backtick'>T</code> is an array type, <code class='backtick'>ranges::begin(E)</code> is
127+
expression-equivalent to <code class='backtick'>t + 0</code>.</p></li>
128+
<li><p>(2.4) &mdash; Otherwise, if <code class='backtick'>auto(t.begin())</code> is a valid expression whose type models
129+
<code class='backtick'>input_or_output_iterator</code>, <code class='backtick'>ranges::begin(E)</code> is expression-equivalent to <code class='backtick'>auto(t.begin())</code>.</p></li>
125130
<li><p><ins>(2.?) &mdash; Otherwise, if <code>remove_cvref_t&lt;T&gt;</code> is a class type and search for
126131
<code class='backtick'>begin</code> in the scope of that class finds at least one declaration, <code class='backtick'>ranges::begin(E)</code> is ill-formed.</ins></p></li>
127-
<li><p>(2.5) &mdash; [&hellip;]</p></li>
132+
<li><p>(2.5) &mdash; Otherwise, if <code class='backtick'>T</code> is a class or enumeration type and <code class='backtick'>auto(begin(t))</code>
133+
is a valid expression whose type models <code class='backtick'>input_or_output_iterator</code> where the meaning of <code class='backtick'>begin</code>
134+
is established as-if by performing argument-dependent lookup only (6.5.4 <a href="https://wg21.link/basic.lookup.argdep">[basic.lookup.argdep]</a>),
135+
then <code class='backtick'>ranges::begin(E)</code> is expression-equivalent to that expression.</p></li>
128136
<li><p>(2.6) &mdash; Otherwise, <code class='backtick'>ranges::begin(E)</code> is ill-formed.</p></li>
129137
</ol>
130138
</blockquote>
@@ -137,14 +145,24 @@ <h3 id="4389"><a href="lwg-active.html#4389">4389</a>. <code class='backtick'>ra
137145
-2- Given a subexpression <code class='backtick'>E</code> with type <code class='backtick'>T</code>, let <code class='backtick'>t</code> be an lvalue that denotes the reified object for <code class='backtick'>E</code>. Then:
138146
</p>
139147
<ol style="list-style-type: none">
140-
<li><p>(2.1) &mdash; [&hellip;]</p></li>
141-
<li><p>(2.2) &mdash; [&hellip;]</p></li>
142-
<li><p>(2.3) &mdash; [&hellip;]</p></li>
143-
<li><p>(2.4) &mdash; [&hellip;]</p></li>
144-
<li><p>(2.5) &mdash; [&hellip;]</p></li>
148+
<li><p>(2.1) &mdash; If <code class='backtick'>E</code> is an rvalue and <code>enable_borrowed_range&lt;remove_cv_t&lt;T&gt;&gt;</code>
149+
is <code class='backtick'>false</code>, <code class='backtick'>ranges::end(E)</code> is ill-formed.</p></li>
150+
<li><p>(2.2) &mdash; Otherwise, if <code class='backtick'>T</code> is an array type (9.3.4.5 <a href="https://wg21.link/dcl.array">[dcl.array]</a>) and
151+
<code>remove_all_extents_t&lt;T&gt;</code> is an incomplete type, <code class='backtick'>ranges::end(E)</code> is ill-formed
152+
with no diagnostic required.</p></li>
153+
<li><p>(2.3) &mdash; Otherwise, if <code class='backtick'>T</code> is an array of unknown bound, <code class='backtick'>ranges::end(E)</code> is ill-formed.</p></li>
154+
<li><p>(2.4) &mdash; Otherwise, if <code class='backtick'>T</code> is an array, <code class='backtick'>ranges::end(E)</code> is expression-equivalent to
155+
<code>t + extent_v&lt;T&gt;</code>.</p></li>
156+
<li><p>(2.5) &mdash; Otherwise, if <code class='backtick'>auto(t.end())</code> is a valid expression whose type models
157+
<code>sentinel_for&lt;iterator_t&lt;T&gt;&gt;</code> then <code class='backtick'>ranges::end(E)</code> is expression-equivalent to
158+
<code class='backtick'>auto(t.end())</code>.</p></li>
145159
<li><p><ins>(2.?) &mdash; Otherwise, if <code>remove_cvref_t&lt;T&gt;</code> is a class type and search for
146160
<code class='backtick'>end</code> in the scope of that class finds at least one declaration, <code class='backtick'>ranges::end(E)</code> is ill-formed.</ins></p></li>
147-
<li><p>(2.6) &mdash; [&hellip;]</p></li>
161+
<li><p>(2.6) &mdash; Otherwise, if <code class='backtick'>T</code> is a class or enumeration type and <code class='backtick'>auto(end(t))</code>
162+
is a valid expression whose type models <code>sentinel_for&lt;iterator_t&lt;T&gt;&gt;</code>
163+
where the meaning of end is established as-if by performing argument-dependent
164+
lookup only (6.5.4 <a href="https://wg21.link/basic.lookup.argdep">[basic.lookup.argdep]</a>), then <code class='backtick'>ranges::end(E)</code> is expression-equivalent
165+
to that expression.</p></li>
148166
<li><p>(2.7) &mdash; Otherwise, <code class='backtick'>ranges::end(E)</code> is ill-formed.</p></li>
149167
</ol>
150168
</blockquote>

lwg-active.html

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
</tr>
8080
</table>
8181
<h1>C++ Standard Library Active Issues List (Revision D125)</h1>
82-
<p>Revised 2025-10-10 at 13:47:50 UTC
82+
<p>Revised 2025-10-10 at 14:09:29 UTC
8383
</p>
8484
<p>Reference ISO/IEC IS 14882:2020(E)</p>
8585
<p>Also see:</p>
@@ -85608,7 +85608,7 @@ <h3 id="4388"><a href="#4388">4388</a><sup><a href="https://cplusplus.github.io/
8560885608
<hr>
8560985609
<h3 id="4389"><a href="#4389">4389</a><sup><a href="https://cplusplus.github.io/LWG/issue4389">(i)</a></sup>. <code class='backtick'>ranges::for_each</code> possibly behaves differently from range-based <code class='backtick'>for</code></h3>
8561085610
<p><b>Section:</b> 25.4.2 <a href="https://wg21.link/range.range">[range.range]</a> <b>Status:</b> <a href="lwg-active.html#New">New</a>
85611-
<b>Submitter:</b> Jiang An <b>Opened:</b> 2025-09-28 <b>Last modified:</b> 2025-10-03</p>
85611+
<b>Submitter:</b> Jiang An <b>Opened:</b> 2025-09-28 <b>Last modified:</b> 2025-10-10</p>
8561285612
<p><b>Priority: </b>Not Prioritized
8561385613
</p>
8561485614
<p><b>View all other</b> <a href="lwg-index.html#range.range">issues</a> in [range.range].</p>
@@ -85662,13 +85662,21 @@ <h3 id="4389"><a href="#4389">4389</a><sup><a href="https://cplusplus.github.io/
8566285662
-2- Given a subexpression <code class='backtick'>E</code> with type <code class='backtick'>T</code>, let <code class='backtick'>t</code> be an lvalue that denotes the reified object for <code class='backtick'>E</code>. Then:
8566385663
</p>
8566485664
<ol style="list-style-type: none">
85665-
<li><p>(2.1) &mdash; [&hellip;]</p></li>
85666-
<li><p>(2.2) &mdash; [&hellip;]</p></li>
85667-
<li><p>(2.3) &mdash; [&hellip;]</p></li>
85668-
<li><p>(2.4) &mdash; [&hellip;]</p></li>
85665+
<li><p>(2.1) &mdash; If <code class='backtick'>E</code> is an rvalue and <code>enable_borrowed_range&lt;remove_cv_t&lt;T&gt;&gt;</code> is
85666+
<code class='backtick'>false</code>, <code class='backtick'>ranges::begin(E)</code> is ill-formed.</p></li>
85667+
<li><p>(2.2) &mdash; Otherwise, if <code class='backtick'>T</code> is an array type (9.3.4.5 <a href="https://wg21.link/dcl.array">[dcl.array]</a>) and
85668+
<code>remove_all_extents_t&lt;T&gt;</code> is an incomplete type, <code class='backtick'>ranges::begin(E)</code> is
85669+
ill-formed with no diagnostic required.</p></li>
85670+
<li><p>(2.3) &mdash; Otherwise, if <code class='backtick'>T</code> is an array type, <code class='backtick'>ranges::begin(E)</code> is
85671+
expression-equivalent to <code class='backtick'>t + 0</code>.</p></li>
85672+
<li><p>(2.4) &mdash; Otherwise, if <code class='backtick'>auto(t.begin())</code> is a valid expression whose type models
85673+
<code class='backtick'>input_or_output_iterator</code>, <code class='backtick'>ranges::begin(E)</code> is expression-equivalent to <code class='backtick'>auto(t.begin())</code>.</p></li>
8566985674
<li><p><ins>(2.?) &mdash; Otherwise, if <code>remove_cvref_t&lt;T&gt;</code> is a class type and search for
8567085675
<code class='backtick'>begin</code> in the scope of that class finds at least one declaration, <code class='backtick'>ranges::begin(E)</code> is ill-formed.</ins></p></li>
85671-
<li><p>(2.5) &mdash; [&hellip;]</p></li>
85676+
<li><p>(2.5) &mdash; Otherwise, if <code class='backtick'>T</code> is a class or enumeration type and <code class='backtick'>auto(begin(t))</code>
85677+
is a valid expression whose type models <code class='backtick'>input_or_output_iterator</code> where the meaning of <code class='backtick'>begin</code>
85678+
is established as-if by performing argument-dependent lookup only (6.5.4 <a href="https://wg21.link/basic.lookup.argdep">[basic.lookup.argdep]</a>),
85679+
then <code class='backtick'>ranges::begin(E)</code> is expression-equivalent to that expression.</p></li>
8567285680
<li><p>(2.6) &mdash; Otherwise, <code class='backtick'>ranges::begin(E)</code> is ill-formed.</p></li>
8567385681
</ol>
8567485682
</blockquote>
@@ -85681,14 +85689,24 @@ <h3 id="4389"><a href="#4389">4389</a><sup><a href="https://cplusplus.github.io/
8568185689
-2- Given a subexpression <code class='backtick'>E</code> with type <code class='backtick'>T</code>, let <code class='backtick'>t</code> be an lvalue that denotes the reified object for <code class='backtick'>E</code>. Then:
8568285690
</p>
8568385691
<ol style="list-style-type: none">
85684-
<li><p>(2.1) &mdash; [&hellip;]</p></li>
85685-
<li><p>(2.2) &mdash; [&hellip;]</p></li>
85686-
<li><p>(2.3) &mdash; [&hellip;]</p></li>
85687-
<li><p>(2.4) &mdash; [&hellip;]</p></li>
85688-
<li><p>(2.5) &mdash; [&hellip;]</p></li>
85692+
<li><p>(2.1) &mdash; If <code class='backtick'>E</code> is an rvalue and <code>enable_borrowed_range&lt;remove_cv_t&lt;T&gt;&gt;</code>
85693+
is <code class='backtick'>false</code>, <code class='backtick'>ranges::end(E)</code> is ill-formed.</p></li>
85694+
<li><p>(2.2) &mdash; Otherwise, if <code class='backtick'>T</code> is an array type (9.3.4.5 <a href="https://wg21.link/dcl.array">[dcl.array]</a>) and
85695+
<code>remove_all_extents_t&lt;T&gt;</code> is an incomplete type, <code class='backtick'>ranges::end(E)</code> is ill-formed
85696+
with no diagnostic required.</p></li>
85697+
<li><p>(2.3) &mdash; Otherwise, if <code class='backtick'>T</code> is an array of unknown bound, <code class='backtick'>ranges::end(E)</code> is ill-formed.</p></li>
85698+
<li><p>(2.4) &mdash; Otherwise, if <code class='backtick'>T</code> is an array, <code class='backtick'>ranges::end(E)</code> is expression-equivalent to
85699+
<code>t + extent_v&lt;T&gt;</code>.</p></li>
85700+
<li><p>(2.5) &mdash; Otherwise, if <code class='backtick'>auto(t.end())</code> is a valid expression whose type models
85701+
<code>sentinel_for&lt;iterator_t&lt;T&gt;&gt;</code> then <code class='backtick'>ranges::end(E)</code> is expression-equivalent to
85702+
<code class='backtick'>auto(t.end())</code>.</p></li>
8568985703
<li><p><ins>(2.?) &mdash; Otherwise, if <code>remove_cvref_t&lt;T&gt;</code> is a class type and search for
8569085704
<code class='backtick'>end</code> in the scope of that class finds at least one declaration, <code class='backtick'>ranges::end(E)</code> is ill-formed.</ins></p></li>
85691-
<li><p>(2.6) &mdash; [&hellip;]</p></li>
85705+
<li><p>(2.6) &mdash; Otherwise, if <code class='backtick'>T</code> is a class or enumeration type and <code class='backtick'>auto(end(t))</code>
85706+
is a valid expression whose type models <code>sentinel_for&lt;iterator_t&lt;T&gt;&gt;</code>
85707+
where the meaning of end is established as-if by performing argument-dependent
85708+
lookup only (6.5.4 <a href="https://wg21.link/basic.lookup.argdep">[basic.lookup.argdep]</a>), then <code class='backtick'>ranges::end(E)</code> is expression-equivalent
85709+
to that expression.</p></li>
8569285710
<li><p>(2.7) &mdash; Otherwise, <code class='backtick'>ranges::end(E)</code> is ill-formed.</p></li>
8569385711
</ol>
8569485712
</blockquote>

lwg-closed.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
</tr>
8080
</table>
8181
<h1>C++ Standard Library Closed Issues List (Revision D125)</h1>
82-
<p>Revised 2025-10-10 at 13:47:50 UTC
82+
<p>Revised 2025-10-10 at 14:09:29 UTC
8383
</p>
8484
<p>Reference ISO/IEC IS 14882:2020(E)</p>
8585
<p>Also see:</p>

lwg-defects.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
</tr>
8080
</table>
8181
<h1>C++ Standard Library Defect Reports and Accepted Issues (Revision D125)</h1>
82-
<p>Revised 2025-10-10 at 13:47:50 UTC
82+
<p>Revised 2025-10-10 at 14:09:29 UTC
8383
</p>
8484
<p>Reference ISO/IEC IS 14882:2020(E)</p>
8585
<p>Also see:</p>

lwg-immediate.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ <h1>C++ Standard Library Issues Resolved Directly In [INSERT CURRENT MEETING HER
6262
</tr>
6363
<tr>
6464
<td align="left">Date:</td>
65-
<td align="left">Revised 2025-10-10 at 13:47:50 UTC
65+
<td align="left">Revised 2025-10-10 at 14:09:29 UTC
6666
</td>
6767
</tr>
6868
<tr>

lwg-index-open.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ <h1>Index by Section</h1>
6666
<p>This document is the Index by Section for the <a href="lwg-active.html">Library Active Issues List</a>.</p>
6767
<h2>Index by Section (non-Ready active issues only)</h2>
6868
<p><a href="lwg-index.html">(view all issues)</a></p>
69-
<p>Revised 2025-10-10 at 13:47:50 UTC
69+
<p>Revised 2025-10-10 at 14:09:29 UTC
7070
</p><h2 id="Section_3">Section 3 (2 issues)</h2>
7171
<p><a href="lwg-index.html#Section_3">(view all issues)</a></p>
7272
<table class="issues-index">

lwg-index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ <h1>Index by Section</h1>
6666
<p>This document is the Index by Section for the <a href="lwg-active.html">Library Active Issues List</a>, <a href="lwg-defects.html">Library Defect Reports and Accepted Issues</a>, and <a href="lwg-closed.html">Library Closed Issues List</a>.</p>
6767
<h2>Index by Section</h2>
6868
<p><a href="lwg-index-open.html">(view only non-Ready open issues)</a></p>
69-
<p>Revised 2025-10-10 at 13:47:50 UTC
69+
<p>Revised 2025-10-10 at 14:09:29 UTC
7070
</p><h2 id="Section_2">Section 2 (2 issues)</h2>
7171
<table class="issues-index">
7272
<tr>

lwg-ready.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ <h1>C++ Standard Library Issues to be moved in [INSERT CURRENT MEETING HERE]</h1
6262
</tr>
6363
<tr>
6464
<td align="left">Date:</td>
65-
<td align="left">Revised 2025-10-10 at 13:47:50 UTC
65+
<td align="left">Revised 2025-10-10 at 14:09:29 UTC
6666
</td>
6767
</tr>
6868
<tr>

lwg-status-date.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ <h1>Index by Status and Date</h1>
6767
This document is the Index by Status and Date for the <a href="lwg-active.html">Library Active Issues List</a>,
6868
<a href="lwg-defects.html">Library Defect Reports and Accepted Issues</a>, and <a href="lwg-closed.html">Library Closed Issues List</a>.
6969
</p>
70-
<p>Revised 2025-10-10 at 13:47:50 UTC
70+
<p>Revised 2025-10-10 at 14:09:29 UTC
7171
</p><h2 id="Ready">Ready (1 issues)</h2>
7272
<table class="issues-index">
7373
<tr>
@@ -395,6 +395,15 @@ <h2 id="New">New (610 issues)</h2>
395395
<td></td>
396396
</tr>
397397
<tr>
398+
<td id="4389"><a href="lwg-active.html#4389" title="ranges::for_each possibly behaves differently from range-based for (Status: New)">4389</a><sup><a href="https://cplusplus.github.io/LWG/issue4389">(i)</a></sup></td>
399+
<td><a href="lwg-active.html#New">New</a></td>
400+
<td>25.4.2 [range.range]</td>
401+
<td><code class='backtick'>ranges::for_each</code> possibly behaves differently from range-based <code class='backtick'>for</code></td>
402+
<td>Yes</td>
403+
<td></td>
404+
<td></td>
405+
</tr>
406+
<tr>
398407
<td id="4322"><a href="lwg-active.html#4322" title="Problematic Constraints on incomplete types in indirect and polymorphic (Status: New)">4322</a><sup><a href="https://cplusplus.github.io/LWG/issue4322">(i)</a></sup></td>
399408
<td><a href="lwg-active.html#New">New</a></td>
400409
<td>20.4 [mem.composite.types]</td>
@@ -503,15 +512,6 @@ <h2 id="New">New (610 issues)</h2>
503512
<td></td>
504513
</tr>
505514
<tr>
506-
<td id="4389"><a href="lwg-active.html#4389" title="ranges::for_each possibly behaves differently from range-based for (Status: New)">4389</a><sup><a href="https://cplusplus.github.io/LWG/issue4389">(i)</a></sup></td>
507-
<td><a href="lwg-active.html#New">New</a></td>
508-
<td>25.4.2 [range.range]</td>
509-
<td><code class='backtick'>ranges::for_each</code> possibly behaves differently from range-based <code class='backtick'>for</code></td>
510-
<td>Yes</td>
511-
<td></td>
512-
<td></td>
513-
</tr>
514-
<tr>
515515
<td id="4390"><a href="lwg-active.html#4390" title="simd::basic_vec(U&amp;&amp;) default template parameter (Status: New)">4390</a><sup><a href="https://cplusplus.github.io/LWG/issue4390">(i)</a></sup></td>
516516
<td><a href="lwg-active.html#New">New</a></td>
517517
<td>29.10.7.2 [simd.ctor]</td>

lwg-status.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ <h1>Index by Status and Section</h1>
6262
<a href="lwg-defects.html">Library Defect Reports and Accepted Issues</a>, and <a href="lwg-closed.html">Library Closed Issues List</a>.
6363
</p>
6464

65-
<p>Revised 2025-10-10 at 13:47:50 UTC
65+
<p>Revised 2025-10-10 at 14:09:29 UTC
6666
</p><h2 id="Ready">Ready (1 issues)</h2>
6767
<table class="issues-index">
6868
<tr>

0 commit comments

Comments
 (0)