Skip to content

Commit a9e02fa

Browse files
committed
Unify walk_capture_by
1 parent 9e4eeb1 commit a9e02fa

File tree

1 file changed

+15
-18
lines changed

1 file changed

+15
-18
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -297,12 +297,14 @@ macro_rules! make_ast_visitor {
297297
make_visit!{MutTy, visit_mt, walk_mt}
298298
make_visit!{WhereClause, visit_where_clause, walk_where_clause}
299299
make_visit!{EnumDef, visit_enum_def, walk_enum_def}
300+
make_visit!{CaptureBy, visit_capture_by, walk_capture_by}
300301
make_visit!{P!(Local), visit_local, walk_local}
301302
make_visit!{P!(Pat), visit_pat, walk_pat}
302303
make_visit!{P!(Expr), visit_expr, walk_expr}
303304
make_visit!{P!(Ty), visit_ty, walk_ty}
304305
make_visit!{P!(Block), visit_block, walk_block}
305306
make_visit!{P!(FnDecl), visit_fn_decl, walk_fn_decl}
307+
306308
// flat_maps
307309
make_visit!{Arm, visit_arm, walk_arm, flat_map_arm, walk_flat_map_arm}
308310
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 {
344346
walk_ident(self, ident)
345347
}
346348

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-
356349
// FIXME: remove _ on header if mut
357350
fn visit_fn_header(&mut self, _header: ref_t!(FnHeader)) -> result!() {
358351
if_mut_expr!(
@@ -590,6 +583,19 @@ macro_rules! make_ast_visitor {
590583
return_result!(V)
591584
}
592585

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+
593599
make_walk_flat_map!{Arm, walk_flat_map_arm, visit_arm}
594600
make_walk_flat_map!{ExprField, walk_flat_map_expr_field, visit_expr_field}
595601
make_walk_flat_map!{FieldDef, walk_flat_map_field_def, visit_field_def}
@@ -2939,15 +2945,6 @@ pub mod mut_visit {
29392945
vis.visit_span(span);
29402946
}
29412947

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-
29512948
pub fn walk_enum_def<T: MutVisitor>(vis: &mut T, EnumDef { variants }: &mut EnumDef) {
29522949
variants.flat_map_in_place(|variant| vis.flat_map_variant(variant));
29532950
}

0 commit comments

Comments
 (0)