@@ -297,12 +297,14 @@ macro_rules! make_ast_visitor {
297
297
make_visit!{ MutTy , visit_mt, walk_mt}
298
298
make_visit!{ WhereClause , visit_where_clause, walk_where_clause}
299
299
make_visit!{ EnumDef , visit_enum_def, walk_enum_def}
300
+ make_visit!{ CaptureBy , visit_capture_by, walk_capture_by}
300
301
make_visit!{ P !( Local ) , visit_local, walk_local}
301
302
make_visit!{ P !( Pat ) , visit_pat, walk_pat}
302
303
make_visit!{ P !( Expr ) , visit_expr, walk_expr}
303
304
make_visit!{ P !( Ty ) , visit_ty, walk_ty}
304
305
make_visit!{ P !( Block ) , visit_block, walk_block}
305
306
make_visit!{ P !( FnDecl ) , visit_fn_decl, walk_fn_decl}
307
+
306
308
// flat_maps
307
309
make_visit!{ Arm , visit_arm, walk_arm, flat_map_arm, walk_flat_map_arm}
308
310
make_visit!{ ExprField , visit_expr_field, walk_expr_field, flat_map_expr_field, walk_flat_map_expr_field}
@@ -344,15 +346,6 @@ macro_rules! make_ast_visitor {
344
346
walk_ident( self , ident)
345
347
}
346
348
347
- // FIXME: remove _ on capture_by if mut
348
- fn visit_capture_by( & mut self , _capture_by: ref_t!( CaptureBy ) ) -> result!( ) {
349
- if_mut_expr!(
350
- walk_capture_by( self , _capture_by)
351
- ,
352
- Self :: Result :: output( )
353
- )
354
- }
355
-
356
349
// FIXME: remove _ on header if mut
357
350
fn visit_fn_header( & mut self , _header: ref_t!( FnHeader ) ) -> result!( ) {
358
351
if_mut_expr!(
@@ -590,6 +583,19 @@ macro_rules! make_ast_visitor {
590
583
return_result!( V )
591
584
}
592
585
586
+ pub fn walk_capture_by<$( $lt, ) ? V : $trait$( <$lt>) ?>(
587
+ vis: & mut V ,
588
+ capture_by: ref_t!( CaptureBy )
589
+ ) -> result!( V ) {
590
+ match capture_by {
591
+ CaptureBy :: Ref => { }
592
+ CaptureBy :: Value { move_kw } => {
593
+ try_v!( visit_span!( vis, move_kw) )
594
+ }
595
+ }
596
+ return_result!( V )
597
+ }
598
+
593
599
make_walk_flat_map!{ Arm , walk_flat_map_arm, visit_arm}
594
600
make_walk_flat_map!{ ExprField , walk_flat_map_expr_field, visit_expr_field}
595
601
make_walk_flat_map!{ FieldDef , walk_flat_map_field_def, visit_field_def}
@@ -2939,15 +2945,6 @@ pub mod mut_visit {
2939
2945
vis. visit_span ( span) ;
2940
2946
}
2941
2947
2942
- fn walk_capture_by < T : MutVisitor > ( vis : & mut T , capture_by : & mut CaptureBy ) {
2943
- match capture_by {
2944
- CaptureBy :: Ref => { }
2945
- CaptureBy :: Value { move_kw } => {
2946
- vis. visit_span ( move_kw) ;
2947
- }
2948
- }
2949
- }
2950
-
2951
2948
pub fn walk_enum_def < T : MutVisitor > ( vis : & mut T , EnumDef { variants } : & mut EnumDef ) {
2952
2949
variants. flat_map_in_place ( |variant| vis. flat_map_variant ( variant) ) ;
2953
2950
}
0 commit comments