@@ -442,8 +442,94 @@ fn function<const N: u16>() {
442
442
// ^^^ storage.type.numeric
443
443
let b: Byte < b'a' > ;
444
444
// ^^^^^^ meta.function meta.block meta.generic
445
- // ^^^^ string.quoted.single.rust
445
+ // ^^^^ string.quoted.single
446
446
// ^ storage.type.string
447
447
// ^ punctuation.definition.string.begin
448
448
// ^ punctuation.definition.string.end
449
449
}
450
+
451
+ fn impl_trait_return_use_bound < ' a > ( ) -> impl for < ' b > Trait1 < Item = impl Trait2 < ' a > + use < ' a > > { }
452
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.function meta.function.return-type
453
+ // ^^ punctuation.separator
454
+ // ^^^^ storage.type.impl
455
+ // ^^^ keyword.other
456
+ // ^ meta.generic punctuation.definition.generic.begin
457
+ // ^ meta.generic punctuation.definition.generic.end
458
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.generic
459
+ // ^ meta.generic punctuation.definition.generic.begin
460
+ // ^ meta.generic keyword.operator
461
+ // ^^^^ meta.generic storage.type.impl
462
+ // ^^^^ meta.generic meta.generic
463
+ // ^ punctuation.definition.generic.begin
464
+ // ^^ storage.modifier.lifetime
465
+ // ^ punctuation.definition.generic.end
466
+ // ^ keyword.operator
467
+ // ^^^^ meta.generic meta.generic
468
+ // ^ punctuation.definition.generic.begin
469
+ // ^^ storage.modifier.lifetime
470
+ // ^ punctuation.definition.generic.end
471
+ // ^ punctuation.definition.generic.end
472
+
473
+ fn impl_trait_use < ' a , foo > ( ) -> impl Trait1 + use < ' a , Self , foo > { }
474
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.function meta.function.return-type
475
+ // ^^^^^^^^^^^^^^^ meta.generic
476
+ // ^ punctuation.definition.generic.begin
477
+ // ^^ storage.modifier.lifetime
478
+ // ^ punctuation.separator
479
+ // ^^^^ storage.type
480
+ // ^ punctuation.separator
481
+ // ^ punctuation.definition.generic.end
482
+
483
+ fn impl_trait_return1 < ' a , ' b > ( ) -> impl Trait < & ' a u8 , Ty = impl Sized + ' b > { }
484
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.function meta.function.return-type
485
+ // ^^ punctuation.separator
486
+ // ^^^^ storage.type.impl
487
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.generic
488
+ // ^ punctuation.definition.generic.begin
489
+ // ^ keyword.operator
490
+ // ^^ storage.modifier.lifetime
491
+ // ^^ storage.type
492
+ // ^ punctuation.separator
493
+ // ^ keyword.operator
494
+ // ^^^^ storage.type.impl
495
+ // ^^^^^ support.type
496
+ // ^ keyword.operator
497
+ // ^^ storage.modifier.lifetime
498
+ // ^ punctuation.definition.generic.end
499
+ fn impl_trait_return2 ( ) -> impl Debug + ' a { }
500
+ // ^^^^^^^^^^^^^^^^^^ meta.function meta.function.return-type
501
+ // ^^^^ storage.type.impl
502
+ // ^ keyword.operator
503
+ // ^^ storage.modifier.lifetime
504
+
505
+ fn impl_trait_param ( x : impl FnOnce ( & [ u8 ] ) -> & [ u8 ] ) { }
506
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.function meta.function.parameters
507
+ // ^^^^ storage.type.impl
508
+ // ^^^^^^ support.type
509
+ // ^ meta.group punctuation.section.group.begin
510
+ // ^ meta.group keyword.operator
511
+ // ^ meta.group punctuation.section.group.begin
512
+ // ^^ meta.group storage.type
513
+ // ^^ meta.group punctuation.section.group.end
514
+ // ^^^^^^^^ meta.function meta.function.parameters meta.function.return-type
515
+ // ^^ punctuation.separator
516
+ // ^ meta.function.parameters keyword.operator
517
+ // ^ meta.function.parameters punctuation.section.group.begin
518
+ // ^^ meta.function.parameters storage.type
519
+ // ^ meta.function.parameters punctuation.section.group.end
520
+
521
+
522
+ fn impl_trait_with_plus ( ) -> impl Iterator < Item = hir:: GenericParam < ' hir > > + Captures < ' a > + Captures < ' s > { }
523
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.function meta.function.return-type
524
+ // ^^^^ storage.type.impl
525
+ // ^^^^^^^^ support.type
526
+ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.generic
527
+ // ^ keyword.operator
528
+ // ^^^^ storage.modifier.lifetime
529
+ // ^ keyword.operator
530
+ // ^^^^ meta.generic
531
+ // ^^ storage.modifier.lifetime
532
+ // ^ keyword.operator
533
+ // ^^^^ meta.generic
534
+ // ^^ storage.modifier.lifetime
535
+
0 commit comments