@@ -447,6 +447,29 @@ macro_rules! make_ast_visitor {
447447 return_result!( V )
448448 }
449449
450+ pub fn walk_attribute<$( $lt, ) ? V : $trait$( <$lt>) ?>(
451+ vis: & mut V ,
452+ attr: ref_t!( Attribute )
453+ ) -> result!( V ) {
454+ let Attribute { kind, id: _, style: _, span } = attr;
455+ match kind {
456+ AttrKind :: Normal ( normal) => {
457+ let NormalAttr {
458+ item: AttrItem { unsafety, path, args, tokens } ,
459+ tokens: attr_tokens,
460+ } = & $( $mut) ? * * normal;
461+ try_v!( vis. visit_safety( unsafety) ) ;
462+ try_v!( vis. visit_path( path, DUMMY_NODE_ID ) ) ;
463+ try_v!( vis. visit_attr_args( args) ) ;
464+ visit_lazy_tts!( vis, tokens) ;
465+ visit_lazy_tts!( vis, attr_tokens) ;
466+ }
467+ AttrKind :: DocComment ( _kind, _sym) => { }
468+ }
469+ try_v!( visit_span!( vis, span) ) ;
470+ return_result!( V )
471+ }
472+
450473 pub fn walk_block<$( $lt, ) ? V : $trait$( <$lt>) ?>(
451474 vis: & mut V ,
452475 block: ref_t!( Block )
@@ -1709,20 +1732,6 @@ pub mod visit {
17091732
17101733 visitor. visit_expr_post ( expression)
17111734 }
1712-
1713- pub fn walk_attribute < ' a , V : Visitor < ' a > > ( visitor : & mut V , attr : & ' a Attribute ) -> V :: Result {
1714- let Attribute { kind, id : _, style : _, span : _ } = attr;
1715- match kind {
1716- AttrKind :: Normal ( normal) => {
1717- let NormalAttr { item, tokens : _ } = & * * normal;
1718- let AttrItem { unsafety : _, path, args, tokens : _ } = item;
1719- try_visit ! ( visitor. visit_path( path, DUMMY_NODE_ID ) ) ;
1720- try_visit ! ( visitor. visit_attr_args( args) ) ;
1721- }
1722- AttrKind :: DocComment ( _kind, _sym) => { }
1723- }
1724- V :: Result :: output ( )
1725- }
17261735}
17271736
17281737pub mod mut_visit {
@@ -1860,24 +1869,6 @@ pub mod mut_visit {
18601869 smallvec ! [ variant]
18611870 }
18621871
1863- fn walk_attribute < T : MutVisitor > ( vis : & mut T , attr : & mut Attribute ) {
1864- let Attribute { kind, id : _, style : _, span } = attr;
1865- match kind {
1866- AttrKind :: Normal ( normal) => {
1867- let NormalAttr {
1868- item : AttrItem { unsafety : _, path, args, tokens } ,
1869- tokens : attr_tokens,
1870- } = & mut * * normal;
1871- vis. visit_path ( path, DUMMY_NODE_ID ) ;
1872- vis. visit_attr_args ( args) ;
1873- visit_lazy_tts ( vis, tokens) ;
1874- visit_lazy_tts ( vis, attr_tokens) ;
1875- }
1876- AttrKind :: DocComment ( _kind, _sym) => { }
1877- }
1878- vis. visit_span ( span) ;
1879- }
1880-
18811872 fn walk_macro_def < T : MutVisitor > ( vis : & mut T , macro_def : & mut MacroDef ) {
18821873 let MacroDef { body, macro_rules : _ } = macro_def;
18831874 visit_delim_args ( vis, body) ;
0 commit comments