Skip to content

Commit efb1eb8

Browse files
committed
Unify {visit,walk}_precise_capturing_arg
1 parent 02df8e8 commit efb1eb8

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
@@ -205,7 +205,6 @@ macro_rules! make_ast_visitor {
205205
make_visit!{MacroDef; visit_macro_def, walk_macro_def}
206206
make_visit!{MetaItem; visit_meta_item, walk_meta_item}
207207
make_visit!{MetaItemInner; visit_meta_list_item, walk_meta_list_item}
208-
make_visit!{PreciseCapturingArg; visit_precise_capturing_arg, walk_precise_capturing_arg}
209208

210209
fn flat_map_foreign_item(&mut self, ni: P<ForeignItem>) -> SmallVec<[P<ForeignItem>; 1]> {
211210
walk_flat_map_item(self, ni)
@@ -299,9 +298,6 @@ macro_rules! make_ast_visitor {
299298
fn visit_fn(&mut self, fk: FnKind<'ast>, _: Span, _: NodeId) -> Self::Result {
300299
walk_fn(self, fk)
301300
}
302-
fn visit_precise_capturing_arg(&mut self, arg: &'ast PreciseCapturingArg) {
303-
walk_precise_capturing_arg(self, arg);
304-
}
305301
fn visit_mac_def(&mut self, _mac: &'ast MacroDef, _id: NodeId) -> Self::Result {
306302
Self::Result::output()
307303
}
@@ -343,6 +339,7 @@ macro_rules! make_ast_visitor {
343339
make_visit!{Path, _ id: NodeId; visit_path, walk_path}
344340
make_visit!{PathSegment; visit_path_segment, walk_path_segment}
345341
make_visit!{PolyTraitRef; visit_poly_trait_ref, walk_poly_trait_ref}
342+
make_visit!{PreciseCapturingArg; visit_precise_capturing_arg, walk_precise_capturing_arg}
346343
make_visit!{TraitRef; visit_trait_ref, walk_trait_ref}
347344
make_visit!{UseTree, id: NodeId, _ nested: bool; visit_use_tree, walk_use_tree}
348345
make_visit!{Variant; visit_variant, walk_variant}
@@ -755,6 +752,22 @@ macro_rules! make_ast_visitor {
755752
return_result!(V)
756753
}
757754

755+
pub fn walk_precise_capturing_arg<$($lt,)? V: $trait$(<$lt>)?>(
756+
vis: &mut V,
757+
arg: ref_t!(PreciseCapturingArg)
758+
) -> result!(V) {
759+
match arg {
760+
PreciseCapturingArg::Lifetime(lt) => {
761+
try_v!(vis.visit_lifetime(lt, LifetimeCtxt::GenericArg));
762+
}
763+
PreciseCapturingArg::Arg(path, id) => {
764+
try_v!(visit_id!(vis, id));
765+
try_v!(vis.visit_path(path, *id));
766+
}
767+
}
768+
return_result!(V)
769+
}
770+
758771
pub fn walk_use_tree<$($lt,)? V: $trait$(<$lt>)?>(
759772
vis: &mut V,
760773
use_tree: ref_t!(UseTree),
@@ -1253,20 +1266,6 @@ pub mod visit {
12531266
}
12541267
}
12551268

1256-
pub fn walk_precise_capturing_arg<'a, V: Visitor<'a>>(
1257-
visitor: &mut V,
1258-
arg: &'a PreciseCapturingArg,
1259-
) {
1260-
match arg {
1261-
PreciseCapturingArg::Lifetime(lt) => {
1262-
visitor.visit_lifetime(lt, LifetimeCtxt::GenericArg);
1263-
}
1264-
PreciseCapturingArg::Arg(path, id) => {
1265-
visitor.visit_path(path, *id);
1266-
}
1267-
}
1268-
}
1269-
12701269
pub fn walk_generic_param<'a, V: Visitor<'a>>(
12711270
visitor: &mut V,
12721271
param: &'a GenericParam,
@@ -2109,18 +2108,6 @@ pub mod mut_visit {
21092108
}
21102109
}
21112110

2112-
fn walk_precise_capturing_arg<T: MutVisitor>(vis: &mut T, arg: &mut PreciseCapturingArg) {
2113-
match arg {
2114-
PreciseCapturingArg::Lifetime(lt) => {
2115-
vis.visit_lifetime(lt, LifetimeCtxt::GenericArg);
2116-
}
2117-
PreciseCapturingArg::Arg(path, id) => {
2118-
vis.visit_id(id);
2119-
vis.visit_path(path, *id);
2120-
}
2121-
}
2122-
}
2123-
21242111
pub fn walk_flat_map_generic_param<T: MutVisitor>(
21252112
vis: &mut T,
21262113
mut param: GenericParam,

0 commit comments

Comments
 (0)