Skip to content

Commit e646c97

Browse files
authored
Merge branch 'cplusplus:master' into tk/flat-priorities
2 parents c6f73b7 + a18ddd2 commit e646c97

File tree

11 files changed

+328
-10
lines changed

11 files changed

+328
-10
lines changed

xml/issue2883.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<section><sref ref="[string.view]"/></section>
88
<submitter>Switzerland</submitter>
99
<date>3 Feb 2017</date>
10-
<priority>99</priority>
10+
<priority>4</priority>
1111

1212
<discussion>
1313
<b>Addresses CH 9</b>
@@ -32,6 +32,9 @@ it is usable to have <tt>string_view</tt> overloads and there might be many plac
3232

3333
<note>2017-07 Toronto Thurs Issue Prioritization</note>
3434
<p>Status LEWG - they're already looking at this.</p>
35+
36+
<note>2025-10-21; Priority set to 4 based on age of issue and lack of activity.</note>
37+
3538
</discussion>
3639

3740
<resolution>

xml/issue2973.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<section><sref ref="[alg.merge]"/></section>
77
<submitter>Billy Robert O'Neal III</submitter>
88
<date>8 Jun 2017</date>
9-
<priority>99</priority>
9+
<priority>4</priority>
1010

1111
<discussion>
1212
<p>
@@ -21,6 +21,9 @@ compares like this, given that users must be prepared for the fallback "not enou
2121

2222
<note>2017-07 Toronto Monday issue prioritization</note>
2323
<p>Status to LEWG</p>
24+
25+
<note>2025-10-21; Priority set to 4 based on age of issue and lack of activity.</note>
26+
2427
</discussion>
2528

2629
<resolution>

xml/issue4021.xml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<section><sref ref="[mdspan.mdspan.overview]"/></section>
77
<submitter>Stephan T. Lavavej</submitter>
88
<date>07 Dec 2023</date>
9-
<priority>99</priority>
9+
<priority>3</priority>
1010

1111
<discussion>
1212
<p>
@@ -72,6 +72,24 @@ A type <tt>M</tt> meets the <i>layout mapping</i> requirements if
7272
<p>
7373
Constant expressions can surely be obtained without throwing exceptions.
7474
</p>
75+
76+
<note>2025-10-21; Reflector poll.</note>
77+
<p>
78+
Set priority to 3 after reflector poll.
79+
</p>
80+
<p>
81+
Use <tt>if consteval</tt> may lead to exception thrown from invocation
82+
of <tt>is_always_<i>meow</i></tt>, when evaluated at runtime.
83+
</p>
84+
<p>
85+
Design intent was for <tt>is_always_<i>meow</i></tt> functions to always
86+
produce value at compile time. Layout requirements may need to be updated.
87+
</p>
88+
<p>
89+
Separately, <sref ref="[structure.specifications]"/> says that
90+
<i>Result:</i> is just the type and value category; not "constant expression"
91+
- this matters because we need to require a prvalue constant expression here.
92+
</p>
7593
</discussion>
7694

7795
<resolution>

xml/issue4259.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<section><sref ref="[string.find]"/></section>
77
<submitter>Jiang An</submitter>
88
<date>5 May 2025</date>
9-
<priority>99</priority>
9+
<priority>3</priority>
1010

1111
<discussion>
1212
<p>
@@ -64,6 +64,11 @@ else
6464
During reflector discussion of this issue there was a preference to adjust the
6565
proposed wording to use `s.npos` instead of `size_t(-1)`.
6666
</p>
67+
68+
<note>2025-10-21; Reflector poll.</note>
69+
<p>
70+
Set priority to 3 after reflector poll.
71+
</p>
6772
</discussion>
6873

6974
<resolution>

xml/issue4262.xml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<section><sref ref="[alg.copy]"/><sref ref="[alg.remove]"/><sref ref="[alg.unique]"/></section>
77
<submitter>Alex Guteniev</submitter>
88
<date>12 May 2025</date>
9-
<priority>99</priority>
9+
<priority>3</priority>
1010

1111
<discussion>
1212
<p>
@@ -38,6 +38,28 @@ I think there should be a weaker precondition, like <sref ref="[alg.copy]"/>/2:
3838
<i>Preconditions</i>: `result` is not in the range `[first, last)`.
3939
</p>
4040
</blockquote>
41+
42+
<note>2025-10-21; Reflector poll.</note>
43+
<p>
44+
Set priority to 3 after reflector poll.
45+
</p>
46+
<p>
47+
"The proposed resolution is incorrect, because the output iterator could ‘enter’
48+
the range [first, last) via being incremented. If the output iterator is a
49+
reverse iterator, it starts writing to the end of [first,last) before we
50+
need to read from there."
51+
</p>
52+
<p>
53+
"NAD - nothing is broken with the existing constraint. Relaxing it is a design change."
54+
</p>
55+
<p>
56+
"NAD. The right behavior, if the algorithm runs out of output space,
57+
is to return the last processed input iterator and the "next spot"
58+
output iterator. This is what <paper num="P3179"/> (parallel ranges algorithms) does
59+
with its range-as-output algorithms. I would not want the proposed
60+
resolution without this change. Otherwise, we would be introducing
61+
new UB unnecessarily."
62+
</p>
4163
</discussion>
4264

