@@ -714,6 +714,21 @@ macro_rules! make_ast_visitor {
714
714
return_result!( V )
715
715
}
716
716
717
+ pub fn walk_variant<$( $lt, ) ? V : $trait$( <$lt>) ?>(
718
+ visitor: & mut V ,
719
+ variant: ref_t!( Variant )
720
+ ) -> result!( V ) {
721
+ let Variant { ident, vis, attrs, id, data, disr_expr, span, is_placeholder: _ } = variant;
722
+ try_v!( visit_id!( visitor, id) ) ;
723
+ visit_list!( visitor, visit_attribute, flat_map_attribute, attrs) ;
724
+ try_v!( visitor. visit_vis( vis) ) ;
725
+ try_v!( visit_ident!( visitor, ident) ) ;
726
+ try_v!( visitor. visit_variant_data( data) ) ;
727
+ visit_o!( disr_expr, |disr_expr| visitor. visit_variant_discr( disr_expr) ) ;
728
+ try_v!( visit_span!( visitor, span) ) ;
729
+ return_result!( V )
730
+ }
731
+
717
732
make_walk_flat_map!{ Arm , walk_flat_map_arm, visit_arm}
718
733
make_walk_flat_map!{ Attribute , walk_flat_map_attribute, visit_attribute}
719
734
make_walk_flat_map!{ ExprField , walk_flat_map_expr_field, visit_expr_field}
@@ -992,20 +1007,6 @@ pub mod visit {
992
1007
walk_assoc_item ( visitor, item, AssocCtxt :: Trait /*ignored*/ )
993
1008
}
994
1009
995
- pub fn walk_variant < ' a , V : Visitor < ' a > > ( visitor : & mut V , variant : & ' a Variant ) -> V :: Result
996
- where
997
- V : Visitor < ' a > ,
998
- {
999
- let Variant { attrs, id : _, span : _, vis, ident, data, disr_expr, is_placeholder : _ } =
1000
- variant;
1001
- walk_list ! ( visitor, visit_attribute, attrs) ;
1002
- try_visit ! ( visitor. visit_vis( vis) ) ;
1003
- try_visit ! ( visitor. visit_ident( * ident) ) ;
1004
- try_visit ! ( visitor. visit_variant_data( data) ) ;
1005
- visit_opt ! ( visitor, visit_variant_discr, disr_expr) ;
1006
- V :: Result :: output ( )
1007
- }
1008
-
1009
1010
pub fn walk_ty < ' a , V : Visitor < ' a > > ( visitor : & mut V , typ : & ' a Ty ) -> V :: Result {
1010
1011
let Ty { id, kind, span : _, tokens : _ } = typ;
1011
1012
match kind {
@@ -1908,17 +1909,6 @@ pub mod mut_visit {
1908
1909
items. flat_map_in_place ( |item| vis. flat_map_foreign_item ( item) ) ;
1909
1910
}
1910
1911
1911
- pub fn walk_variant < T : MutVisitor > ( visitor : & mut T , variant : & mut Variant ) {
1912
- let Variant { ident, vis, attrs, id, data, disr_expr, span, is_placeholder : _ } = variant;
1913
- visitor. visit_id ( id) ;
1914
- visit_attrs ( visitor, attrs) ;
1915
- visitor. visit_vis ( vis) ;
1916
- visitor. visit_ident ( ident) ;
1917
- visitor. visit_variant_data ( data) ;
1918
- visit_opt ( disr_expr, |disr_expr| visitor. visit_variant_discr ( disr_expr) ) ;
1919
- visitor. visit_span ( span) ;
1920
- }
1921
-
1922
1912
fn walk_path_segment < T : MutVisitor > ( vis : & mut T , segment : & mut PathSegment ) {
1923
1913
let PathSegment { ident, id, args } = segment;
1924
1914
vis. visit_id ( id) ;
0 commit comments