Skip to content

Commit 6d135f0

Browse files
committed
Unify walk_pat_field
1 parent 2a5f7a2 commit 6d135f0

File tree

1 file changed

+13
-17
lines changed

1 file changed

+13
-17
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -619,6 +619,19 @@ macro_rules! make_ast_visitor {
619619
return_result!(V)
620620
}
621621

622+
pub fn walk_pat_field<$($lt,)? V: $trait$(<$lt>)?>(
623+
vis: &mut V,
624+
fp: ref_t!(PatField)
625+
) -> result!(V) {
626+
let PatField { attrs, id, ident, is_placeholder: _, is_shorthand: _, pat, span } = fp;
627+
try_v!(visit_id!(vis, id));
628+
visit_list!(vis, visit_attribute, flat_map_attribute, attrs);
629+
try_v!(visit_ident!(vis, ident));
630+
try_v!(vis.visit_pat(pat));
631+
try_v!(visit_span!(vis, span));
632+
return_result!(V)
633+
}
634+
622635
make_walk_flat_map!{Arm, walk_flat_map_arm, visit_arm}
623636
make_walk_flat_map!{Attribute, walk_flat_map_attribute, visit_attribute}
624637
make_walk_flat_map!{ExprField, walk_flat_map_expr_field, visit_expr_field}
@@ -918,14 +931,6 @@ pub mod visit {
918931
V::Result::output()
919932
}
920933

921-
pub fn walk_pat_field<'a, V: Visitor<'a>>(visitor: &mut V, fp: &'a PatField) -> V::Result {
922-
let PatField { ident, pat, is_shorthand: _, attrs, id: _, span: _, is_placeholder: _ } = fp;
923-
walk_list!(visitor, visit_attribute, attrs);
924-
try_visit!(visitor.visit_ident(*ident));
925-
try_visit!(visitor.visit_pat(pat));
926-
V::Result::output()
927-
}
928-
929934
pub fn walk_ty<'a, V: Visitor<'a>>(visitor: &mut V, typ: &'a Ty) -> V::Result {
930935
let Ty { id, kind, span: _, tokens: _ } = typ;
931936
match kind {
@@ -1762,15 +1767,6 @@ pub mod mut_visit {
17621767
vis.visit_span(close);
17631768
}
17641769

1765-
pub fn walk_pat_field<T: MutVisitor>(vis: &mut T, fp: &mut PatField) {
1766-
let PatField { attrs, id, ident, is_placeholder: _, is_shorthand: _, pat, span } = fp;
1767-
vis.visit_id(id);
1768-
visit_attrs(vis, attrs);
1769-
vis.visit_ident(ident);
1770-
vis.visit_pat(pat);
1771-
vis.visit_span(span);
1772-
}
1773-
17741770
fn walk_use_tree<T: MutVisitor>(vis: &mut T, use_tree: &mut UseTree) {
17751771
let UseTree { prefix, kind, span } = use_tree;
17761772
vis.visit_path(prefix);

0 commit comments

Comments
 (0)