@@ -453,6 +453,29 @@ macro_rules! make_ast_visitor {
453453 return_result!( V )
454454 }
455455
456+ pub fn walk_attribute<$( $lt, ) ? V : $trait$( <$lt>) ?>(
457+ vis: & mut V ,
458+ attr: ref_t!( Attribute )
459+ ) -> result!( V ) {
460+ let Attribute { kind, id: _, style: _, span } = attr;
461+ match kind {
462+ AttrKind :: Normal ( normal) => {
463+ let NormalAttr {
464+ item: AttrItem { unsafety, path, args, tokens } ,
465+ tokens: attr_tokens,
466+ } = & $( $mut) ? * * normal;
467+ try_v!( vis. visit_safety( unsafety) ) ;
468+ try_v!( vis. visit_path( path, DUMMY_NODE_ID ) ) ;
469+ try_v!( vis. visit_attr_args( args) ) ;
470+ visit_lazy_tts!( vis, tokens) ;
471+ visit_lazy_tts!( vis, attr_tokens) ;
472+ }
473+ AttrKind :: DocComment ( _kind, _sym) => { }
474+ }
475+ try_v!( visit_span!( vis, span) ) ;
476+ return_result!( V )
477+ }
478+
456479 pub fn walk_block<$( $lt, ) ? V : $trait$( <$lt>) ?>(
457480 vis: & mut V ,
458481 block: ref_t!( Block )
@@ -1715,20 +1738,6 @@ pub mod visit {
17151738
17161739 visitor. visit_expr_post ( expression)
17171740 }
1718-
1719- pub fn walk_attribute < ' a , V : Visitor < ' a > > ( visitor : & mut V , attr : & ' a Attribute ) -> V :: Result {
1720- let Attribute { kind, id : _, style : _, span : _ } = attr;
1721- match kind {
1722- AttrKind :: Normal ( normal) => {
1723- let NormalAttr { item, tokens : _ } = & * * normal;
1724- let AttrItem { unsafety : _, path, args, tokens : _ } = item;
1725- try_visit ! ( visitor. visit_path( path, DUMMY_NODE_ID ) ) ;
1726- try_visit ! ( visitor. visit_attr_args( args) ) ;
1727- }
1728- AttrKind :: DocComment ( _kind, _sym) => { }
1729- }
1730- V :: Result :: output ( )
1731- }
17321741}
17331742
17341743pub mod mut_visit {
@@ -1866,24 +1875,6 @@ pub mod mut_visit {
18661875 smallvec ! [ variant]
18671876 }
18681877
1869- fn walk_attribute < T : MutVisitor > ( vis : & mut T , attr : & mut Attribute ) {
1870- let Attribute { kind, id : _, style : _, span } = attr;
1871- match kind {
1872- AttrKind :: Normal ( normal) => {
1873- let NormalAttr {
1874- item : AttrItem { unsafety : _, path, args, tokens } ,
1875- tokens : attr_tokens,
1876- } = & mut * * normal;
1877- vis. visit_path ( path, DUMMY_NODE_ID ) ;
1878- vis. visit_attr_args ( args) ;
1879- visit_lazy_tts ( vis, tokens) ;
1880- visit_lazy_tts ( vis, attr_tokens) ;
1881- }
1882- AttrKind :: DocComment ( _kind, _sym) => { }
1883- }
1884- vis. visit_span ( span) ;
1885- }
1886-
18871878 fn walk_macro_def < T : MutVisitor > ( vis : & mut T , macro_def : & mut MacroDef ) {
18881879 let MacroDef { body, macro_rules : _ } = macro_def;
18891880 visit_delim_args ( vis, body) ;
0 commit comments