4365
<resolution>

xml/issue4265.xml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version='1.0' encoding='utf-8' standalone='no'?>
22
<!DOCTYPE issue SYSTEM "lwg-issue.dtd">
33

4-
<issue num="4265" status="New">
4+
<issue num="4265" status="Tentatively Ready">
55
<title>`std::midpoint` should not accept `const bool`</title>
66
<section><sref ref="[numeric.ops.midpoint]"/></section>
77
<submitter>Jan Schultke</submitter>
@@ -34,6 +34,25 @@ for these other functions seems evolutionary, not like fixing an obvious oversig
3434
and so it likely requires a separate issue.
3535
</p>
3636

37+
38+
<note>2025-10-21; Reflector poll.</note>
39+
<p>
40+
Set status to Tentatively Ready after seven votes in favour during reflector poll.
41+
</p>
42+
<p>
43+
This requires template argument to be explicty specified, i.e.
44+
<code>midpoint&lt;const bool&gt;</code>.
45+
I would prefer to address all cv-qualified types at once, e.g.
46+
<i>Constraints</i>:
47+
<code>remove_cv_t&lt;T&gt;</code> is an arithmetic type other than `bool`."
48+
</p>
49+
<p>
50+
"This is locally consistent with `gcd` and `lcm` which only exclude <i>cv</i> `bool`.
51+
<sref ref="[algorithms.requirements"/> p15 makes it unspecified to use an explicit
52+
template argument list here, so <code>midpoint&lt;const bool&gt;</code>
53+
and <code>midpoint&lt;const int&gt;</code> are already unspecified,
54+
this issue just ensures that `const bool` is explicitly rejected, like `bool`."
55+
</p>
3756
</discussion>
3857

3958
<resolution>

xml/issue4285.xml

Lines changed: 139 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</section>
99
<submitter>S. B. Tam</submitter>
1010
<date>27 Jun 2025</date>
11-
<priority>99</priority>
11+
<priority>3</priority>
1212

