@@ -199,7 +199,6 @@ macro_rules! make_ast_visitor {
199
199
make_visit!{ PreciseCapturingArg ; visit_precise_capturing_arg, walk_precise_capturing_arg}
200
200
make_visit!{ UseTree ; visit_use_tree, walk_use_tree}
201
201
make_visit!{ VariantData ; visit_variant_data, walk_variant_data}
202
- make_visit!{ WhereClause ; visit_where_clause, walk_where_clause}
203
202
204
203
fn flat_map_foreign_item( & mut self , ni: P <ForeignItem >) -> SmallVec <[ P <ForeignItem >; 1 ] > {
205
204
walk_flat_map_item( self , ni)
@@ -346,6 +345,7 @@ macro_rules! make_ast_visitor {
346
345
make_visit!{ PolyTraitRef ; visit_poly_trait_ref, walk_poly_trait_ref}
347
346
make_visit!{ TraitRef ; visit_trait_ref, walk_trait_ref}
348
347
make_visit!{ Visibility ; visit_vis, walk_vis}
348
+ make_visit!{ WhereClause ; visit_where_clause, walk_where_clause}
349
349
make_visit!{ WherePredicate ; visit_where_predicate, walk_where_predicate}
350
350
351
351
make_visit!{ P !( Block ) ; visit_block, walk_block}
@@ -516,6 +516,16 @@ macro_rules! make_ast_visitor {
516
516
try_v!( visit_span!( vis, span) ) ;
517
517
return_result!( V )
518
518
}
519
+
520
+ pub fn walk_where_clause<$( $lt, ) ? V : $trait$( <$lt>) ?>(
521
+ vis: & mut V ,
522
+ wc: ref_t!( WhereClause )
523
+ ) -> result!( V ) {
524
+ let WhereClause { has_where_token: _, predicates, span } = wc;
525
+ visit_list!( vis, visit_where_predicate, predicates) ;
526
+ try_v!( visit_span!( vis, span) ) ;
527
+ return_result!( V )
528
+ }
519
529
}
520
530
}
521
531
@@ -1078,9 +1088,8 @@ pub mod visit {
1078
1088
1079
1089
pub fn walk_generics < ' a , V : Visitor < ' a > > ( visitor : & mut V , generics : & ' a Generics ) -> V :: Result {
1080
1090
let Generics { params, where_clause, span : _ } = generics;
1081
- let WhereClause { has_where_token : _, predicates, span : _ } = where_clause;
1082
1091
walk_list ! ( visitor, visit_generic_param, params) ;
1083
- walk_list ! ( visitor, visit_where_predicate , predicates ) ;
1092
+ try_visit ! ( visitor. visit_where_clause ( where_clause ) ) ;
1084
1093
V :: Result :: output ( )
1085
1094
}
1086
1095
@@ -2158,12 +2167,6 @@ pub mod mut_visit {
2158
2167
vis. visit_span ( span_after) ;
2159
2168
}
2160
2169
2161
- fn walk_where_clause < T : MutVisitor > ( vis : & mut T , wc : & mut WhereClause ) {
2162
- let WhereClause { has_where_token : _, predicates, span } = wc;
2163
- visit_thin_vec ( predicates, |predicate| vis. visit_where_predicate ( predicate) ) ;
2164
- vis. visit_span ( span) ;
2165
- }
2166
-
2167
2170
fn walk_where_predicate < T : MutVisitor > ( vis : & mut T , pred : & mut WherePredicate ) {
2168
2171
match pred {
2169
2172
WherePredicate :: BoundPredicate ( bp) => {
0 commit comments