@@ -1203,3 +1203,74 @@ pub union Foo<'a, Y: Baz>
1203
1203
// that we don't accidentally interpret it as a keyword.
1204
1204
fn union ( ) { }
1205
1205
// ^^^^^ meta.function entity.name.function
1206
+
1207
+ fn f<' b: ' a>( self ) -> & ' b mut [ i32 ] where ' a: ' b { }
1208
+ // ^^^^^^^^^^^^^^ meta.function meta.function.return-type
1209
+ // ^ meta.function meta.function.return-type punctuation.definition.group.begin
1210
+ // ^^^ meta.function meta.function.return-type storage.type
1211
+ // ^ meta.function meta.function.return-type punctuation.definition.group.end
1212
+ // ^^^^^ meta.function meta.where keyword.other
1213
+ // ^^ meta.function meta.where storage.modifier.lifetime
1214
+ // ^ meta.function meta.where punctuation.separator
1215
+ // ^^ meta.function meta.where storage.modifier.lifetime
1216
+ // ^ meta.function meta.block punctuation.definition.block.begin
1217
+ // ^ meta.function meta.block punctuation.definition.block.end
1218
+
1219
+ fn f<F >( func: F ) -> usize
1220
+ // ^^ meta.function meta.function.return-type punctuation.separator
1221
+ // ^^^^^ meta.function meta.function.return-type storage.type
1222
+ where F : Fn ( usize ) -> usize { }
1223
+ // ^^^^^ meta.function meta.where keyword.other
1224
+ // ^^^^^^^^^^^^^^^^^^^^^ meta.function meta.where
1225
+ // ^ punctuation.separator
1226
+ // ^^ support.type
1227
+ // ^ punctuation.definition.type.begin
1228
+ // ^^^^^ storage.type
1229
+ // ^ punctuation.definition.type.end
1230
+ // ^^ meta.function.return-type punctuation.separator
1231
+ // ^^^^^ meta.function.return-type storage.type
1232
+ // ^ meta.function meta.block punctuation.definition.block.begin
1233
+ // ^ meta.function meta.block punctuation.definition.block.end
1234
+
1235
+ fn f<L , R >( lhs: L , rhs: R )
1236
+ where L : IntoIterator <Item =( & ' a i32 , & ' a i32 ) >,
1237
+ // ^^^^^ meta.function meta.where keyword.other
1238
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.function meta.where
1239
+ // ^^^^^^^^^^^^ support.type
1240
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^ meta.generic
1241
+ // ^ punctuation.definition.generic.begin
1242
+ // ^ punctuation.definition.type.begin
1243
+ // ^ keyword.operator
1244
+ // ^^ storage.modifier.lifetime
1245
+ // ^^^ storage.type
1246
+ // ^ keyword.operator
1247
+ // ^^ storage.modifier.lifetime
1248
+ // ^^^ storage.type
1249
+ // ^ punctuation.definition.type.end
1250
+ // ^ punctuation.definition.generic.end
1251
+ R : IntoIterator <Item =( & ' a i32 , & ' a i32 ) >, { }
1252
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.function meta.where
1253
+ // ^ meta.function meta.block punctuation.definition.block.begin
1254
+ // ^ meta.function meta.block punctuation.definition.block.end
1255
+ fn f<F : Fn ( usize ) -> usize >( func: f) { }
1256
+ // ^^^^^^^^^^^^^^^^^^^^^^^ meta.generic
1257
+ // ^ meta.generic punctuation.definition.generic.begin
1258
+ // ^ meta.generic punctuation.separator
1259
+ // ^^ meta.generic support.type
1260
+ // ^ meta.generic punctuation.definition.type.begin
1261
+ // ^^^^^ meta.generic storage.type
1262
+ // ^ meta.generic punctuation.definition.type.end
1263
+ // ^^^^^ meta.generic meta.function.return-type storage.type
1264
+ // ^ meta.generic punctuation.definition.generic.end
1265
+ // ^ meta.function meta.function.parameters punctuation.definition.parameters.begin
1266
+ // ^^^^ meta.function meta.function.parameters variable.parameter
1267
+ fn f<L : IntoIterator <Item =( & ' a i32 , & ' a i32 ) >>( lhs: L ) { }
1268
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.generic
1269
+ // ^ punctuation.definition.generic.begin
1270
+ // ^ punctuation.definition.generic.begin
1271
+ // ^ punctuation.definition.type.begin
1272
+ // ^^ storage.modifier.lifetime
1273
+ // ^^^ storage.type
1274
+ // ^ punctuation.definition.generic.begin
1275
+ // ^ punctuation.definition.generic.end
1276
+ // ^ meta.function meta.function.parameters punctuation.definition.parameters.begin
0 commit comments