Skip to content

Commit 30eb6f3

Browse files
committed
New issue to address US 99-205: meta::dealias needs to work with things that aren't entities
1 parent 06c328d commit 30eb6f3

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

xml/issue4427.xml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?xml version='1.0' encoding='utf-8' standalone='no'?>
2+
<!DOCTYPE issue SYSTEM "lwg-issue.dtd">
3+
4+
<issue num="4427" status="New">
5+
<title>`meta::dealias` needs to work with things that aren't entities</title>
6+
<section><sref ref="[meta.reflection.queries]"/></section>
7+
<submitter>Jonathan Wakely</submitter>
8+
<date>24 Oct 2025</date>
9+
<priority>99</priority>
10+
11+
<discussion>
12+
<b>Addresses US 99-205</b>
13+
<p>
14+
Several uses of `dealias` assume that it can be used with reflections that
15+
represent direct base class relationships, which are not entities.
16+
The spec for `dealias` says that such uses should fail with an exception.
17+
</p>
18+
<p>
19+
In the 2025-10-24 LWG telecon it was agreed that `dealias` should just
20+
be the identity function for non-entities.
21+
</p>
22+
</discussion>
23+
24+
<resolution>
25+
<p>
26+
This wording is relative to <paper num="N5014"/>.
27+
</p>
28+
29+
<ol>
30+
31+
<li><p>Modify <sref ref="[meta.reflection.queries]"/> as indicated:</p>
32+
33+
<blockquote>
34+
<pre>consteval info dealias(info r);</pre>
35+
<blockquote>
36+
<p>-49- <i>Returns</i>:
37+
<ins>If `r` represents an entity, then a</ins>
38+
<del>A</del>
39+
reflection representing the underlying entity of what `r` represents.
40+
<ins>Otherwise, `r`.</ins>
41+
</p>
42+
<p>[<i>Example 5</i>: <br/>
43+
... <br/>
44+
<i>&mdash; end example</i>]
45+
</p>
46+
<p><del>-50- <i>Throws</i>:
47+
`meta::exception` unless `r` represents an entity.
48+
</del>
49+
</p>
50+
</blockquote>
51+
</blockquote>
52+
</li>
53+
</ol>
54+
55+
</resolution>
56+
57+
</issue>

0 commit comments

Comments
 (0)