Skip to content

Commit a8c9d0d

Browse files
committed
Unify walk_where_clause
1 parent 2b8c232 commit a8c9d0d

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,6 @@ macro_rules! make_ast_visitor {
279279
make_visit!{InlineAsmSym, visit_inline_asm_sym, walk_inline_asm_sym}
280280
make_visit!{Generics, visit_generics, walk_generics}
281281
make_visit!{ClosureBinder, visit_closure_binder, walk_closure_binder}
282-
make_visit!{WherePredicate, visit_where_predicate, walk_where_predicate}
283282
make_visit!{TraitRef, visit_trait_ref, walk_trait_ref}
284283
make_visit!{PolyTraitRef, visit_poly_trait_ref, walk_poly_trait_ref}
285284
make_visit!{Label, visit_label, walk_label}
@@ -312,6 +311,7 @@ macro_rules! make_ast_visitor {
312311
make_visit!{Param, visit_param, walk_param, flat_map_param, walk_flat_map_param}
313312
make_visit!{PatField, visit_pat_field, walk_pat_field, flat_map_pat_field, walk_flat_map_pat_field}
314313
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}
315315
make_visit!{P!(Ty), visit_ty, walk_ty, flat_map_ty, walk_flat_map_ty}
316316

317317
fn visit_param_bound(&mut self, tpb: ref_t!(GenericBound), _ctxt: BoundKind) -> result!() {
@@ -657,6 +657,16 @@ macro_rules! make_ast_visitor {
657657
return_result!(V)
658658
}
659659

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+
660670
make_walk_flat_map!{Arm, walk_flat_map_arm, visit_arm}
661671
make_walk_flat_map!{Attribute, walk_flat_map_attribute, visit_attribute}
662672
make_walk_flat_map!{ExprField, walk_flat_map_expr_field, visit_expr_field}
@@ -665,6 +675,7 @@ macro_rules! make_ast_visitor {
665675
make_walk_flat_map!{Param, walk_flat_map_param, visit_param}
666676
make_walk_flat_map!{PatField, walk_flat_map_pat_field, visit_pat_field}
667677
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}
668679
make_walk_flat_map!{P!(Ty), walk_flat_map_ty, visit_ty}
669680
}
670681
}
@@ -1629,12 +1640,6 @@ pub mod visit {
16291640
walk_list!(vis, visit_foreign_item, items);
16301641
V::Result::output()
16311642
}
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-
}
16381643
}
16391644

16401645
pub mod mut_visit {
@@ -2258,12 +2263,6 @@ pub mod mut_visit {
22582263
vis.visit_span(span_after);
22592264
}
22602265

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-
22672266
fn walk_where_predicate<T: MutVisitor>(vis: &mut T, pred: &mut WherePredicate) {
22682267
match pred {
22692268
WherePredicate::BoundPredicate(bp) => {

0 commit comments

Comments
 (0)