Skip to content

Commit e034d75

Browse files
committed
Unify walk_qself
1 parent bce17bd commit e034d75

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -740,6 +740,18 @@ macro_rules! make_ast_visitor {
740740
return_result!(V)
741741
}
742742

743+
pub fn walk_qself<$($lt,)? V: $trait$(<$lt>)?>(
744+
vis: &mut V,
745+
qself: ref_t!(Option<P<QSelf>>)
746+
) -> result!(V) {
747+
if let Some(qself) = qself {
748+
let QSelf { ty, path_span, position: _ } = &$($mut)? **qself;
749+
try_v!(vis.visit_ty(ty));
750+
try_v!(visit_span!(vis, path_span));
751+
}
752+
return_result!(V)
753+
}
754+
743755
make_walk_flat_map!{Arm, walk_flat_map_arm, visit_arm}
744756
make_walk_flat_map!{Attribute, walk_flat_map_attribute, visit_attribute}
745757
make_walk_flat_map!{ExprField, walk_flat_map_expr_field, visit_expr_field}
@@ -1066,14 +1078,6 @@ pub mod visit {
10661078
V::Result::output()
10671079
}
10681080

1069-
fn walk_qself<'a, V: Visitor<'a>>(visitor: &mut V, qself: &'a Option<P<QSelf>>) -> V::Result {
1070-
if let Some(qself) = qself {
1071-
let QSelf { ty, path_span: _, position: _ } = &**qself;
1072-
try_visit!(visitor.visit_ty(ty));
1073-
}
1074-
V::Result::output()
1075-
}
1076-
10771081
pub fn walk_path<'a, V: Visitor<'a>>(visitor: &mut V, path: &'a Path) -> V::Result {
10781082
let Path { span: _, segments, tokens: _ } = path;
10791083
walk_list!(visitor, visit_path_segment, segments);
@@ -1918,14 +1922,6 @@ pub mod mut_visit {
19181922
vis.visit_span(span);
19191923
}
19201924

1921-
fn walk_qself<T: MutVisitor>(vis: &mut T, qself: &mut Option<P<QSelf>>) {
1922-
visit_opt(qself, |qself| {
1923-
let QSelf { ty, path_span, position: _ } = &mut **qself;
1924-
vis.visit_ty(ty);
1925-
vis.visit_span(path_span);
1926-
})
1927-
}
1928-
19291925
fn walk_generic_arg<T: MutVisitor>(vis: &mut T, arg: &mut GenericArg) {
19301926
match arg {
19311927
GenericArg::Lifetime(lt) => vis.visit_lifetime(lt),

0 commit comments

Comments
 (0)