@@ -678,9 +678,8 @@ pub fn walk_anon_const<'a, V: Visitor<'a>>(visitor: &mut V, constant: &'a AnonCo
678
678
}
679
679
680
680
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
+
684
683
match expression. node {
685
684
ExprKind :: Box ( ref subexpression) => {
686
685
visitor. visit_expr ( subexpression)
@@ -719,8 +718,8 @@ pub fn walk_expr<'a, V: Visitor<'a>>(visitor: &mut V, expression: &'a Expr) {
719
718
visitor. visit_expr ( subexpression) ;
720
719
visitor. visit_ty ( typ)
721
720
}
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 ) ;
724
723
visitor. visit_expr ( scrutinee) ;
725
724
}
726
725
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) {
831
830
}
832
831
833
832
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 ) ;
838
837
visitor. visit_expr ( & arm. body ) ;
839
838
walk_list ! ( visitor, visit_attribute, & arm. attrs) ;
840
839
}
0 commit comments