@@ -32,7 +32,7 @@ extern extern crate simd_rng_derive;*/
32
32
// This one is just to visually confirm the testing comments don't intefere
33
33
#[ macro_use]
34
34
extern crate std_web;
35
- /*#[macro_use]
35
+ /*#[macro_use]
36
36
extern extern crate simd_rng_derive;*/
37
37
38
38
let c = 'c' ;
@@ -1352,3 +1352,75 @@ impl<A> Thing for &'a mut A {}
1352
1352
// ^^ meta.impl storage.modifier.lifetime
1353
1353
// ^^^ meta.impl storage.modifier
1354
1354
// ^ meta.impl entity.name.impl
1355
+
1356
+ // Various tests on `where`.
1357
+ fn f<' b: ' a>( self ) -> & ' b mut [ i32 ] where ' a: ' b { }
1358
+ // ^^^^^^^^^^^^^^ meta.function meta.function.return-type
1359
+ // ^ meta.function meta.function.return-type punctuation.definition.group.begin
1360
+ // ^^^ meta.function meta.function.return-type storage.type
1361
+ // ^ meta.function meta.function.return-type punctuation.definition.group.end
1362
+ // ^^^^^ meta.function meta.where keyword.other
1363
+ // ^^ meta.function meta.where storage.modifier.lifetime
1364
+ // ^ meta.function meta.where punctuation.separator
1365
+ // ^^ meta.function meta.where storage.modifier.lifetime
1366
+ // ^ meta.function meta.block punctuation.definition.block.begin
1367
+ // ^ meta.function meta.block punctuation.definition.block.end
1368
+
1369
+ fn f<F >( func: F ) -> usize
1370
+ // ^^ meta.function meta.function.return-type punctuation.separator
1371
+ // ^^^^^ meta.function meta.function.return-type storage.type
1372
+ where F : Fn ( usize ) -> usize { }
1373
+ // ^^^^^ meta.function meta.where keyword.other
1374
+ // ^^^^^^^^^^^^^^^^^^^^^ meta.function meta.where
1375
+ // ^ punctuation.separator
1376
+ // ^^ support.type
1377
+ // ^ punctuation.definition.type.begin
1378
+ // ^^^^^ storage.type
1379
+ // ^ punctuation.definition.type.end
1380
+ // ^^ meta.function.return-type punctuation.separator
1381
+ // ^^^^^ meta.function.return-type storage.type
1382
+ // ^ meta.function meta.block punctuation.definition.block.begin
1383
+ // ^ meta.function meta.block punctuation.definition.block.end
1384
+
1385
+ fn f<L , R >( lhs: L , rhs: R )
1386
+ where L : IntoIterator <Item =( & ' a i32 , & ' a i32 ) >,
1387
+ // ^^^^^ meta.function meta.where keyword.other
1388
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.function meta.where
1389
+ // ^^^^^^^^^^^^ support.type
1390
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^ meta.generic
1391
+ // ^ punctuation.definition.generic.begin
1392
+ // ^ punctuation.definition.type.begin
1393
+ // ^ keyword.operator
1394
+ // ^^ storage.modifier.lifetime
1395
+ // ^^^ storage.type
1396
+ // ^ keyword.operator
1397
+ // ^^ storage.modifier.lifetime
1398
+ // ^^^ storage.type
1399
+ // ^ punctuation.definition.type.end
1400
+ // ^ punctuation.definition.generic.end
1401
+ R : IntoIterator <Item =( & ' a i32 , & ' a i32 ) >, { }
1402
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.function meta.where
1403
+ // ^ meta.function meta.block punctuation.definition.block.begin
1404
+ // ^ meta.function meta.block punctuation.definition.block.end
1405
+ fn f<F : Fn ( usize ) -> usize >( func: f) { }
1406
+ // ^^^^^^^^^^^^^^^^^^^^^^^ meta.generic
1407
+ // ^ meta.generic punctuation.definition.generic.begin
1408
+ // ^ meta.generic punctuation.separator
1409
+ // ^^ meta.generic support.type
1410
+ // ^ meta.generic punctuation.definition.type.begin
1411
+ // ^^^^^ meta.generic storage.type
1412
+ // ^ meta.generic punctuation.definition.type.end
1413
+ // ^^^^^ meta.generic meta.function.return-type storage.type
1414
+ // ^ meta.generic punctuation.definition.generic.end
1415
+ // ^ meta.function meta.function.parameters punctuation.definition.parameters.begin
1416
+ // ^^^^ meta.function meta.function.parameters variable.parameter
1417
+ fn f<L : IntoIterator <Item =( & ' a i32 , & ' a i32 ) >>( lhs: L ) { }
1418
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.generic
1419
+ // ^ punctuation.definition.generic.begin
1420
+ // ^ punctuation.definition.generic.begin
1421
+ // ^ punctuation.definition.type.begin
1422
+ // ^^ storage.modifier.lifetime
1423
+ // ^^^ storage.type
1424
+ // ^ punctuation.definition.generic.begin
1425
+ // ^ punctuation.definition.generic.end
1426
+ // ^ meta.function meta.function.parameters punctuation.definition.parameters.begin
0 commit comments