File tree Expand file tree Collapse file tree 2 files changed +55
-0
lines changed Expand file tree Collapse file tree 2 files changed +55
-0
lines changed Original file line number Diff line number Diff line change @@ -75,3 +75,22 @@ void test_member_pointer() {
75
75
M0 m{};
76
76
(m.*p)();
77
77
}
78
+
79
+ template <typename T>
80
+ struct T0 {
81
+ void f0 () {}
82
+ };
83
+
84
+ template <typename T>
85
+ struct T1 : T0<T> {
86
+ void f1 () {
87
+ this ->f0 ();
88
+ }
89
+ };
90
+
91
+ void test_template () {
92
+ T0<int >().f0 ();
93
+ T1<int >().f1 ();
94
+ auto t1 = T1<int >();
95
+ t1.f0 ();
96
+ }
Original file line number Diff line number Diff line change 165
165
// ^ reference local 1
166
166
// ^ reference local 0
167
167
}
168
+
169
+ template <typename T>
170
+ // ^ definition local 2
171
+ struct T0 {
172
+ // ^^ definition [..] T0#
173
+ void f0 () {}
174
+ // ^^ definition [..] T0#f0(49f6e7a06ebc5aa8).
175
+ };
176
+
177
+ template <typename T>
178
+ // ^ definition local 3
179
+ struct T1 : T0<T> {
180
+ // ^^ definition [..] T1#
181
+ // ^^ reference [..] T0#
182
+ // ^ reference local 3
183
+ void f1 () {
184
+ // ^^ definition [..] T1#f1(49f6e7a06ebc5aa8).
185
+ this ->f0 ();
186
+ }
187
+ };
188
+
189
+ void test_template () {
190
+ // ^^^^^^^^^^^^^ definition [..] test_template(49f6e7a06ebc5aa8).
191
+ T0<int >().f0 ();
192
+ // ^^ reference [..] T0#
193
+ // ^^ reference [..] T0#f0(49f6e7a06ebc5aa8).
194
+ T1<int >().f1 ();
195
+ // ^^ reference [..] T1#
196
+ // ^^ reference [..] T1#f1(49f6e7a06ebc5aa8).
197
+ auto t1 = T1<int >();
198
+ // ^^ definition local 4
199
+ // ^^ reference [..] T1#
200
+ t1.f0 ();
201
+ // ^^ reference local 4
202
+ // ^^ reference [..] T0#f0(49f6e7a06ebc5aa8).
203
+ }
You can’t perform that action at this time.
0 commit comments