Skip to content

Commit c5cdbd4

Browse files
committed
Unify {visit,walk}_precise_capturing_arg
1 parent fbfd761 commit c5cdbd4

File tree

1 file changed

+17
-30
lines changed

1 file changed

+17
-30
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,6 @@ macro_rules! make_ast_visitor {
211211
make_visit!{MacroDef; visit_macro_def, walk_macro_def}
212212
make_visit!{MetaItem; visit_meta_item, walk_meta_item}
213213
make_visit!{MetaItemInner; visit_meta_list_item, walk_meta_list_item}
214-
make_visit!{PreciseCapturingArg; visit_precise_capturing_arg, walk_precise_capturing_arg}
215214

216215
fn flat_map_foreign_item(&mut self, ni: P<ForeignItem>) -> SmallVec<[P<ForeignItem>; 1]> {
217216
walk_flat_map_item(self, ni)
@@ -305,9 +304,6 @@ macro_rules! make_ast_visitor {
305304
fn visit_fn(&mut self, fk: FnKind<'ast>, _: Span, _: NodeId) -> Self::Result {
306305
walk_fn(self, fk)
307306
}
308-
fn visit_precise_capturing_arg(&mut self, arg: &'ast PreciseCapturingArg) {
309-
walk_precise_capturing_arg(self, arg);
310-
}
311307
fn visit_mac_def(&mut self, _mac: &'ast MacroDef, _id: NodeId) -> Self::Result {
312308
Self::Result::output()
313309
}
@@ -349,6 +345,7 @@ macro_rules! make_ast_visitor {
349345
make_visit!{Path, _ id: NodeId; visit_path, walk_path}
350346
make_visit!{PathSegment; visit_path_segment, walk_path_segment}
351347
make_visit!{PolyTraitRef; visit_poly_trait_ref, walk_poly_trait_ref}
348+
make_visit!{PreciseCapturingArg; visit_precise_capturing_arg, walk_precise_capturing_arg}
352349
make_visit!{TraitRef; visit_trait_ref, walk_trait_ref}
353350
make_visit!{UseTree, id: NodeId, _ nested: bool; visit_use_tree, walk_use_tree}
354351
make_visit!{Variant; visit_variant, walk_variant}
@@ -761,6 +758,22 @@ macro_rules! make_ast_visitor {
761758
return_result!(V)
762759
}
763760

761+
pub fn walk_precise_capturing_arg<$($lt,)? V: $trait$(<$lt>)?>(
762+
vis: &mut V,
763+
arg: ref_t!(PreciseCapturingArg)
764+
) -> result!(V) {
765+
match arg {
766+
PreciseCapturingArg::Lifetime(lt) => {
767+
try_v!(vis.visit_lifetime(lt, LifetimeCtxt::GenericArg));
768+
}
769+
PreciseCapturingArg::Arg(path, id) => {
770+
try_v!(visit_id!(vis, id));
771+
try_v!(vis.visit_path(path, *id));
772+
}
773+
}
774+
return_result!(V)
775+
}
776+
764777
pub fn walk_use_tree<$($lt,)? V: $trait$(<$lt>)?>(
765778
vis: &mut V,
766779
use_tree: ref_t!(UseTree),
@@ -1259,20 +1272,6 @@ pub mod visit {
12591272
}
12601273
}
12611274

1262-
pub fn walk_precise_capturing_arg<'a, V: Visitor<'a>>(
1263-
visitor: &mut V,
1264-
arg: &'a PreciseCapturingArg,
1265-
) {
1266-
match arg {
1267-
PreciseCapturingArg::Lifetime(lt) => {
1268-
visitor.visit_lifetime(lt, LifetimeCtxt::GenericArg);
1269-
}
1270-
PreciseCapturingArg::Arg(path, id) => {
1271-
visitor.visit_path(path, *id);
1272-
}
1273-
}
1274-
}
1275-
12761275
pub fn walk_generic_param<'a, V: Visitor<'a>>(
12771276
visitor: &mut V,
12781277
param: &'a GenericParam,
@@ -2115,18 +2114,6 @@ pub mod mut_visit {
21152114
}
21162115
}
21172116

2118-
fn walk_precise_capturing_arg<T: MutVisitor>(vis: &mut T, arg: &mut PreciseCapturingArg) {
2119-
match arg {
2120-
PreciseCapturingArg::Lifetime(lt) => {
2121-
vis.visit_lifetime(lt, LifetimeCtxt::GenericArg);
2122-
}
2123-
PreciseCapturingArg::Arg(path, id) => {
2124-
vis.visit_id(id);
2125-
vis.visit_path(path, *id);
2126-
}
2127-
}
2128-
}
2129-
21302117
pub fn walk_flat_map_generic_param<T: MutVisitor>(
21312118
vis: &mut T,
21322119
mut param: GenericParam,

0 commit comments

Comments
 (0)