Skip to content

Commit

Permalink
Automatic update from GitHub Actions workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions committed Oct 3, 2024
1 parent dc2cb4f commit 6953fb6
Show file tree
Hide file tree
Showing 23 changed files with 132 additions and 102 deletions.
20 changes: 10 additions & 10 deletions issue2136.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,16 +64,16 @@
<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#Open">Open</a> status.</em></p>
<h3 id="2136"><a href="lwg-active.html#2136">2136</a>. Postconditions vs. exceptions</h3>
<p><b>Section:</b> 16.3.2 <a href="https://wg21.link/structure">[structure]</a> <b>Status:</b> <a href="lwg-active.html#Open">Open</a>
<b>Submitter:</b> Jens Maurer <b>Opened:</b> 2012-03-08 <b>Last modified:</b> 2021-06-25</p>
<b>Submitter:</b> Jens Maurer <b>Opened:</b> 2012-03-08 <b>Last modified:</b> 2024-10-03</p>
<p><b>Priority: </b>3
</p>
<p><b>View all issues with</b> <a href="lwg-status.html#Open">Open</a> status.</p>
<p><b>Discussion:</b></p>

<p>
The front matter in clause 17 should clarify that postconditions will not hold if a
standard library function exits via an exception. Postconditions or guarantees that
apply when an exception is thrown (beyond the basic guarantee) are described in an
The front matter in clause 17 should clarify that postconditions will not hold if a
standard library function exits via an exception. Postconditions or guarantees that
apply when an exception is thrown (beyond the basic guarantee) are described in an
"Exception safety" section.
</p>

Expand All @@ -95,26 +95,26 @@ <h3 id="2136"><a href="lwg-active.html#2136">2136</a>. Postconditions vs. except
both issues together.
</p>

<p><i>[2015-05-06 Lenexa: EirkWF to write paper addressing 2136 and 2137]</i></p>
<p><i>[2015-05-06 Lenexa: EricWF to write paper addressing 2136 and 2137]</i></p>

<p>MC: Idea is to replace all such "If no exception" postconditions with "Exception safety" sections.</p>

<p><i>[2021-06-20; Daniel comments]</i></p>

