@@ -340,6 +340,7 @@ macro_rules! make_ast_visitor {
340340 make_visit!{ GenericParam ; visit_generic_param, walk_generic_param}
341341 make_visit!{ Generics ; visit_generics, walk_generics}
342342 make_visit!{ Ident ; visit_ident, walk_ident}
343+ make_visit!{ ImplPolarity ; visit_impl_polarity, walk_impl_polarity}
343344 make_visit!{ InlineAsm ; visit_inline_asm, walk_inline_asm}
344345 make_visit!{ InlineAsmSym ; visit_inline_asm_sym, walk_inline_asm_sym}
345346 make_visit!{ Label ; visit_label, walk_label}
@@ -769,6 +770,19 @@ macro_rules! make_ast_visitor {
769770 return_result!( V )
770771 }
771772
773+ pub fn walk_impl_polarity<$( $lt, ) ? V : $trait$( <$lt>) ?>(
774+ vis: & mut V ,
775+ polarity: ref_t!( ImplPolarity )
776+ ) -> result!( V ) {
777+ match polarity {
778+ ImplPolarity :: Positive => { }
779+ ImplPolarity :: Negative ( span) => {
780+ try_v!( visit_span!( vis, span) ) ;
781+ }
782+ }
783+ return_result!( V )
784+ }
785+
772786 pub fn walk_inline_asm<$( $lt, ) ? V : $trait$( <$lt>) ?>(
773787 vis: & mut V ,
774788 asm: ref_t!( InlineAsm )
@@ -1477,14 +1491,15 @@ pub mod visit {
14771491 safety,
14781492 generics,
14791493 constness,
1480- polarity : _ ,
1494+ polarity,
14811495 of_trait,
14821496 self_ty,
14831497 items,
14841498 } ) => {
14851499 try_visit ! ( visitor. visit_safety( safety) ) ;
14861500 try_visit ! ( visitor. visit_generics( generics) ) ;
14871501 try_visit ! ( visitor. visit_constness( constness) ) ;
1502+ try_visit ! ( visitor. visit_impl_polarity( polarity) ) ;
14881503 visit_opt ! ( visitor, visit_trait_ref, of_trait) ;
14891504 try_visit ! ( visitor. visit_ty( self_ty) ) ;
14901505 walk_list ! ( visitor, visit_assoc_item, items, AssocCtxt :: Impl ) ;
@@ -2123,14 +2138,6 @@ pub mod mut_visit {
21232138 }
21242139 }
21252140
2126- // No `noop_` prefix because there isn't a corresponding method in `MutVisitor`.
2127- fn visit_polarity < T : MutVisitor > ( vis : & mut T , polarity : & mut ImplPolarity ) {
2128- match polarity {
2129- ImplPolarity :: Positive => { }
2130- ImplPolarity :: Negative ( span) => vis. visit_span ( span) ,
2131- }
2132- }
2133-
21342141 pub fn walk_flat_map_generic_param < T : MutVisitor > (
21352142 vis : & mut T ,
21362143 mut param : GenericParam ,
@@ -2239,7 +2246,7 @@ pub mod mut_visit {
22392246 visitor. visit_safety ( safety) ;
22402247 visitor. visit_generics ( generics) ;
22412248 visitor. visit_constness ( constness) ;
2242- visit_polarity ( visitor, polarity) ;
2249+ visitor. visit_impl_polarity ( polarity) ;
22432250 visit_opt ( of_trait, |trait_ref| visitor. visit_trait_ref ( trait_ref) ) ;
22442251 visitor. visit_ty ( self_ty) ;
22452252 items. flat_map_in_place ( |item| {
0 commit comments