@@ -657,15 +657,15 @@ impl NestedMetaItem {
657
657
}
658
658
659
659
pub trait HasAttrs : Sized {
660
- fn attrs ( & self ) -> & [ ast :: Attribute ] ;
661
- fn visit_attrs < F : FnOnce ( & mut Vec < ast :: Attribute > ) > ( & mut self , f : F ) ;
660
+ fn attrs ( & self ) -> & [ Attribute ] ;
661
+ fn visit_attrs ( & mut self , f : impl FnOnce ( & mut Vec < Attribute > ) ) ;
662
662
}
663
663
664
664
impl < T : HasAttrs > HasAttrs for Spanned < T > {
665
- fn attrs ( & self ) -> & [ ast :: Attribute ] {
665
+ fn attrs ( & self ) -> & [ Attribute ] {
666
666
self . node . attrs ( )
667
667
}
668
- fn visit_attrs < F : FnOnce ( & mut Vec < ast :: Attribute > ) > ( & mut self , f : F ) {
668
+ fn visit_attrs ( & mut self , f : impl FnOnce ( & mut Vec < Attribute > ) ) {
669
669
self . node . visit_attrs ( f) ;
670
670
}
671
671
}
@@ -674,7 +674,7 @@ impl HasAttrs for Vec<Attribute> {
674
674
fn attrs ( & self ) -> & [ Attribute ] {
675
675
self
676
676
}
677
- fn visit_attrs < F : FnOnce ( & mut Vec < Attribute > ) > ( & mut self , f : F ) {
677
+ fn visit_attrs ( & mut self , f : impl FnOnce ( & mut Vec < Attribute > ) ) {
678
678
f ( self )
679
679
}
680
680
}
@@ -683,7 +683,7 @@ impl HasAttrs for AttrVec {
683
683
fn attrs ( & self ) -> & [ Attribute ] {
684
684
self
685
685
}
686
- fn visit_attrs < F : FnOnce ( & mut Vec < Attribute > ) > ( & mut self , f : F ) {
686
+ fn visit_attrs ( & mut self , f : impl FnOnce ( & mut Vec < Attribute > ) ) {
687
687
visit_clobber ( self , |this| {
688
688
let mut vec = this. into ( ) ;
689
689
f ( & mut vec) ;
@@ -696,7 +696,7 @@ impl<T: HasAttrs + 'static> HasAttrs for P<T> {
696
696
fn attrs ( & self ) -> & [ Attribute ] {
697
697
( * * self ) . attrs ( )
698
698
}
699
- fn visit_attrs < F : FnOnce ( & mut Vec < Attribute > ) > ( & mut self , f : F ) {
699
+ fn visit_attrs ( & mut self , f : impl FnOnce ( & mut Vec < Attribute > ) ) {
700
700
( * * self ) . visit_attrs ( f) ;
701
701
}
702
702
}
@@ -714,7 +714,7 @@ impl HasAttrs for StmtKind {
714
714
}
715
715
}
716
716
717
- fn visit_attrs < F : FnOnce ( & mut Vec < Attribute > ) > ( & mut self , f : F ) {
717
+ fn visit_attrs ( & mut self , f : impl FnOnce ( & mut Vec < Attribute > ) ) {
718
718
match self {
719
719
StmtKind :: Local ( local) => local. visit_attrs ( f) ,
720
720
StmtKind :: Item ( ..) => { }
@@ -733,29 +733,19 @@ impl HasAttrs for Stmt {
733
733
self . kind . attrs ( )
734
734
}
735
735
736
- fn visit_attrs < F : FnOnce ( & mut Vec < ast :: Attribute > ) > ( & mut self , f : F ) {
736
+ fn visit_attrs ( & mut self , f : impl FnOnce ( & mut Vec < Attribute > ) ) {
737
737
self . kind . visit_attrs ( f) ;
738
738
}
739
739
}
740
740
741
- impl HasAttrs for GenericParam {
742
- fn attrs ( & self ) -> & [ ast:: Attribute ] {
743
- & self . attrs
744
- }
745
-
746
- fn visit_attrs < F : FnOnce ( & mut Vec < Attribute > ) > ( & mut self , f : F ) {
747
- self . attrs . visit_attrs ( f) ;
748
- }
749
- }
750
-
751
741
macro_rules! derive_has_attrs {
752
742
( $( $ty: path) ,* ) => { $(
753
743
impl HasAttrs for $ty {
754
744
fn attrs( & self ) -> & [ Attribute ] {
755
745
& self . attrs
756
746
}
757
747
758
- fn visit_attrs< F : FnOnce ( & mut Vec <Attribute >) > ( & mut self , f : F ) {
748
+ fn visit_attrs( & mut self , f : impl FnOnce ( & mut Vec <Attribute >) ) {
759
749
self . attrs. visit_attrs( f) ;
760
750
}
761
751
}
@@ -764,5 +754,5 @@ macro_rules! derive_has_attrs {
764
754
765
755
derive_has_attrs ! {
766
756
Item , Expr , Local , ast:: ForeignItem , ast:: StructField , ast:: AssocItem , ast:: Arm ,
767
- ast:: Field , ast:: FieldPat , ast:: Variant , ast:: Param
757
+ ast:: Field , ast:: FieldPat , ast:: Variant , ast:: Param , GenericParam
768
758
}
0 commit comments