Skip to content

Commit 7490067

Browse files
committed
Unify walk_generic_arg
1 parent e3b2d1b commit 7490067

File tree

1 file changed

+12
-19
lines changed

1 file changed

+12
-19
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -885,6 +885,18 @@ macro_rules! make_ast_visitor {
885885
return_result!(V)
886886
}
887887

888+
pub fn walk_generic_arg<$($lt,)? V: $trait$(<$lt>)?>(
889+
vis: &mut V,
890+
arg: ref_t!(GenericArg)
891+
) -> result!(V) {
892+
match arg {
893+
GenericArg::Lifetime(lt) => try_v!(vis.visit_lifetime(lt, LifetimeCtxt::GenericArg)),
894+
GenericArg::Type(ty) => try_v!(vis.visit_ty(ty)),
895+
GenericArg::Const(ct) => try_v!(vis.visit_anon_const(ct)),
896+
}
897+
return_result!(V)
898+
}
899+
888900
make_walk_flat_map!{Arm, walk_flat_map_arm, visit_arm}
889901
make_walk_flat_map!{Attribute, walk_flat_map_attribute, visit_attribute}
890902
make_walk_flat_map!{ExprField, walk_flat_map_expr_field, visit_expr_field}
@@ -1198,17 +1210,6 @@ pub mod visit {
11981210
V::Result::output()
11991211
}
12001212

1201-
pub fn walk_generic_arg<'a, V>(visitor: &mut V, generic_arg: &'a GenericArg) -> V::Result
1202-
where
1203-
V: Visitor<'a>,
1204-
{
1205-
match generic_arg {
1206-
GenericArg::Lifetime(lt) => visitor.visit_lifetime(lt, LifetimeCtxt::GenericArg),
1207-
GenericArg::Type(ty) => visitor.visit_ty(ty),
1208-
GenericArg::Const(ct) => visitor.visit_anon_const(ct),
1209-
}
1210-
}
1211-
12121213
pub fn walk_assoc_item_constraint<'a, V: Visitor<'a>>(
12131214
visitor: &mut V,
12141215
constraint: &'a AssocItemConstraint,
@@ -1949,14 +1950,6 @@ pub mod mut_visit {
19491950
items.flat_map_in_place(|item| vis.flat_map_foreign_item(item));
19501951
}
19511952

1952-
fn walk_generic_arg<T: MutVisitor>(vis: &mut T, arg: &mut GenericArg) {
1953-
match arg {
1954-
GenericArg::Lifetime(lt) => vis.visit_lifetime(lt, LifetimeCtxt::GenericArg),
1955-
GenericArg::Type(ty) => vis.visit_ty(ty),
1956-
GenericArg::Const(ct) => vis.visit_anon_const(ct),
1957-
}
1958-
}
1959-
19601953
fn walk_attribute<T: MutVisitor>(vis: &mut T, attr: &mut Attribute) {
19611954
let Attribute { kind, id: _, style: _, span } = attr;
19621955
match kind {

0 commit comments

Comments
 (0)