Skip to content

Commit fc744bb

Browse files
committed
Unify walk_path_segment
1 parent 79d50ca commit fc744bb

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -584,6 +584,17 @@ macro_rules! make_ast_visitor {
584584
return_result!(V)
585585
}
586586

587+
pub fn walk_path_segment<$($lt,)? V: $trait$(<$lt>)?>(
588+
vis: &mut V,
589+
segment: ref_t!(PathSegment)
590+
) -> result!(V) {
591+
let PathSegment { id, ident, args } = segment;
592+
try_v!(visit_id!(vis, id));
593+
try_v!(vis.visit_ident(ident));
594+
visit_o!(args, |args| vis.visit_generic_args(args));
595+
return_result!(V)
596+
}
597+
587598
pub fn walk_poly_trait_ref<$($lt,)? V: $trait$(<$lt>)?>(
588599
vis: &mut V,
589600
trait_ref: ref_t!(PolyTraitRef)
@@ -1018,16 +1029,6 @@ pub mod visit {
10181029
V::Result::output()
10191030
}
10201031

1021-
pub fn walk_path_segment<'a, V: Visitor<'a>>(
1022-
visitor: &mut V,
1023-
segment: &'a PathSegment,
1024-
) -> V::Result {
1025-
let PathSegment { ident, id: _, args } = segment;
1026-
try_visit!(visitor.visit_ident(ident));
1027-
visit_opt!(visitor, visit_generic_args, args);
1028-
V::Result::output()
1029-
}
1030-
10311032
pub fn walk_generic_arg<'a, V>(visitor: &mut V, generic_arg: &'a GenericArg) -> V::Result
10321033
where
10331034
V: Visitor<'a>,
@@ -1802,13 +1803,6 @@ pub mod mut_visit {
18021803
smallvec![variant]
18031804
}
18041805

1805-
fn walk_path_segment<T: MutVisitor>(vis: &mut T, segment: &mut PathSegment) {
1806-
let PathSegment { ident, id, args } = segment;
1807-
vis.visit_id(id);
1808-
vis.visit_ident(ident);
1809-
visit_opt(args, |args| vis.visit_generic_args(args));
1810-
}
1811-
18121806
fn walk_path<T: MutVisitor>(vis: &mut T, Path { segments, span, tokens }: &mut Path) {
18131807
for segment in segments {
18141808
vis.visit_path_segment(segment);

0 commit comments

Comments
 (0)