Skip to content

Commit 51a0559

Browse files
committed
Update P/R for 4428 by removing the part handled by 4432
1 parent f860b3c commit 51a0559

File tree

1 file changed

+106
-3
lines changed

1 file changed

+106
-3
lines changed

xml/issue4428.xml

Lines changed: 106 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@
1818
"is a constant (sub)expression" is incorrect now that errors are reported
1919
via exceptions.
2020
</p>
21-
</discussion>
22-
23-
<resolution>
21+
<superseded>
2422
<p>
2523
This wording is relative to <paper num="N5014"/>.
2624
</p>
@@ -170,6 +168,111 @@ for every element `e` of `r`.
170168

171169
</ol>
172170

171+
</superseded>
172+
173+
<note>Kona 2025-11-06; Jonathan removes change to <sref ref="[meta.reflection.array]"/>
174+
that was handled by LWG <iref ref="4432"/>.</note>
175+
176+
</discussion>
177+
178+
<resolution>
179+
180+
<p>
181+
This wording is relative to <paper num="N5014"/>.
182+
</p>
183+
184+
<ol>
185+
186+
<li><p>Modify <sref ref="[meta.reflection.access.queries]"/> as indicated:</p>
187+
188+
<blockquote>
189+
<pre>
190+
consteval bool has_inaccessible_nonstatic_data_members(info r, access_context ctx);
191+
</pre>
192+
<blockquote>
193+
<p>-5- <i>Returns</i>:
194+
`true` if `is_accessible(`<i>R</i>`, ctx)` is `false` for any <i>R</i>
195+
in `nonstatic_data_members_of(r, access_context::unchecked())`.
196+
Otherwise, `false`.
197+
</p>
198+
<p>-6- <i>Throws</i>:
199+
`meta::exception` unless
200+
<ul style="list-style-type: none">
201+
<li>(6.1) &mdash;
202+
<ins>the evaluation of</ins>
203+
`nonstatic_data_members_of(r, access_context::unchecked())`
204+
<del>
205+
is a constant subexpression
206+
</del>
207+
<ins>
208+
would not exit via an exception
209+
</ins>
210+
and
211+
</li>
212+
<li>(6.2) &mdash;
213+
`r` does not represent a closure type.
214+
</li>
215+
</ul>
216+
</p>
217+
</blockquote>
218+
<pre>
219+
consteval bool has_inaccessible_bases(info r, access_context ctx);
220+
</pre>
221+
<blockquote>
222+
<p>-5- <i>Returns</i>:
223+
`true` if `is_accessible(`<i>R</i>`, ctx)` is `false` for any <i>R</i>
224+
in `bases_of(r, access_context::unchecked())`.
225+
Otherwise, `false`.
226+
</p>
227+
<p>-6- <i>Throws</i>:
228+
`meta::exception` unless
229+
<ins>the evaluation of</ins>
230+
`bases_of(r, access_context::unchecked())`
231+
<del>is a constant subexpression</del>
232+
<ins>would not exit via an exception</ins>.
233+
</p>
234+
</blockquote>
235+
</blockquote>
236+
</li>
237+
238+
<li><p>Modify <sref ref="[meta.reflection.annotation]"/> as indicated:</p>
239+
240+
<blockquote>
241+
<pre>
242+
consteval vector&lt;info&gt; annotations_of_with_type(info item, info type);
243+
</pre>
244+
<blockquote>
245+
<p>-4- <i>Returns</i>:
246+
A `vector` containing each element `e` of `annotations_of(item)`
247+
where `remove_const(type_of(e)) == remove_const(type)`
248+
is `true`, preserving their order.
249+
</p>
250+
<p>-5- <i>Throws</i>:
251+
`meta::exception` unless
252+
<ul style="list-style-type: none">
253+
<li>(5.1) &mdash;
254+
<ins>the evaluation of</ins>
255+
`annotations_of(item)`
256+
<del>
257+
is a constant subexpression
258+
</del>
259+
<ins>
260+
would not exit via an exception
261+
</ins>
262+
and
263+
</li>
264+
<li>(5.2) &mdash;
265+
`dealias(type)` represents a type that is complete
266+
from some point in the evaluation context.
267+
</li>
268+
</ul>
269+
</p>
270+
</blockquote>
271+
</blockquote>
272+
</li>
273+
274+
</ol>
275+
173276
</resolution>
174277

175278
</issue>

0 commit comments

Comments
 (0)