Skip to content

Commit 998060b

Browse files
committed
or-patterns: syntax: adjust visit and mut_visit.
1 parent ca968a1 commit 998060b

File tree

2 files changed

+13
-17
lines changed

2 files changed

+13
-17
lines changed

src/libsyntax/mut_visit.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -402,14 +402,11 @@ pub fn noop_visit_use_tree<T: MutVisitor>(use_tree: &mut UseTree, vis: &mut T) {
402402
vis.visit_span(span);
403403
}
404404

405-
pub fn noop_flat_map_arm<T: MutVisitor>(
406-
mut arm: Arm,
407-
vis: &mut T,
408-
) -> SmallVec<[Arm; 1]> {
409-
let Arm { attrs, pats, guard, body, span, id } = &mut arm;
405+
pub fn noop_flat_map_arm<T: MutVisitor>(mut arm: Arm, vis: &mut T) -> SmallVec<[Arm; 1]> {
406+
let Arm { attrs, pat, guard, body, span, id } = &mut arm;
410407
visit_attrs(attrs, vis);
411408
vis.visit_id(id);
412-
visit_vec(pats, |pat| vis.visit_pat(pat));
409+
vis.visit_pat(pat);
413410
visit_opt(guard, |guard| vis.visit_expr(guard));
414411
vis.visit_expr(body);
415412
vis.visit_span(span);
@@ -1132,8 +1129,8 @@ pub fn noop_visit_expr<T: MutVisitor>(Expr { node, id, span, attrs }: &mut Expr,
11321129
vis.visit_ty(ty);
11331130
}
11341131
ExprKind::AddrOf(_m, ohs) => vis.visit_expr(ohs),
1135-
ExprKind::Let(pats, scrutinee) => {
1136-
visit_vec(pats, |pat| vis.visit_pat(pat));
1132+
ExprKind::Let(pat, scrutinee) => {
1133+
vis.visit_pat(pat);
11371134
vis.visit_expr(scrutinee);
11381135
}
11391136
ExprKind::If(cond, tr, fl) => {

src/libsyntax/visit.rs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -678,9 +678,8 @@ pub fn walk_anon_const<'a, V: Visitor<'a>>(visitor: &mut V, constant: &'a AnonCo
678678
}
679679

680680
pub fn walk_expr<'a, V: Visitor<'a>>(visitor: &mut V, expression: &'a Expr) {
681-
for attr in expression.attrs.iter() {
682-
visitor.visit_attribute(attr);
683-
}
681+
walk_list!(visitor, visit_attribute, expression.attrs.iter());
682+
684683
match expression.node {
685684
ExprKind::Box(ref subexpression) => {
686685
visitor.visit_expr(subexpression)
@@ -719,8 +718,8 @@ pub fn walk_expr<'a, V: Visitor<'a>>(visitor: &mut V, expression: &'a Expr) {
719718
visitor.visit_expr(subexpression);
720719
visitor.visit_ty(typ)
721720
}
722-
ExprKind::Let(ref pats, ref scrutinee) => {
723-
walk_list!(visitor, visit_pat, pats);
721+
ExprKind::Let(ref pat, ref scrutinee) => {
722+
visitor.visit_pat(pat);
724723
visitor.visit_expr(scrutinee);
725724
}
726725
ExprKind::If(ref head_expression, ref if_block, ref optional_else) => {
@@ -831,10 +830,10 @@ pub fn walk_param<'a, V: Visitor<'a>>(visitor: &mut V, param: &'a Param) {
831830
}
832831

833832
pub fn walk_arm<'a, V: Visitor<'a>>(visitor: &mut V, arm: &'a Arm) {
834-
walk_list!(visitor, visit_pat, &arm.pats);
835-
if let Some(ref e) = &arm.guard {
836-
visitor.visit_expr(e);
837-
}
833+
visitor.visit_pat(&arm.pat);
834+
// HACK(or_patterns; Centril | dlrobertson):
835+
// If you change this, also change the hack in `lowering.rs`.
836+
walk_list!(visitor, visit_expr, &arm.guard);
838837
visitor.visit_expr(&arm.body);
839838
walk_list!(visitor, visit_attribute, &arm.attrs);
840839
}

0 commit comments

Comments
 (0)