File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change
1
+ <?xml version =' 1.0' encoding =' utf-8' standalone =' no' ?>
2
+ <!DOCTYPE issue SYSTEM "lwg-issue.dtd">
3
+
4
+ <issue num =" 4252" status =" New" >
5
+ <title >Are exposition-only classes considered specified for the purpose of `final`?</title >
6
+ <section ><sref ref =" [derivation]" /></section >
7
+ <submitter >Jiang An</submitter >
8
+ <date >28 Apr 2025</date >
9
+ <priority >99</priority >
10
+
11
+ <discussion >
12
+ <p >
13
+ Currently, iterator and sentinel types of several views are exposition-only in the standard wording,
14
+ and none of them is specified to be `final`. These types are arguably required to be non-final due to
15
+ <sref ref =" [derivation]" /> p4 because it's possible to say they are specified except for names.
16
+ <p />
17
+ However, libc++ marks `join_view`'s iterator `final` for some reasons
18
+ (<a href =" https://reviews.llvm.org/D142811#inline-1383022" >https://reviews.llvm.org/D142811#inline-1383022</a >).
19
+ Perhaps we should clarify that the `final`-ity of exposition-only class is unspecified.
20
+ </p >
21
+ </discussion >
22
+
23
+ <resolution >
24
+ <p >
25
+ This wording is relative to <paper num =" N5008" />.
26
+ </p >
27
+ <ol >
28
+
29
+ <li ><p >Modify <sref ref =" [derivation]" /> as indicated:</p >
30
+
31
+ <blockquote >
32
+ <p >
33
+ -4- All types specified in the C++ standard library shall be non-`final` types unless otherwise specified.
34
+ <ins >Exposition-only classes (<sref ref =" [expos.only.entity]" />) are not considered specified for the purpose
35
+ of `final`.</ins >
36
+ </p >
37
+ </blockquote >
38
+ </li >
39
+ </ol >
40
+ </resolution >
41
+
42
+ </issue >
You can’t perform that action at this time.
0 commit comments