@@ -276,7 +276,6 @@ macro_rules! make_ast_visitor {
276276
277277                make_visit!{ Arm ;  visit_arm,  walk_arm} 
278278                make_visit!{ AssocItem ,  ctxt:  AssocCtxt ;  visit_assoc_item,  walk_assoc_item} 
279-                 make_visit!{ EnumDef ;  visit_enum_def,  walk_enum_def} 
280279                make_visit!{ ExprField ;  visit_expr_field,  walk_expr_field} 
281280                make_visit!{ FieldDef ;  visit_field_def,  walk_field_def} 
282281                make_visit!{ ForeignItem ;  visit_foreign_item,  walk_item} 
@@ -322,6 +321,7 @@ macro_rules! make_ast_visitor {
322321            make_visit!{ CaptureBy ;  visit_capture_by,  walk_capture_by} 
323322            make_visit!{ ClosureBinder ;  visit_closure_binder,  walk_closure_binder} 
324323            make_visit!{ Crate ;  visit_crate,  walk_crate} 
324+             make_visit!{ EnumDef ;  visit_enum_def,  walk_enum_def} 
325325            make_visit!{ FnDecl ;  visit_fn_decl,  walk_fn_decl} 
326326            make_visit!{ FnRetTy ;  visit_fn_ret_ty,  walk_fn_ret_ty} 
327327            make_visit!{ FormatArgs ;  visit_format_args,  walk_format_args} 
@@ -404,6 +404,15 @@ macro_rules! make_ast_visitor {
404404            return_result!( V ) 
405405        } 
406406
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+ 
407416        pub  fn  walk_fn_decl<$( $lt, ) ? V :  $trait$( <$lt>) ?>( 
408417            vis:  & mut  V , 
409418            decl:  ref_t!( FnDecl ) 
@@ -818,14 +827,6 @@ pub mod visit {
818827        walk_assoc_item ( visitor,  item,  AssocCtxt :: Trait  /*ignored*/ ) 
819828    } 
820829
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- 
829830    pub  fn  walk_variant < ' a ,  V :  Visitor < ' a > > ( visitor :  & mut  V ,  variant :  & ' a  Variant )  -> V :: Result 
830831    where 
831832        V :  Visitor < ' a > , 
@@ -2307,9 +2308,9 @@ pub mod mut_visit {
23072308                    visit_opt ( ty,  |ty| vis. visit_ty ( ty) ) ; 
23082309                    walk_ty_alias_where_clauses ( vis,  where_clauses) ; 
23092310                } 
2310-                 ItemKind :: Enum ( EnumDef   {  variants  } ,  generics)  => { 
2311+                 ItemKind :: Enum ( enum_def ,  generics)  => { 
23112312                    vis. visit_generics ( generics) ; 
2312-                     variants . flat_map_in_place ( |variant|  vis. flat_map_variant ( variant ) ) ; 
2313+                     vis. visit_enum_def ( enum_def ) ; 
23132314                } 
23142315                ItemKind :: Struct ( variant_data,  generics) 
23152316                | ItemKind :: Union ( variant_data,  generics)  => { 
0 commit comments