Skip to content

Commit a1ce498

Browse files
committed
Unify {visit,walk}_angle_bracketed_parameter_data
1 parent 0cef47d commit a1ce498

File tree

1 file changed

+18
-24
lines changed

1 file changed

+18
-24
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@ macro_rules! make_ast_visitor {
188188
// field access version will continue working and it would be easy to
189189
// forget to add handling for it.
190190

191-
make_visit!{AngleBracketedArgs; visit_angle_bracketed_parameter_data, walk_angle_bracketed_parameter_data}
192191
make_visit!{CaptureBy; visit_capture_by, walk_capture_by}
193192
make_visit!{CoroutineKind; visit_coroutine_kind, walk_coroutine_kind}
194193
make_visit!{FnHeader; visit_fn_header, walk_fn_header}
@@ -323,6 +322,7 @@ macro_rules! make_ast_visitor {
323322
}
324323
}}
325324

325+
make_visit!{AngleBracketedArgs; visit_angle_bracketed_parameter_data, walk_angle_bracketed_parameter_data}
326326
make_visit!{AnonConst; visit_anon_const, walk_anon_const}
327327
make_visit!{AssocItemConstraint; visit_assoc_item_constraint, walk_assoc_item_constraint}
328328
make_visit!{Attribute; visit_attribute, walk_attribute}
@@ -355,6 +355,21 @@ macro_rules! make_ast_visitor {
355355
make_visit!{P!(Ty); visit_ty, walk_ty}
356356
}
357357

358+
pub fn walk_angle_bracketed_parameter_data<$($lt,)? V: $trait$(<$lt>)?>(
359+
vis: &mut V,
360+
data: ref_t!(AngleBracketedArgs)
361+
) -> result!(V) {
362+
let AngleBracketedArgs { args, span } = data;
363+
for arg in args {
364+
match arg {
365+
AngleBracketedArg::Arg(a) => try_v!(vis.visit_generic_arg(a)),
366+
AngleBracketedArg::Constraint(c) => try_v!(vis.visit_assoc_item_constraint(c)),
367+
}
368+
}
369+
try_v!(visit_span!(vis, span));
370+
return_result!(V)
371+
}
372+
358373
pub fn walk_ident<$($lt,)? V: $trait$(<$lt>)?>(
359374
vis: &mut V,
360375
ident: ref_t!(Ident)
@@ -797,15 +812,8 @@ pub mod visit {
797812
V: Visitor<'a>,
798813
{
799814
match generic_args {
800-
GenericArgs::AngleBracketed(AngleBracketedArgs { span: _, args }) => {
801-
for arg in args {
802-
match arg {
803-
AngleBracketedArg::Arg(a) => try_visit!(visitor.visit_generic_arg(a)),
804-
AngleBracketedArg::Constraint(c) => {
805-
try_visit!(visitor.visit_assoc_item_constraint(c))
806-
}
807-
}
808-
}
815+
GenericArgs::AngleBracketed(args) => {
816+
try_visit!(visitor.visit_angle_bracketed_parameter_data(args));
809817
}
810818
GenericArgs::Parenthesized(data) => {
811819
let ParenthesizedArgs { span: _, inputs, inputs_span: _, output } = data;
@@ -1760,20 +1768,6 @@ pub mod mut_visit {
17601768
}
17611769
}
17621770

1763-
fn walk_angle_bracketed_parameter_data<T: MutVisitor>(
1764-
vis: &mut T,
1765-
data: &mut AngleBracketedArgs,
1766-
) {
1767-
let AngleBracketedArgs { args, span } = data;
1768-
visit_thin_vec(args, |arg| match arg {
1769-
AngleBracketedArg::Arg(arg) => vis.visit_generic_arg(arg),
1770-
AngleBracketedArg::Constraint(constraint) => {
1771-
vis.visit_assoc_item_constraint(constraint)
1772-
}
1773-
});
1774-
vis.visit_span(span);
1775-
}
1776-
17771771
fn walk_parenthesized_parameter_data<T: MutVisitor>(vis: &mut T, args: &mut ParenthesizedArgs) {
17781772
let ParenthesizedArgs { inputs, output, span, inputs_span } = args;
17791773
visit_thin_vec(inputs, |input| vis.visit_ty(input));

0 commit comments

Comments
 (0)