@@ -276,7 +276,6 @@ macro_rules! make_ast_visitor {
276
276
277
277
make_visit!{ Arm ; visit_arm, walk_arm}
278
278
make_visit!{ AssocItem , ctxt: AssocCtxt ; visit_assoc_item, walk_assoc_item}
279
- make_visit!{ EnumDef ; visit_enum_def, walk_enum_def}
280
279
make_visit!{ ExprField ; visit_expr_field, walk_expr_field}
281
280
make_visit!{ FieldDef ; visit_field_def, walk_field_def}
282
281
make_visit!{ ForeignItem ; visit_foreign_item, walk_item}
@@ -322,6 +321,7 @@ macro_rules! make_ast_visitor {
322
321
make_visit!{ CaptureBy ; visit_capture_by, walk_capture_by}
323
322
make_visit!{ ClosureBinder ; visit_closure_binder, walk_closure_binder}
324
323
make_visit!{ Crate ; visit_crate, walk_crate}
324
+ make_visit!{ EnumDef ; visit_enum_def, walk_enum_def}
325
325
make_visit!{ FnDecl ; visit_fn_decl, walk_fn_decl}
326
326
make_visit!{ FnRetTy ; visit_fn_ret_ty, walk_fn_ret_ty}
327
327
make_visit!{ FormatArgs ; visit_format_args, walk_format_args}
@@ -404,6 +404,15 @@ macro_rules! make_ast_visitor {
404
404
return_result!( V )
405
405
}
406
406
407
+ pub fn walk_enum_def<$( $lt, ) ? V : $trait$( <$lt>) ?>(
408
+ vis: & mut V ,
409
+ enum_def: ref_t!( EnumDef )
410
+ ) -> result!( V ) {
411
+ let EnumDef { variants } = enum_def;
412
+ visit_list!( vis, visit_variant, flat_map_variant, variants) ;
413
+ return_result!( V )
414
+ }
415
+
407
416
pub fn walk_fn_decl<$( $lt, ) ? V : $trait$( <$lt>) ?>(
408
417
vis: & mut V ,
409
418
decl: ref_t!( FnDecl )
@@ -818,14 +827,6 @@ pub mod visit {
818
827
walk_assoc_item ( visitor, item, AssocCtxt :: Trait /*ignored*/ )
819
828
}
820
829
821
- pub fn walk_enum_def < ' a , V : Visitor < ' a > > (
822
- visitor : & mut V ,
823
- EnumDef { variants } : & ' a EnumDef ,
824
- ) -> V :: Result {
825
- walk_list ! ( visitor, visit_variant, variants) ;
826
- V :: Result :: output ( )
827
- }
828
-
829
830
pub fn walk_variant < ' a , V : Visitor < ' a > > ( visitor : & mut V , variant : & ' a Variant ) -> V :: Result
830
831
where
831
832
V : Visitor < ' a > ,
@@ -2307,9 +2308,9 @@ pub mod mut_visit {
2307
2308
visit_opt ( ty, |ty| vis. visit_ty ( ty) ) ;
2308
2309
walk_ty_alias_where_clauses ( vis, where_clauses) ;
2309
2310
}
2310
- ItemKind :: Enum ( EnumDef { variants } , generics) => {
2311
+ ItemKind :: Enum ( enum_def , generics) => {
2311
2312
vis. visit_generics ( generics) ;
2312
- variants . flat_map_in_place ( |variant| vis. flat_map_variant ( variant ) ) ;
2313
+ vis. visit_enum_def ( enum_def ) ;
2313
2314
}
2314
2315
ItemKind :: Struct ( variant_data, generics)
2315
2316
| ItemKind :: Union ( variant_data, generics) => {
0 commit comments