Skip to content

Commit 5798f37

Browse files
committed
Unify walk_qself
1 parent fc744bb commit 5798f37

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
@@ -546,6 +546,18 @@ macro_rules! make_ast_visitor {
546546
return_result!(V)
547547
}
548548

549+
pub fn walk_qself<$($lt,)? V: $trait$(<$lt>)?>(
550+
vis: &mut V,
551+
qself: ref_t!(Option<P<QSelf>>)
552+
) -> result!(V) {
553+
if let Some(qself) = qself {
554+
let QSelf { ty, path_span, position: _ } = &$($mut)? **qself;
555+
try_v!(vis.visit_ty(ty));
556+
try_v!(visit_span!(vis, path_span));
557+
}
558+
return_result!(V)
559+
}
560+
549561
pub fn walk_param<$($lt,)? V: $trait$(<$lt>)?>(
550562
vis: &mut V,
551563
param: ref_t!(Param)
@@ -993,14 +1005,6 @@ pub mod visit {
9931005
V::Result::output()
9941006
}
9951007

996-
fn walk_qself<'a, V: Visitor<'a>>(visitor: &mut V, qself: &'a Option<P<QSelf>>) -> V::Result {
997-
if let Some(qself) = qself {
998-
let QSelf { ty, path_span: _, position: _ } = &**qself;
999-
try_visit!(visitor.visit_ty(ty));
1000-
}
1001-
V::Result::output()
1002-
}
1003-
10041008
pub fn walk_path<'a, V: Visitor<'a>>(visitor: &mut V, path: &'a Path) -> V::Result {
10051009
let Path { span: _, segments, tokens: _ } = path;
10061010
walk_list!(visitor, visit_path_segment, segments);
@@ -1811,14 +1815,6 @@ pub mod mut_visit {
18111815
vis.visit_span(span);
18121816
}
18131817

1814-
fn walk_qself<T: MutVisitor>(vis: &mut T, qself: &mut Option<P<QSelf>>) {
1815-
visit_opt(qself, |qself| {
1816-
let QSelf { ty, path_span, position: _ } = &mut **qself;
1817-
vis.visit_ty(ty);
1818-
vis.visit_span(path_span);
1819-
})
1820-
}
1821-
18221818
fn walk_generic_arg<T: MutVisitor>(vis: &mut T, arg: &mut GenericArg) {
18231819
match arg {
18241820
GenericArg::Lifetime(lt) => vis.visit_lifetime(lt, LifetimeCtxt::GenericArg),

0 commit comments

Comments
 (0)