<p>
An informal <a href="https://github.com/cplusplus/draft/issues/3612">editorial change suggestion</a> has
recently been made whose editorial implementation would promote the idea that the default assumption is
An informal <a href="https://github.com/cplusplus/draft/issues/3612">editorial change suggestion</a> has
recently been made whose editorial implementation would promote the idea that the default assumption is
that <i>Postconditions:</i> are only met if the function doesn't exit with an exception.
<p/>
After analyzing all current existing <i>Postconditions:</i> elements the following seems to hold: Affected
by this issue are only non-<code>noexcept</code> functions and mostly non-constructor functions (unless the
by this issue are only non-<code>noexcept</code> functions and mostly non-constructor functions (unless the
<i>Postconditions:</i> element says something about the value of its arguments). Most existing
<i>Postconditions</i> seem to be intended to apply only in non-exceptional cases. I found some where
this is presumably not intended, namely those of the expressions <code>os &lt;&lt; x</code> and
<code>is &gt;&gt; v</code> in Tables [tab:rand.req.eng] and [tab:rand.req.dist], maybe also
<code>is &gt;&gt; v</code> in Tables [tab:rand.req.eng] and [tab:rand.req.dist], maybe also
29.11.2.4 <a href="https://wg21.link/time.zone.db.remote">[time.zone.db.remote]</a> p4.
<p/>
Nonetheless, the editorial change seems to be applicable even without having this issue resolved, because
Nonetheless, the editorial change seems to be applicable even without having this issue resolved, because
it doesn't actually change the normative state by itself.
</p>

Expand Down
20 changes: 15 additions & 5 deletions issue2137.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
<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#Open">Open</a> status.</em></p>
<h3 id="2137"><a href="lwg-active.html#2137">2137</a>. Misleadingly constrained post-condition in the presence of exceptions</h3>
<p><b>Section:</b> 32.7.3 <a href="https://wg21.link/re.regex.assign">[re.regex.assign]</a> <b>Status:</b> <a href="lwg-active.html#Open">Open</a>
<b>Submitter:</b> Jonathan Wakely <b>Opened:</b> 2012-03-08 <b>Last modified:</b> 2021-06-20</p>
<b>Submitter:</b> Jonathan Wakely <b>Opened:</b> 2012-03-08 <b>Last modified:</b> 2024-10-03</p>
<p><b>Priority: </b>3
</p>
<p><b>View all other</b> <a href="lwg-index.html#re.regex.assign">issues</a> in [re.regex.assign].</p>
Expand All @@ -75,11 +75,11 @@ <h3 id="2137"><a href="lwg-active.html#2137">2137</a>. Misleadingly constrained
The post-conditions of <code>basic_regex&lt;&gt;::assign</code> 32.7.3 <a href="https://wg21.link/re.regex.assign">[re.regex.assign]</a> p16 say:
</p>
<blockquote><p>
<span style="color:#C80000;font-weight:bold">If no exception is thrown,</span> <code>flags()</code> returns
<span style="color:#C80000;font-weight:bold">If no exception is thrown,</span> <code>flags()</code> returns
<code>f</code> and <code>mark_count()</code> returns the number of marked sub-expressions within the expression.
</p></blockquote>
<p>
The default expectation in the library is that post-conditions only hold, if there is no failure
The default expectation in the library is that post-conditions only hold, if there is no failure
(see also <a href="lwg-active.html#2136" title="Postconditions vs. exceptions (Status: Open)">2136</a><sup><a href="https://cplusplus.github.io/LWG/issue2136" title="Latest snapshot">(i)</a></sup>), therefore the initial condition should be removed to prevent any
misunderstanding.
</p>
Expand All @@ -102,6 +102,16 @@ <h3 id="2137"><a href="lwg-active.html#2137">2137</a>. Misleadingly constrained
<p><i>[2015-05-06 Lenexa: EricWF to write paper addressing 2136 and 2137]</i></p>


<p><i>[2024-10-03; Jonathan comments]</i></p>

<p>
I could find no other cases in the entire standard where we say something
like this in a <i>Postconditions</i>: element.
31.6.3.5.4 <a href="https://wg21.link/streambuf.virt.pback">[streambuf.virt.pback]</a> p2 says
"<i>Postconditions</i>: On return, the constraints of [...]"
which is probably redundant (postconditions are always "on return").
</p>


<p id="res-2137"><b>Proposed resolution:</b></p>
<p>This wording is relative to N3376.</p>
Expand All @@ -114,10 +124,10 @@ <h3 id="2137"><a href="lwg-active.html#2137">2137</a>. Misleadingly constrained
<p>
[&hellip;]
<p/>
-15- <i>Effects</i>: Assigns the regular expression contained in the string <code>s</code>, interpreted according
-15- <i>Effects</i>: Assigns the regular expression contained in the string <code>s</code>, interpreted according
the flags specified in <code>f</code>. If an exception is thrown, <code>*this</code> is unchanged.
<p/>
-16- <i>Postconditions</i>: <del>If no exception is thrown,</del> <code>flags()</code> returns <code>f</code> and
-16- <i>Postconditions</i>: <del>If no exception is thrown,</del> <code>flags()</code> returns <code>f</code> and
<code>mark_count()</code> returns the number of marked sub-expressions within the expression.
</p>
</blockquote>
Expand Down
42 changes: 26 additions & 16 deletions lwg-active.html
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
</tr>
</table>
<h1>C++ Standard Library Active Issues List (Revision D125)</h1>
<p>Revised 2024-10-03 at 19:39:21 UTC
<p>Revised 2024-10-03 at 20:13:18 UTC
</p>
<p>Reference ISO/IEC IS 14882:2020(E)</p>
<p>Also see:</p>
Expand Down Expand Up @@ -5833,16 +5833,16 @@ <h3 id="2117"><a href="#2117">2117</a><sup><a href="https://cplusplus.github.io/
<hr>
<h3 id="2136"><a href="#2136">2136</a><sup><a href="https://cplusplus.github.io/LWG/issue2136">(i)</a></sup>. Postconditions vs. exceptions</h3>
<p><b>Section:</b> 16.3.2 <a href="https://wg21.link/structure">[structure]</a> <b>Status:</b> <a href="lwg-active.html#Open">Open</a>
<b>Submitter:</b> Jens Maurer <b>Opened:</b> 2012-03-08 <b>Last modified:</b> 2021-06-25</p>
<b>Submitter:</b> Jens Maurer <b>Opened:</b> 2012-03-08 <b>Last modified:</b> 2024-10-03</p>
<p><b>Priority: </b>3
</p>
<p><b>View all issues with</b> <a href="lwg-status.html#Open">Open</a> status.</p>
<p><b>Discussion:</b></p>

<p>
The front matter in clause 17 should clarify that postconditions will not hold if a
standard library function exits via an exception. Postconditions or guarantees that
apply when an exception is thrown (beyond the basic guarantee) are described in an
The front matter in clause 17 should clarify that postconditions will not hold if a
standard library function exits via an exception. Postconditions or guarantees that
apply when an exception is thrown (beyond the basic guarantee) are described in an
"Exception safety" section.
</p>

Expand All @@ -5864,26 +5864,26 @@ <h3 id="2136"><a href="#2136">2136</a><sup><a href="https://cplusplus.github.io/
both issues together.
</p>

<p><i>[2015-05-06 Lenexa: EirkWF to write paper addressing 2136 and 2137]</i></p>
<p><i>[2015-05-06 Lenexa: EricWF to write paper addressing 2136 and 2137]</i></p>

<p>MC: Idea is to replace all such "If no exception" postconditions with "Exception safety" sections.</p>

<p><i>[2021-06-20; Daniel comments]</i></p>

<p>
An informal <a href="https://github.com/cplusplus/draft/issues/3612">editorial change suggestion</a> has
recently been made whose editorial implementation would promote the idea that the default assumption is
An informal <a href="https://github.com/cplusplus/draft/issues/3612">editorial change suggestion</a> has
recently been made whose editorial implementation would promote the idea that the default assumption is
that <i>Postconditions:</i> are only met if the function doesn't exit with an exception.
<p/>
After analyzing all current existing <i>Postconditions:</i> elements the following seems to hold: Affected
by this issue are only non-<code>noexcept</code> functions and mostly non-constructor functions (unless the
by this issue are only non-<code>noexcept</code> functions and mostly non-constructor functions (unless the
<i>Postconditions:</i> element says something about the value of its arguments). Most existing
<i>Postconditions</i> seem to be intended to apply only in non-exceptional cases. I found some where
this is presumably not intended, namely those of the expressions <code>os &lt;&lt; x</code> and
<code>is &gt;&gt; v</code> in Tables [tab:rand.req.eng] and [tab:rand.req.dist], maybe also
<code>is &gt;&gt; v</code> in Tables [tab:rand.req.eng] and [tab:rand.req.dist], maybe also
29.11.2.4 <a href="https://wg21.link/time.zone.db.remote">[time.zone.db.remote]</a> p4.
<p/>
Nonetheless, the editorial change seems to be applicable even without having this issue resolved, because
Nonetheless, the editorial change seems to be applicable even without having this issue resolved, because
it doesn't actually change the normative state by itself.
</p>

Expand All @@ -5897,7 +5897,7 @@ <h3 id="2136"><a href="#2136">2136</a><sup><a href="https://cplusplus.github.io/
<hr>
<h3 id="2137"><a href="#2137">2137</a><sup><a href="https://cplusplus.github.io/LWG/issue2137">(i)</a></sup>. Misleadingly constrained post-condition in the presence of exceptions</h3>
<p><b>Section:</b> 32.7.3 <a href="https://wg21.link/re.regex.assign">[re.regex.assign]</a> <b>Status:</b> <a href="lwg-active.html#Open">Open</a>
<b>Submitter:</b> Jonathan Wakely <b>Opened:</b> 2012-03-08 <b>Last modified:</b> 2021-06-20</p>
<b>Submitter:</b> Jonathan Wakely <b>Opened:</b> 2012-03-08 <b>Last modified:</b> 2024-10-03</p>
<p><b>Priority: </b>3
</p>
<p><b>View all other</b> <a href="lwg-index.html#re.regex.assign">issues</a> in [re.regex.assign].</p>
Expand All @@ -5908,11 +5908,11 @@ <h3 id="2137"><a href="#2137">2137</a><sup><a href="https://cplusplus.github.io/
The post-conditions of <code>basic_regex&lt;&gt;::assign</code> 32.7.3 <a href="https://wg21.link/re.regex.assign">[re.regex.assign]</a> p16 say:
</p>
<blockquote><p>
<span style="color:#C80000;font-weight:bold">If no exception is thrown,</span> <code>flags()</code> returns
<span style="color:#C80000;font-weight:bold">If no exception is thrown,</span> <code>flags()</code> returns
<code>f</code> and <code>mark_count()</code> returns the number of marked sub-expressions within the expression.
</p></blockquote>
<p>
The default expectation in the library is that post-conditions only hold, if there is no failure
The default expectation in the library is that post-conditions only hold, if there is no failure
(see also <a href="lwg-active.html#2136" title="Postconditions vs. exceptions (Status: Open)">2136</a><sup><a href="https://cplusplus.github.io/LWG/issue2136" title="Latest snapshot">(i)</a></sup>), therefore the initial condition should be removed to prevent any
misunderstanding.
</p>
Expand All @@ -5935,6 +5935,16 @@ <h3 id="2137"><a href="#2137">2137</a><sup><a href="https://cplusplus.github.io/
<p><i>[2015-05-06 Lenexa: EricWF to write paper addressing 2136 and 2137]</i></p>


<p><i>[2024-10-03; Jonathan comments]</i></p>

<p>
I could find no other cases in the entire standard where we say something
like this in a <i>Postconditions</i>: element.
31.6.3.5.4 <a href="https://wg21.link/streambuf.virt.pback">[streambuf.virt.pback]</a> p2 says
"<i>Postconditions</i>: On return, the constraints of [...]"
which is probably redundant (postconditions are always "on return").
</p>


<p id="res-2137"><b>Proposed resolution:</b></p>
<p>This wording is relative to N3376.</p>
Expand All @@ -5947,10 +5957,10 @@ <h3 id="2137"><a href="#2137">2137</a><sup><a href="https://cplusplus.github.io/
<p>
[&hellip;]
<p/>
-15- <i>Effects</i>: Assigns the regular expression contained in the string <code>s</code>, interpreted according
-15- <i>Effects</i>: Assigns the regular expression contained in the string <code>s</code>, interpreted according
the flags specified in <code>f</code>. If an exception is thrown, <code>*this</code> is unchanged.
<p/>
-16- <i>Postconditions</i>: <del>If no exception is thrown,</del> <code>flags()</code> returns <code>f</code> and
-16- <i>Postconditions</i>: <del>If no exception is thrown,</del> <code>flags()</code> returns <code>f</code> and
<code>mark_count()</code> returns the number of marked sub-expressions within the expression.
</p>
</blockquote>
Expand Down
2 changes: 1 addition & 1 deletion lwg-closed.html
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
</tr>
</table>
<h1>C++ Standard Library Closed Issues List (Revision D125)</h1>
<p>Revised 2024-10-03 at 19:39:21 UTC
<p>Revised 2024-10-03 at 20:13:18 UTC
</p>
<p>Reference ISO/IEC IS 14882:2020(E)</p>
<p>Also see:</p>
Expand Down
2 changes: 1 addition & 1 deletion lwg-defects.html
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
</tr>
</table>
<h1>C++ Standard Library Defect Reports and Accepted Issues (Revision D125)</h1>
<p>Revised 2024-10-03 at 19:39:21 UTC
<p>Revised 2024-10-03 at 20:13:18 UTC
</p>
<p>Reference ISO/IEC IS 14882:2020(E)</p>
<p>Also see:</p>
Expand Down
2 changes: 1 addition & 1 deletion lwg-immediate.html
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ <h1>C++ Standard Library Issues Resolved Directly In [INSERT CURRENT MEETING HER
</tr>
<tr>
<td align="left">Date:</td>
<td align="left">Revised 2024-10-03 at 19:39:21 UTC
<td align="left">Revised 2024-10-03 at 20:13:18 UTC
</td>
</tr>
<tr>
Expand Down
2 changes: 1 addition & 1 deletion lwg-index-open.html
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ <h1>Index by Section</h1>
<p>This document is the Index by Section for the <a href="lwg-active.html">Library Active Issues List</a>.</p>
<h2>Index by Section (non-Ready active issues only)</h2>
<p><a href="lwg-index.html">(view all issues)</a></p>
<p>Revised 2024-10-03 at 19:39:21 UTC
<p>Revised 2024-10-03 at 20:13:18 UTC
</p><h2 id="Section_3">Section 3 (2 issues)</h2>
<p><a href="lwg-index.html#Section_3">(view all issues)</a></p>
<table class="issues-index">
Expand Down
2 changes: 1 addition & 1 deletion lwg-index.html
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ <h1>Index by Section</h1>
<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>
<h2>Index by Section</h2>
<p><a href="lwg-index-open.html">(view only non-Ready open issues)</a></p>
<p>Revised 2024-10-03 at 19:39:21 UTC
<p>Revised 2024-10-03 at 20:13:18 UTC
</p><h2 id="Section_2">Section 2 (2 issues)</h2>
<table class="issues-index">
<tr>
Expand Down
2 changes: 1 addition & 1 deletion lwg-ready.html
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ <h1>C++ Standard Library Issues to be moved in [INSERT CURRENT MEETING HERE]</h1
</tr>
<tr>
<td align="left">Date:</td>
<td align="left">Revised 2024-10-03 at 19:39:21 UTC
<td align="left">Revised 2024-10-03 at 20:13:18 UTC
</td>
</tr>
<tr>
Expand Down
38 changes: 19 additions & 19 deletions lwg-status-date.html
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ <h1>Index by Status and Date</h1>
This document is the Index by Status and Date 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>
<p>Revised 2024-10-03 at 19:39:21 UTC
<p>Revised 2024-10-03 at 20:13:18 UTC
</p><h2 id="Ready">Ready (11 issues)</h2>
<table class="issues-index">
<tr>
Expand Down Expand Up @@ -4441,6 +4441,24 @@ <h2 id="Open">Open (79 issues)</h2>
<th>Duplicates</th>
</tr>
<tr>
<td id="2136"><a href="lwg-active.html#2136" title="Postconditions vs. exceptions (Status: Open)">2136</a><sup><a href="https://cplusplus.github.io/LWG/issue2136">(i)</a></sup></td>
<td><a href="lwg-active.html#Open">Open</a></td>
<td>16.3.2 [structure]</td>
<td>Postconditions vs. exceptions</td>
<td><span class="no-pr">No</span></td>
<td>3</td>
<td></td>
</tr>
<tr>
<td id="2137"><a href="lwg-active.html#2137" title="Misleadingly constrained post-condition in the presence of exceptions (Status: Open)">2137</a><sup><a href="https://cplusplus.github.io/LWG/issue2137">(i)</a></sup></td>
<td><a href="lwg-active.html#Open">Open</a></td>
<td>32.7.3 [re.regex.assign]</td>
<td>Misleadingly constrained post-condition in the presence of exceptions</td>
<td>Yes</td>
<td>3</td>
<td></td>
</tr>
<tr>
<td id="2220"><a href="lwg-active.html#2220" title="Under-specification of operator== for regex_token_iterator (Status: Open)">2220</a><sup><a href="https://cplusplus.github.io/LWG/issue2220">(i)</a></sup></td>
<td><a href="lwg-active.html#Open">Open</a></td>
<td>32.11.2.3 [re.tokiter.comp]</td>
Expand Down Expand Up @@ -4702,24 +4720,6 @@ <h2 id="Open">Open (79 issues)</h2>
<td></td>
</tr>
<tr>
<td id="2136"><a href="lwg-active.html#2136" title="Postconditions vs. exceptions (Status: Open)">2136</a><sup><a href="https://cplusplus.github.io/LWG/issue2136">(i)</a></sup></td>
<td><a href="lwg-active.html#Open">Open</a></td>
<td>16.3.2 [structure]</td>
<td>Postconditions vs. exceptions</td>
<td><span class="no-pr">No</span></td>
<td>3</td>
<td></td>
</tr>
<tr>
<td id="2137"><a href="lwg-active.html#2137" title="Misleadingly constrained post-condition in the presence of exceptions (Status: Open)">2137</a><sup><a href="https://cplusplus.github.io/LWG/issue2137">(i)</a></sup></td>
<td><a href="lwg-active.html#Open">Open</a></td>
<td>32.7.3 [re.regex.assign]</td>
<td>Misleadingly constrained post-condition in the presence of exceptions</td>
<td>Yes</td>
<td>3</td>
<td></td>
</tr>
<tr>
<td id="2157"><a href="lwg-active.html#2157" title="How does std::array&lt;T,0&gt; initialization work when T is not default-constructible? (Status: Open)">2157</a><sup><a href="https://cplusplus.github.io/LWG/issue2157">(i)</a></sup></td>
<td><a href="lwg-active.html#Open">Open</a></td>
<td>24.3.8.5 [array.zero]</td>
Expand Down
2 changes: 1 addition & 1 deletion lwg-status.html
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ <h1>Index by Status and Section</h1>
<a href="lwg-defects.html">Library Defect Reports and Accepted Issues</a>, and <a href="lwg-closed.html">Library Closed Issues List</a>.
</p>

<p>Revised 2024-10-03 at 19:39:21 UTC
<p>Revised 2024-10-03 at 20:13:18 UTC
</p><h2 id="Ready">Ready (11 issues)</h2>
<table class="issues-index">
<tr>
Expand Down
2 changes: 1 addition & 1 deletion lwg-tentative.html
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
</style>
</head>
<body>
<p>Revised 2024-10-03 at 19:39:21 UTC
<p>Revised 2024-10-03 at 20:13:18 UTC
</p><h2>Tentative Issues</h2>
<hr>
<h3 id="3216"><a href="#3216">3216</a><sup><a href="https://cplusplus.github.io/LWG/issue3216">(i)</a></sup>. Rebinding the allocator before calling <code>construct</code>/<code>destroy</code> in <code>allocate_shared</code></h3>
Expand Down
2 changes: 1 addition & 1 deletion lwg-toc.html
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ <h1>Table of Contents</h1>
<p>Reference ISO/IEC IS 14882:2020(E)</p>
<p>This document is the Table of Contents 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>
<p>Revised 2024-10-03 at 19:39:21 UTC
<p>Revised 2024-10-03 at 20:13:18 UTC
</p><table class="issues-index">
<tr>
<th><a href="lwg-toc.html">Issue</a></th>
Expand Down
Loading

0 comments on commit 6953fb6

Please sign in to comment.