@@ -443,6 +443,20 @@ macro_rules! make_ast_visitor {
443443 return_result!( V )
444444 }
445445
446+ pub fn walk_crate<$( $lt, ) ? V : $trait$( <$lt>) ?>(
447+ vis: & mut V ,
448+ krate: ref_t!( Crate )
449+ ) -> result!( V ) {
450+ let Crate { attrs, items, spans, id, is_placeholder: _ } = krate;
451+ try_v!( visit_id!( vis, id) ) ;
452+ visit_list!( vis, visit_attribute, attrs) ;
453+ visit_list!( vis, visit_item, flat_map_item, items) ;
454+ let ModSpans { inner_span, inject_use_span } = spans;
455+ try_v!( visit_span!( vis, inner_span) ) ;
456+ try_v!( visit_span!( vis, inject_use_span) ) ;
457+ return_result!( V )
458+ }
459+
446460 pub fn walk_enum_def<$( $lt, ) ? V : $trait$( <$lt>) ?>(
447461 vis: & mut V ,
448462 enum_def: ref_t!( EnumDef )
@@ -1123,13 +1137,6 @@ pub mod visit {
11231137
11241138 make_ast_visitor ! ( Visitor <' ast>) ;
11251139
1126- pub fn walk_crate < ' a , V : Visitor < ' a > > ( visitor : & mut V , krate : & ' a Crate ) -> V :: Result {
1127- let Crate { attrs, items, spans : _, id : _, is_placeholder : _ } = krate;
1128- walk_list ! ( visitor, visit_attribute, attrs) ;
1129- walk_list ! ( visitor, visit_item, items) ;
1130- V :: Result :: output ( )
1131- }
1132-
11331140 impl WalkItemKind for ItemKind {
11341141 fn walk < ' a , V : Visitor < ' a > > (
11351142 & ' a self ,
@@ -2393,16 +2400,6 @@ pub mod mut_visit {
23932400 visit_safety ( vis, safety) ;
23942401 }
23952402
2396- pub fn walk_crate < T : MutVisitor > ( vis : & mut T , krate : & mut Crate ) {
2397- let Crate { attrs, items, spans, id, is_placeholder : _ } = krate;
2398- vis. visit_id ( id) ;
2399- visit_attrs ( vis, attrs) ;
2400- items. flat_map_in_place ( |item| vis. flat_map_item ( item) ) ;
2401- let ModSpans { inner_span, inject_use_span } = spans;
2402- vis. visit_span ( inner_span) ;
2403- vis. visit_span ( inject_use_span) ;
2404- }
2405-
24062403 /// Mutates one item, returning the item again.
24072404 pub fn walk_flat_map_item < K : WalkItemKind > (
24082405 visitor : & mut impl MutVisitor ,
0 commit comments