@@ -199,7 +199,6 @@ macro_rules! make_ast_visitor {
199199 make_visit!{ PreciseCapturingArg ; visit_precise_capturing_arg, walk_precise_capturing_arg}
200200 make_visit!{ UseTree ; visit_use_tree, walk_use_tree}
201201 make_visit!{ VariantData ; visit_variant_data, walk_variant_data}
202- make_visit!{ WhereClause ; visit_where_clause, walk_where_clause}
203202
204203 fn flat_map_foreign_item( & mut self , ni: P <ForeignItem >) -> SmallVec <[ P <ForeignItem >; 1 ] > {
205204 walk_flat_map_item( self , ni)
@@ -346,6 +345,7 @@ macro_rules! make_ast_visitor {
346345 make_visit!{ PolyTraitRef ; visit_poly_trait_ref, walk_poly_trait_ref}
347346 make_visit!{ TraitRef ; visit_trait_ref, walk_trait_ref}
348347 make_visit!{ Visibility ; visit_vis, walk_vis}
348+ make_visit!{ WhereClause ; visit_where_clause, walk_where_clause}
349349 make_visit!{ WherePredicate ; visit_where_predicate, walk_where_predicate}
350350
351351 make_visit!{ P !( Block ) ; visit_block, walk_block}
@@ -516,6 +516,16 @@ macro_rules! make_ast_visitor {
516516 try_v!( visit_span!( vis, span) ) ;
517517 return_result!( V )
518518 }
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+ }
519529 }
520530}
521531
@@ -1078,9 +1088,8 @@ pub mod visit {
10781088
10791089 pub fn walk_generics < ' a , V : Visitor < ' a > > ( visitor : & mut V , generics : & ' a Generics ) -> V :: Result {
10801090 let Generics { params, where_clause, span : _ } = generics;
1081- let WhereClause { has_where_token : _, predicates, span : _ } = where_clause;
10821091 walk_list ! ( visitor, visit_generic_param, params) ;
1083- walk_list ! ( visitor, visit_where_predicate , predicates ) ;
1092+ try_visit ! ( visitor. visit_where_clause ( where_clause ) ) ;
10841093 V :: Result :: output ( )
10851094 }
10861095
@@ -2158,12 +2167,6 @@ pub mod mut_visit {
21582167 vis. visit_span ( span_after) ;
21592168 }
21602169
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-
21672170 fn walk_where_predicate < T : MutVisitor > ( vis : & mut T , pred : & mut WherePredicate ) {
21682171 match pred {
21692172 WherePredicate :: BoundPredicate ( bp) => {
0 commit comments