1313
<discussion>
1414
<p>
@@ -35,9 +35,147 @@ to accept additional formats, ambiguity could arise if the locale's format disag
3535
On POSIX systems, it is possible to query the locale's date format using `nl_langinfo(D_FMT)`.
3636
Maybe an implementation should be allowed to use that format <b>instead</b> of the one indicated by `date_order()`.
3737
</p>
38+
39+
<note>2025-10-21; Reflector poll.</note>
40+
<p>
41+
Set priority to 3 after reflector poll.
42+
</p>
43+
<p>
44+
"The current wording of `do_date_order()` suggests it should return one of the
45+
`dmy`, `mdy`, `ymd`, `ymd`, or `ydm` enumerators as long as the date format
46+
specified by `%x` has no components except day, month, and year.
47+
But that fails to consider alternative separators between the components.
48+
The `kok_IN` locale uses `"%d-%m-%y" which does not contain
49+
"other variable components" but still doesn't match any of the fixed formats
50+
in Table 102.
51+
We need normative wording allowing `no_order`, instead of just a footnoote,
52+
and we need to say `do_get_date` only has to use the formats in the table
53+
when `do_date_order() != no_order`. It should not default to the `mdy` format
54+
when `do_date_order()` returns `no_order`, because if the `mdy` format is
55+
correct then it should have returned `mdy`!"
56+
</p>
57+
58+
<note>2025-10-21; Jonathan adds wording</note>
59+
<p>
60+
This restores the slashes lost by LWG <iref ref="461"/>
61+
and attempts to make the use and effects of `no_order` more useful.
62+
It does not attempt to address the problem that `do_date_order()`
63+
has no access to an `ios_base` object.
64+
</p>
3865
</discussion>
3966

4067
<resolution>
68+
<p>
69+
This wording is relative to <paper num="N5014"/>.
70+
</p>
71+
72+
<ol>
73+
74+
<li><p>Modify <sref ref="[locale.time.get.virtuals]"/> as indicated:</p>
75+
76+
<blockquote>
77+
<pre>dateorder do_date_order() const;</pre>
78+
<blockquote>
79+
<p>-1- <i>Returns</i>:
80+
An enumeration value indicating the preferred order of components for
81+
those date formats that are composed of day, month, and year.<del><sup>228</sup></del>
82+
Returns `no_order` if the date format specified by `'x'`
83+
<del>
84+
contains other variable components (e.g., Julian day, week number, week day)
85+
</del>
86+
<ins>
87+
does not match one of the formats in Table [tab:locale.time.get.dogetdate]
88+
</ins>
89+
.
90+
</p>
91+
<blockquote>
92+
<del>
93+
228) This function is intended as a convenience only, for common formats,
94+
and can return `no_order` in valid locales.
95+
</del>
96+
</blockquote>
97+
</blockquote>
98+
99+
<pre>
100+
iter_type do_get_time(iter_type s, iter_type end, ios_base&amp; str,
101+
ios_base::iostate&amp; err, tm* t) const;
102+
</pre>
103+
<blockquote>[...]</blockquote>
104+
105+
<pre>
106+
iter_type do_get_date(iter_type s, iter_type end, ios_base&amp; str,
107+
ios_base::iostate&amp; err, tm* t) const;
108+
</pre>
109+
<blockquote>
110+
<p>
111+
<i>-4- Effects</i>:
112+
Reads characters starting at s until it has extracted those `tm`
113+
members and remaining format characters used by
114+
<code>time_put&lt;&gt;::put</code>
115+
to produce one of the following formats, or until it encounters an error.
116+
The format depends on the value returned by `date_order()` as shown in
117+
Table 102.
118+
<ins>
119+
When `do_date_order()` returns `no_order`, it is unspecified whether
120+
the format shown in the table is used, or whether additional
121+
implementation-defined formats are accepted.
122+
</ins>
123+
</p>
124+
<p><ins>[<i>Note ?</i>:
125+
For example, an implementation can accept dates in the format specified by
126+
`'x'` as well as, or instead of, the format `"%m/%d/%y"`.
127+
&mdash; <i>end note</i></ins>
128+
</p>
129+
<p><del>-5-
130+
An implementation may also accept additional implementation-defined formats.
131+
</del>
132+
</p>
133+
<p>-6- <i>Returns</i>:
134+
An iterator pointing immediately beyond the last character recognized as
135+
possibly part of a valid date.
136+
</p>
137+
</blockquote>
138+
139+
<p>Table 102 &mdash; `do_get_date` effects [tab:locale.time.get.dogetdate]</p>
140+
141+
<style>
142+
table { border-collapse: separate; border-spacing: 0 6px; width: auto; }
143+
thead, tbody { box-shadow: 0 0 0 1px black; border-spacing: 1em; }
144+
th, td { padding-left: 0.5em; padding-right: 0.5em; }
145+
</style>
146+
147+
<table>
148+
<thead>
149+
<tr> <th>`date_order()`</th><th>Format</th> </tr>
150+
</thead>
151+
<tbody>
152+
<tr>
153+
<td>`no_order`</td>
154+
<td><code>"%m<ins>/</ins>%d<ins>/</ins>%y"</code></td></tr>
155+
<tr>
156+
<td>`dmy`</td>
157+
<td><code>"%d<ins>/</ins>%m<ins>/</ins>%y"</code></td>
158+
</tr>
159+
<tr>
160+
<td>`mdy`</td>
161+
<td><code>"%m<ins>/</ins>%d<ins>/</ins>%y"</code></td>
162+
</tr>
163+
<tr>
164+
<td>`ymd`</td>
165+
<td><code>"%y<ins>/</ins>%m<ins>/</ins>%d"</code></td>
166+
</tr>
167+
<tr>
168+
<td>`ydm`</td>
169+
<td><code>"%y<ins>/</ins>%d<ins>/</ins>%m"</code></td>
170+
</tr>
171+
</tbody>
172+
</table>
173+
174+
</blockquote>
175+
176+
</li>
177+
</ol>
178+
41179
</resolution>
42180

43181
</issue>

xml/issue4297.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version='1.0' encoding='utf-8' standalone='no'?>
22
<!DOCTYPE issue SYSTEM "lwg-issue.dtd">
33

4-
<issue num="4297" status="New">
4+
<issue num="4297" status="Tentatively Ready">
55
<title>Missing `permutable` constraint for iterator overloads in Parallel Range Algorithms</title>
66
<section><sref ref="[algorithm.syn]"/><sref ref="[alg.remove]"/><sref ref="[alg.partitions]"/></section>
77
<submitter>Ruslan Arutyunyan</submitter>
@@ -16,6 +16,11 @@ where the `permutable` constraint is missing. This applies to "Iterator and Sent
1616
issue exists in <sref ref="[algorithm.syn]"/> as well as in per-algorithm sections:
1717
<sref ref="[alg.partitions]"/> and <sref ref="[alg.remove]"/>.
1818
</p>
19+
20+
<note>2025-10-21; Reflector poll.</note>
21+
<p>
22+
Set status to Tentatively Ready after seven votes in favour during reflector poll.
23+
</p>
1924
</discussion>
2025

2126
<resolution>

xml/issue4314.xml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</section>
99
<submitter>Luc Grosheintz</submitter>
1010
<date>13 Aug 2025</date>
11-
<priority>99</priority>
11+
<priority>2</priority>
1212

1313
<discussion>
1414
<p>
@@ -71,6 +71,19 @@ This inconsistency was noticed while fixing
7171
<a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121061">PR121061</a>
7272
and these changes have been applied to all layout mappings implemented in libstdc++.
7373
</p>
74+
75+
<note>2025-10-21; Reflector poll.</note>
76+
<p>
77+
Set priority to 2 after reflector poll.
78+
</p>
79+
<p>
80+
The resolution bypasses <tt>extents_type::<i>index-cast</i></tt> that would
81+
validate if input value is representable.
82+
</p>
83+
<p>
84+
We should require convertibility without regard to const and
85+
value category.
86+
</p>
7487
</discussion>
7588

7689
<resolution>

0 commit comments

Comments
 (0)