Skip to content

Commit 7e5f977

Browse files
committed
Unify walk_generics
1 parent a608b3f commit 7e5f977

File tree

1 file changed

+11
-14
lines changed

1 file changed

+11
-14
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,17 @@ macro_rules! make_ast_visitor {
457457
return_result!(V)
458458
}
459459

460+
pub fn walk_generics<$($lt,)? V: $trait$(<$lt>)?>(
461+
vis: &mut V,
462+
generics: ref_t!(Generics)
463+
) -> result!(V) {
464+
let Generics { params, where_clause, span } = generics;
465+
visit_list!(vis, visit_generic_param, flat_map_generic_param, params);
466+
try_v!(vis.visit_where_clause(where_clause));
467+
try_v!(visit_span!(vis, span));
468+
return_result!(V)
469+
}
470+
460471
pub fn walk_ident<$($lt,)? V: $trait$(<$lt>)?>(
461472
vis: &mut V,
462473
ident: ref_t!(Ident)
@@ -1086,13 +1097,6 @@ pub mod visit {
10861097
V::Result::output()
10871098
}
10881099

1089-
pub fn walk_generics<'a, V: Visitor<'a>>(visitor: &mut V, generics: &'a Generics) -> V::Result {
1090-
let Generics { params, where_clause, span: _ } = generics;
1091-
walk_list!(visitor, visit_generic_param, params);
1092-
try_visit!(visitor.visit_where_clause(where_clause));
1093-
V::Result::output()
1094-
}
1095-
10961100
pub fn walk_where_predicate<'a, V: Visitor<'a>>(
10971101
visitor: &mut V,
10981102
predicate: &'a WherePredicate,
@@ -2152,13 +2156,6 @@ pub mod mut_visit {
21522156
smallvec![param]
21532157
}
21542158

2155-
fn walk_generics<T: MutVisitor>(vis: &mut T, generics: &mut Generics) {
2156-
let Generics { params, where_clause, span } = generics;
2157-
params.flat_map_in_place(|param| vis.flat_map_generic_param(param));
2158-
vis.visit_where_clause(where_clause);
2159-
vis.visit_span(span);
2160-
}
2161-
21622159
fn walk_ty_alias_where_clauses<T: MutVisitor>(vis: &mut T, tawcs: &mut TyAliasWhereClauses) {
21632160
let TyAliasWhereClauses { before, after, split: _ } = tawcs;
21642161
let TyAliasWhereClause { has_where_token: _, span: span_before } = before;

0 commit comments

Comments
 (0)