@@ -476,14 +476,15 @@ pub trait Visitor<'v>: Sized {
476476/// Walks the contents of a crate. See also `Crate::visit_all_items`.
477477pub fn walk_crate < ' v , V : Visitor < ' v > > ( visitor : & mut V , krate : & ' v Crate < ' v > ) {
478478 visitor. visit_mod ( & krate. item . module , krate. item . span , CRATE_HIR_ID ) ;
479- walk_list ! ( visitor, visit_attribute, krate. item. attrs) ;
480479 walk_list ! ( visitor, visit_macro_def, krate. exported_macros) ;
480+ for attr in krate. attrs . iter ( ) . flat_map ( |l| * l) {
481+ visitor. visit_attribute ( attr)
482+ }
481483}
482484
483485pub fn walk_macro_def < ' v , V : Visitor < ' v > > ( visitor : & mut V , macro_def : & ' v MacroDef < ' v > ) {
484486 visitor. visit_id ( macro_def. hir_id ( ) ) ;
485487 visitor. visit_ident ( macro_def. ident ) ;
486- walk_list ! ( visitor, visit_attribute, macro_def. attrs) ;
487488}
488489
489490pub fn walk_mod < ' v , V : Visitor < ' v > > ( visitor : & mut V , module : & ' v Mod < ' v > , mod_hir_id : HirId ) {
@@ -502,7 +503,6 @@ pub fn walk_local<'v, V: Visitor<'v>>(visitor: &mut V, local: &'v Local<'v>) {
502503 // Intentionally visiting the expr first - the initialization expr
503504 // dominates the local's definition.
504505 walk_list ! ( visitor, visit_expr, & local. init) ;
505- walk_list ! ( visitor, visit_attribute, local. attrs. iter( ) ) ;
506506 visitor. visit_id ( local. hir_id ) ;
507507 visitor. visit_pat ( & local. pat ) ;
508508 walk_list ! ( visitor, visit_ty, & local. ty) ;
@@ -549,7 +549,6 @@ pub fn walk_trait_ref<'v, V: Visitor<'v>>(visitor: &mut V, trait_ref: &'v TraitR
549549pub fn walk_param < ' v , V : Visitor < ' v > > ( visitor : & mut V , param : & ' v Param < ' v > ) {
550550 visitor. visit_id ( param. hir_id ) ;
551551 visitor. visit_pat ( & param. pat ) ;
552- walk_list ! ( visitor, visit_attribute, param. attrs) ;
553552}
554553
555554pub fn walk_item < ' v , V : Visitor < ' v > > ( visitor : & mut V , item : & ' v Item < ' v > ) {
@@ -644,7 +643,6 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item<'v>) {
644643 walk_list ! ( visitor, visit_param_bound, bounds) ;
645644 }
646645 }
647- walk_list ! ( visitor, visit_attribute, item. attrs) ;
648646}
649647
650648pub fn walk_use < ' v , V : Visitor < ' v > > ( visitor : & mut V , path : & ' v Path < ' v > , hir_id : HirId ) {
@@ -678,7 +676,6 @@ pub fn walk_variant<'v, V: Visitor<'v>>(
678676 variant. span ,
679677 ) ;
680678 walk_list ! ( visitor, visit_anon_const, & variant. disr_expr) ;
681- walk_list ! ( visitor, visit_attribute, variant. attrs) ;
682679}
683680
684681pub fn walk_ty < ' v , V : Visitor < ' v > > ( visitor : & mut V , typ : & ' v Ty < ' v > ) {
@@ -843,8 +840,6 @@ pub fn walk_foreign_item<'v, V: Visitor<'v>>(visitor: &mut V, foreign_item: &'v
843840 ForeignItemKind :: Static ( ref typ, _) => visitor. visit_ty ( typ) ,
844841 ForeignItemKind :: Type => ( ) ,
845842 }
846-
847- walk_list ! ( visitor, visit_attribute, foreign_item. attrs) ;
848843}
849844
850845pub fn walk_param_bound < ' v , V : Visitor < ' v > > ( visitor : & mut V , bound : & ' v GenericBound < ' v > ) {
@@ -862,7 +857,6 @@ pub fn walk_param_bound<'v, V: Visitor<'v>>(visitor: &mut V, bound: &'v GenericB
862857
863858pub fn walk_generic_param < ' v , V : Visitor < ' v > > ( visitor : & mut V , param : & ' v GenericParam < ' v > ) {
864859 visitor. visit_id ( param. hir_id ) ;
865- walk_list ! ( visitor, visit_attribute, param. attrs) ;
866860 match param. name {
867861 ParamName :: Plain ( ident) => visitor. visit_ident ( ident) ,
868862 ParamName :: Error | ParamName :: Fresh ( _) => { }
@@ -952,7 +946,6 @@ pub fn walk_fn<'v, V: Visitor<'v>>(
952946
953947pub fn walk_trait_item < ' v , V : Visitor < ' v > > ( visitor : & mut V , trait_item : & ' v TraitItem < ' v > ) {
954948 visitor. visit_ident ( trait_item. ident ) ;
955- walk_list ! ( visitor, visit_attribute, trait_item. attrs) ;
956949 visitor. visit_generics ( & trait_item. generics ) ;
957950 match trait_item. kind {
958951 TraitItemKind :: Const ( ref ty, default) => {
@@ -1000,7 +993,7 @@ pub fn walk_impl_item<'v, V: Visitor<'v>>(visitor: &mut V, impl_item: &'v ImplIt
1000993 ident,
1001994 ref vis,
1002995 ref defaultness,
1003- attrs,
996+ attrs : _ ,
1004997 ref generics,
1005998 ref kind,
1006999 span : _,
@@ -1009,7 +1002,6 @@ pub fn walk_impl_item<'v, V: Visitor<'v>>(visitor: &mut V, impl_item: &'v ImplIt
10091002 visitor. visit_ident ( ident) ;
10101003 visitor. visit_vis ( vis) ;
10111004 visitor. visit_defaultness ( defaultness) ;
1012- walk_list ! ( visitor, visit_attribute, attrs) ;
10131005 visitor. visit_generics ( generics) ;
10141006 match * kind {
10151007 ImplItemKind :: Const ( ref ty, body) => {
@@ -1067,7 +1059,6 @@ pub fn walk_struct_field<'v, V: Visitor<'v>>(visitor: &mut V, struct_field: &'v
10671059 visitor. visit_vis ( & struct_field. vis ) ;
10681060 visitor. visit_ident ( struct_field. ident ) ;
10691061 visitor. visit_ty ( & struct_field. ty ) ;
1070- walk_list ! ( visitor, visit_attribute, struct_field. attrs) ;
10711062}
10721063
10731064pub fn walk_block < ' v , V : Visitor < ' v > > ( visitor : & mut V , block : & ' v Block < ' v > ) {
@@ -1094,7 +1085,6 @@ pub fn walk_anon_const<'v, V: Visitor<'v>>(visitor: &mut V, constant: &'v AnonCo
10941085
10951086pub fn walk_expr < ' v , V : Visitor < ' v > > ( visitor : & mut V , expression : & ' v Expr < ' v > ) {
10961087 visitor. visit_id ( expression. hir_id ) ;
1097- walk_list ! ( visitor, visit_attribute, expression. attrs. iter( ) ) ;
10981088 match expression. kind {
10991089 ExprKind :: Box ( ref subexpression) => visitor. visit_expr ( subexpression) ,
11001090 ExprKind :: Array ( subexpressions) => {
@@ -1238,7 +1228,6 @@ pub fn walk_arm<'v, V: Visitor<'v>>(visitor: &mut V, arm: &'v Arm<'v>) {
12381228 }
12391229 }
12401230 visitor. visit_expr ( & arm. body ) ;
1241- walk_list ! ( visitor, visit_attribute, arm. attrs) ;
12421231}
12431232
12441233pub fn walk_vis < ' v , V : Visitor < ' v > > ( visitor : & mut V , vis : & ' v Visibility < ' v > ) {
0 commit comments