Skip to content

Commit a254dea

Browse files
timsong-cppjwakely
authored andcommitted
Update PR for 4260
1 parent d801aac commit a254dea

File tree

1 file changed

+35
-3
lines changed

1 file changed

+35
-3
lines changed

xml/issue4260.xml

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ If we want to mandate nothrow construction
3030
(a.k.a the implementation isn't out to get you),
3131
I'd rather we do it for all CPOs."
3232
</p>
33-
</discussion>
34-
35-
<resolution>
33+
<superseded>
3634
<p>
3735
This wording is relative to <paper num="N5008"/>.
3836
</p>
@@ -53,6 +51,40 @@ A query imposes syntactic and semantic requirements on its invocations.
5351
</blockquote>
5452
</li>
5553
</ol>
54+
</superseded>
55+
56+
<note>2025-11-05; Tim provides improved wording</note>
57+
<p>
58+
LWG decided to guarantee some additional properties for CPOs.
59+
</p>
60+
</discussion>
61+
62+
<resolution>
63+
<p>
64+
This wording is relative to <paper num="N5014"/>.
65+
</p>
66+
<ol>
67+
68+
<li><p>Modify <sref ref="[customization.point.object]"/> as indicated:</p>
69+
70+
<blockquote>
71+
<p>
72+
-1- A <i>customization point object</i> is a function object (<sref ref="[function.objects]"/>)
73+
with a literal class type that interacts with program-defined types
74+
while enforcing semantic requirements on that interaction.
75+
</p>
76+
<p>
77+
-2- The type of a customization point object, ignoring cv-qualifiers,
78+
shall model `semiregular` (<sref ref="[concepts.object]"/>)
79+
<ins>and shall be a structural type (<sref ref="[temp.param]"/>)
80+
and a trivially copyable type (<sref ref="[class.prop]"/>)</ins>.
81+
<ins>Every constructor of this type
82+
shall have a non-throwing exception specification (<sref ref="[except.spec]"/>).</ins>
83+
</p>
84+
</blockquote>
85+
</li>
86+
</ol>
87+
5688
</resolution>
5789

5890
</issue>

0 commit comments

Comments
 (0)