@@ -1019,6 +1019,23 @@ macro_rules! make_ast_visitor {
1019
1019
return_result!( V )
1020
1020
}
1021
1021
1022
+ pub fn walk_vis<$( $lt, ) ? V : $trait$( <$lt>) ?>(
1023
+ vis: & mut V ,
1024
+ visibility: ref_t!( Visibility )
1025
+ ) -> result!( V ) {
1026
+ let Visibility { kind, span, tokens } = visibility;
1027
+ match kind {
1028
+ VisibilityKind :: Public | VisibilityKind :: Inherited => { }
1029
+ VisibilityKind :: Restricted { path, id, shorthand: _ } => {
1030
+ try_v!( visit_id!( vis, id) ) ;
1031
+ try_v!( vis. visit_path( path, * id) ) ;
1032
+ }
1033
+ }
1034
+ visit_lazy_tts!( vis, tokens) ;
1035
+ try_v!( visit_span!( vis, span) ) ;
1036
+ return_result!( V )
1037
+ }
1038
+
1022
1039
make_walk_flat_map!{ Arm , walk_flat_map_arm, visit_arm}
1023
1040
make_walk_flat_map!{ Attribute , walk_flat_map_attribute, visit_attribute}
1024
1041
make_walk_flat_map!{ ExprField , walk_flat_map_expr_field, visit_expr_field}
@@ -1715,17 +1732,6 @@ pub mod visit {
1715
1732
visitor. visit_expr_post ( expression)
1716
1733
}
1717
1734
1718
- pub fn walk_vis < ' a , V : Visitor < ' a > > ( visitor : & mut V , vis : & ' a Visibility ) -> V :: Result {
1719
- let Visibility { kind, span : _, tokens : _ } = vis;
1720
- match kind {
1721
- VisibilityKind :: Restricted { path, id, shorthand : _ } => {
1722
- try_visit ! ( visitor. visit_path( path, * id) ) ;
1723
- }
1724
- VisibilityKind :: Public | VisibilityKind :: Inherited => { }
1725
- }
1726
- V :: Result :: output ( )
1727
- }
1728
-
1729
1735
pub fn walk_attribute < ' a , V : Visitor < ' a > > ( visitor : & mut V , attr : & ' a Attribute ) -> V :: Result {
1730
1736
let Attribute { kind, id : _, style : _, span : _ } = attr;
1731
1737
match kind {
@@ -2791,19 +2797,6 @@ pub mod mut_visit {
2791
2797
}
2792
2798
}
2793
2799
2794
- fn walk_vis < T : MutVisitor > ( vis : & mut T , visibility : & mut Visibility ) {
2795
- let Visibility { kind, span, tokens } = visibility;
2796
- match kind {
2797
- VisibilityKind :: Public | VisibilityKind :: Inherited => { }
2798
- VisibilityKind :: Restricted { path, id, shorthand : _ } => {
2799
- vis. visit_id ( id) ;
2800
- vis. visit_path ( path, * id) ;
2801
- }
2802
- }
2803
- visit_lazy_tts ( vis, tokens) ;
2804
- vis. visit_span ( span) ;
2805
- }
2806
-
2807
2800
/// Some value for the AST node that is valid but possibly meaningless. Similar
2808
2801
/// to `Default` but not intended for wide use. The value will never be used
2809
2802
/// meaningfully, it exists just to support unwinding in `visit_clobber` in the
0 commit comments