@@ -273,7 +273,6 @@ macro_rules! make_ast_visitor {
273
273
/// or `ControlFlow<T>`.
274
274
type Result : VisitorResult = ( ) ;
275
275
276
- make_visit!{ Arm ; visit_arm, walk_arm}
277
276
make_visit!{ AssocItem , ctxt: AssocCtxt ; visit_assoc_item, walk_assoc_item}
278
277
make_visit!{ FieldDef ; visit_field_def, walk_field_def}
279
278
make_visit!{ ForeignItem ; visit_foreign_item, walk_item}
@@ -311,6 +310,7 @@ macro_rules! make_ast_visitor {
311
310
312
311
make_visit!{ AngleBracketedArgs ; visit_angle_bracketed_parameter_data, walk_angle_bracketed_parameter_data}
313
312
make_visit!{ AnonConst ; visit_anon_const, walk_anon_const}
313
+ make_visit!{ Arm ; visit_arm, walk_arm}
314
314
make_visit!{ AssocItemConstraint ; visit_assoc_item_constraint, walk_assoc_item_constraint}
315
315
make_visit!{ Attribute ; visit_attribute, walk_attribute}
316
316
make_visit!{ CaptureBy ; visit_capture_by, walk_capture_by}
@@ -376,6 +376,20 @@ macro_rules! make_ast_visitor {
376
376
return_result!( V )
377
377
}
378
378
379
+ pub fn walk_arm<$( $lt, ) ? V : $trait$( <$lt>) ?>(
380
+ vis: & mut V ,
381
+ arm: ref_t!( Arm )
382
+ ) -> result!( V ) {
383
+ let Arm { attrs, pat, guard, body, span, id, is_placeholder: _ } = arm;
384
+ try_v!( visit_id!( vis, id) ) ;
385
+ visit_list!( vis, visit_attribute, attrs) ;
386
+ try_v!( vis. visit_pat( pat) ) ;
387
+ visit_o!( guard, |guard| vis. visit_expr( guard) ) ;
388
+ visit_o!( body, |body| vis. visit_expr( body) ) ;
389
+ try_v!( visit_span!( vis, span) ) ;
390
+ return_result!( V )
391
+ }
392
+
379
393
pub fn walk_capture_by<$( $lt, ) ? V : $trait$( <$lt>) ?>(
380
394
vis: & mut V ,
381
395
capture_by: ref_t!( CaptureBy )
@@ -1514,15 +1528,6 @@ pub mod visit {
1514
1528
visitor. visit_expr_post ( expression)
1515
1529
}
1516
1530
1517
- pub fn walk_arm < ' a , V : Visitor < ' a > > ( visitor : & mut V , arm : & ' a Arm ) -> V :: Result {
1518
- let Arm { attrs, pat, guard, body, span : _, id : _, is_placeholder : _ } = arm;
1519
- walk_list ! ( visitor, visit_attribute, attrs) ;
1520
- try_visit ! ( visitor. visit_pat( pat) ) ;
1521
- visit_opt ! ( visitor, visit_expr, guard) ;
1522
- visit_opt ! ( visitor, visit_expr, body) ;
1523
- V :: Result :: output ( )
1524
- }
1525
-
1526
1531
pub fn walk_vis < ' a , V : Visitor < ' a > > ( visitor : & mut V , vis : & ' a Visibility ) -> V :: Result {
1527
1532
let Visibility { kind, span : _, tokens : _ } = vis;
1528
1533
match kind {
@@ -1710,13 +1715,7 @@ pub mod mut_visit {
1710
1715
}
1711
1716
1712
1717
pub fn walk_flat_map_arm < T : MutVisitor > ( vis : & mut T , mut arm : Arm ) -> SmallVec < [ Arm ; 1 ] > {
1713
- let Arm { attrs, pat, guard, body, span, id, is_placeholder : _ } = & mut arm;
1714
- vis. visit_id ( id) ;
1715
- visit_attrs ( vis, attrs) ;
1716
- vis. visit_pat ( pat) ;
1717
- visit_opt ( guard, |guard| vis. visit_expr ( guard) ) ;
1718
- visit_opt ( body, |body| vis. visit_expr ( body) ) ;
1719
- vis. visit_span ( span) ;
1718
+ vis. visit_arm ( & mut arm) ;
1720
1719
smallvec ! [ arm]
1721
1720
}
1722
1721
0 commit comments