@@ -271,7 +271,6 @@ macro_rules! make_ast_visitor {
271
271
272
272
make_visit!{ Arm ; visit_arm, walk_arm}
273
273
make_visit!{ AssocItem , ctxt: AssocCtxt ; visit_assoc_item, walk_assoc_item}
274
- make_visit!{ EnumDef ; visit_enum_def, walk_enum_def}
275
274
make_visit!{ ExprField ; visit_expr_field, walk_expr_field}
276
275
make_visit!{ FieldDef ; visit_field_def, walk_field_def}
277
276
make_visit!{ ForeignItem ; visit_foreign_item, walk_item}
@@ -317,6 +316,7 @@ macro_rules! make_ast_visitor {
317
316
make_visit!{ CaptureBy ; visit_capture_by, walk_capture_by}
318
317
make_visit!{ ClosureBinder ; visit_closure_binder, walk_closure_binder}
319
318
make_visit!{ Crate ; visit_crate, walk_crate}
319
+ make_visit!{ EnumDef ; visit_enum_def, walk_enum_def}
320
320
make_visit!{ FnDecl ; visit_fn_decl, walk_fn_decl}
321
321
make_visit!{ FnRetTy ; visit_fn_ret_ty, walk_fn_ret_ty}
322
322
make_visit!{ FormatArgs ; visit_format_args, walk_format_args}
@@ -399,6 +399,15 @@ macro_rules! make_ast_visitor {
399
399
return_result!( V )
400
400
}
401
401
402
+ pub fn walk_enum_def<$( $lt, ) ? V : $trait$( <$lt>) ?>(
403
+ vis: & mut V ,
404
+ enum_def: ref_t!( EnumDef )
405
+ ) -> result!( V ) {
406
+ let EnumDef { variants } = enum_def;
407
+ visit_list!( vis, visit_variant, flat_map_variant, variants) ;
408
+ return_result!( V )
409
+ }
410
+
402
411
pub fn walk_fn_decl<$( $lt, ) ? V : $trait$( <$lt>) ?>(
403
412
vis: & mut V ,
404
413
decl: ref_t!( FnDecl )
@@ -813,14 +822,6 @@ pub mod visit {
813
822
walk_assoc_item ( visitor, item, AssocCtxt :: Trait /*ignored*/ )
814
823
}
815
824
816
- pub fn walk_enum_def < ' a , V : Visitor < ' a > > (
817
- visitor : & mut V ,
818
- EnumDef { variants } : & ' a EnumDef ,
819
- ) -> V :: Result {
820
- walk_list ! ( visitor, visit_variant, variants) ;
821
- V :: Result :: output ( )
822
- }
823
-
824
825
pub fn walk_variant < ' a , V : Visitor < ' a > > ( visitor : & mut V , variant : & ' a Variant ) -> V :: Result
825
826
where
826
827
V : Visitor < ' a > ,
@@ -2302,9 +2303,9 @@ pub mod mut_visit {
2302
2303
visit_opt ( ty, |ty| vis. visit_ty ( ty) ) ;
2303
2304
walk_ty_alias_where_clauses ( vis, where_clauses) ;
2304
2305
}
2305
- ItemKind :: Enum ( EnumDef { variants } , generics) => {
2306
+ ItemKind :: Enum ( enum_def , generics) => {
2306
2307
vis. visit_generics ( generics) ;
2307
- variants . flat_map_in_place ( |variant| vis. flat_map_variant ( variant ) ) ;
2308
+ vis. visit_enum_def ( enum_def ) ;
2308
2309
}
2309
2310
ItemKind :: Struct ( variant_data, generics)
2310
2311
| ItemKind :: Union ( variant_data, generics) => {
0 commit comments