@@ -222,7 +222,6 @@ macro_rules! make_ast_visitor {
222222 // field access version will continue working and it would be easy to
223223 // forget to add handling for it.
224224
225- make_visit!{ CoroutineKind ; visit_coroutine_kind, walk_coroutine_kind}
226225 make_visit!{ FnHeader ; visit_fn_header, walk_fn_header}
227226 make_visit!{ MetaItem ; visit_meta_item, walk_meta_item}
228227 make_visit!{ MetaItemInner ; visit_meta_list_item, walk_meta_list_item}
@@ -330,6 +329,7 @@ macro_rules! make_ast_visitor {
330329 make_visit!{ Block ; visit_block, walk_block}
331330 make_visit!{ CaptureBy ; visit_capture_by, walk_capture_by}
332331 make_visit!{ ClosureBinder ; visit_closure_binder, walk_closure_binder}
332+ make_visit!{ CoroutineKind ; visit_coroutine_kind, walk_coroutine_kind}
333333 make_visit!{ Crate ; visit_crate, walk_crate}
334334 make_visit!{ EnumDef ; visit_enum_def, walk_enum_def}
335335 make_visit!{ ExprField ; visit_expr_field, walk_expr_field}
@@ -531,6 +531,22 @@ macro_rules! make_ast_visitor {
531531 return_result!( V )
532532 }
533533
534+ pub fn walk_coroutine_kind<$( $lt, ) ? V : $trait$( <$lt>) ?>(
535+ vis: & mut V ,
536+ coroutine_kind: ref_t!( CoroutineKind )
537+ ) -> result!( V ) {
538+ match coroutine_kind {
539+ CoroutineKind :: Async { span, closure_id, return_impl_trait_id }
540+ | CoroutineKind :: Gen { span, closure_id, return_impl_trait_id }
541+ | CoroutineKind :: AsyncGen { span, closure_id, return_impl_trait_id } => {
542+ try_v!( visit_id!( vis, closure_id) ) ;
543+ try_v!( visit_id!( vis, return_impl_trait_id) ) ;
544+ try_v!( visit_span!( vis, span) ) ;
545+ }
546+ }
547+ return_result!( V )
548+ }
549+
534550 pub fn walk_crate<$( $lt, ) ? V : $trait$( <$lt>) ?>(
535551 vis: & mut V ,
536552 krate: ref_t!( Crate )
@@ -2092,18 +2108,6 @@ pub mod mut_visit {
20922108 }
20932109 }
20942110
2095- fn walk_coroutine_kind < T : MutVisitor > ( vis : & mut T , coroutine_kind : & mut CoroutineKind ) {
2096- match coroutine_kind {
2097- CoroutineKind :: Async { span, closure_id, return_impl_trait_id }
2098- | CoroutineKind :: Gen { span, closure_id, return_impl_trait_id }
2099- | CoroutineKind :: AsyncGen { span, closure_id, return_impl_trait_id } => {
2100- vis. visit_id ( closure_id) ;
2101- vis. visit_id ( return_impl_trait_id) ;
2102- vis. visit_span ( span) ;
2103- }
2104- }
2105- }
2106-
21072111 fn walk_fn < T : MutVisitor > ( vis : & mut T , kind : FnKind < ' _ > ) {
21082112 match kind {
21092113 FnKind :: Fn ( _, _, FnSig { header, decl, span } , _, generics, body) => {
0 commit comments