@@ -279,7 +279,6 @@ macro_rules! make_ast_visitor {
279
279
make_visit!{ InlineAsmSym , visit_inline_asm_sym, walk_inline_asm_sym}
280
280
make_visit!{ Generics , visit_generics, walk_generics}
281
281
make_visit!{ ClosureBinder , visit_closure_binder, walk_closure_binder}
282
- make_visit!{ WherePredicate , visit_where_predicate, walk_where_predicate}
283
282
make_visit!{ TraitRef , visit_trait_ref, walk_trait_ref}
284
283
make_visit!{ PolyTraitRef , visit_poly_trait_ref, walk_poly_trait_ref}
285
284
make_visit!{ Label , visit_label, walk_label}
@@ -312,6 +311,7 @@ macro_rules! make_ast_visitor {
312
311
make_visit!{ Param , visit_param, walk_param, flat_map_param, walk_flat_map_param}
313
312
make_visit!{ PatField , visit_pat_field, walk_pat_field, flat_map_pat_field, walk_flat_map_pat_field}
314
313
make_visit!{ Variant , visit_variant, walk_variant, flat_map_variant, walk_flat_map_variant}
314
+ make_visit!{ WherePredicate , visit_where_predicate, walk_where_predicate, flat_map_where_predicate, walk_flat_map_where_predicate}
315
315
make_visit!{ P !( Ty ) , visit_ty, walk_ty, flat_map_ty, walk_flat_map_ty}
316
316
317
317
fn visit_param_bound( & mut self , tpb: ref_t!( GenericBound ) , _ctxt: BoundKind ) -> result!( ) {
@@ -657,6 +657,16 @@ macro_rules! make_ast_visitor {
657
657
return_result!( V )
658
658
}
659
659
660
+ pub fn walk_where_clause<$( $lt, ) ? V : $trait$( <$lt>) ?>(
661
+ vis: & mut V ,
662
+ wc: ref_t!( WhereClause )
663
+ ) -> result!( V ) {
664
+ let WhereClause { has_where_token: _, predicates, span } = wc;
665
+ visit_list!( vis, visit_where_predicate, flat_map_where_predicate, predicates) ;
666
+ try_v!( visit_span!( vis, span) ) ;
667
+ return_result!( V )
668
+ }
669
+
660
670
make_walk_flat_map!{ Arm , walk_flat_map_arm, visit_arm}
661
671
make_walk_flat_map!{ Attribute , walk_flat_map_attribute, visit_attribute}
662
672
make_walk_flat_map!{ ExprField , walk_flat_map_expr_field, visit_expr_field}
@@ -665,6 +675,7 @@ macro_rules! make_ast_visitor {
665
675
make_walk_flat_map!{ Param , walk_flat_map_param, visit_param}
666
676
make_walk_flat_map!{ PatField , walk_flat_map_pat_field, visit_pat_field}
667
677
make_walk_flat_map!{ Variant , walk_flat_map_variant, visit_variant}
678
+ make_walk_flat_map!{ WherePredicate , walk_flat_map_where_predicate, visit_where_predicate}
668
679
make_walk_flat_map!{ P !( Ty ) , walk_flat_map_ty, visit_ty}
669
680
}
670
681
}
@@ -1629,12 +1640,6 @@ pub mod visit {
1629
1640
walk_list ! ( vis, visit_foreign_item, items) ;
1630
1641
V :: Result :: output ( )
1631
1642
}
1632
-
1633
- fn walk_where_clause < ' a , V : Visitor < ' a > > ( vis : & mut V , wc : & ' a WhereClause ) -> V :: Result {
1634
- let WhereClause { has_where_token : _, predicates, span : _ } = wc;
1635
- walk_list ! ( vis, visit_where_predicate, predicates) ;
1636
- V :: Result :: output ( )
1637
- }
1638
1643
}
1639
1644
1640
1645
pub mod mut_visit {
@@ -2258,12 +2263,6 @@ pub mod mut_visit {
2258
2263
vis. visit_span ( span_after) ;
2259
2264
}
2260
2265
2261
- fn walk_where_clause < T : MutVisitor > ( vis : & mut T , wc : & mut WhereClause ) {
2262
- let WhereClause { has_where_token : _, predicates, span } = wc;
2263
- visit_thin_vec ( predicates, |predicate| vis. visit_where_predicate ( predicate) ) ;
2264
- vis. visit_span ( span) ;
2265
- }
2266
-
2267
2266
fn walk_where_predicate < T : MutVisitor > ( vis : & mut T , pred : & mut WherePredicate ) {
2268
2267
match pred {
2269
2268
WherePredicate :: BoundPredicate ( bp) => {
0 commit comments