@@ -400,6 +400,33 @@ macro_rules! make_ast_visitor {
400400 return_result!( V )
401401 }
402402
403+ pub fn walk_assoc_item_constraint<$( $lt, ) ? V : $trait$( <$lt>) ?>(
404+ vis: & mut V ,
405+ constraint: ref_t!( AssocItemConstraint )
406+ ) -> result!( V ) {
407+ let AssocItemConstraint { id, ident, gen_args, kind, span } = constraint;
408+ try_v!( visit_id!( vis, id) ) ;
409+ try_v!( vis. visit_ident( ident) ) ;
410+ visit_o!( gen_args, |gen_args| vis. visit_generic_args( gen_args) ) ;
411+ match kind {
412+ AssocItemConstraintKind :: Equality { term } => {
413+ match term {
414+ Term :: Ty ( ty) => {
415+ try_v!( vis. visit_ty( ty) ) ;
416+ }
417+ Term :: Const ( c) => {
418+ try_v!( vis. visit_anon_const( c) ) ;
419+ }
420+ }
421+ }
422+ AssocItemConstraintKind :: Bound { bounds } => {
423+ visit_list!( vis, visit_param_bound, bounds; BoundKind :: Bound ) ;
424+ }
425+ }
426+ try_v!( visit_span!( vis, span) ) ;
427+ return_result!( V )
428+ }
429+
403430 pub fn walk_attr_args<$( $lt, ) ? V : $trait$( <$lt>) ?>(
404431 vis: & mut V ,
405432 args: ref_t!( AttrArgs )
@@ -1358,25 +1385,6 @@ pub mod visit {
13581385 walk_assoc_item ( visitor, item, AssocCtxt :: Trait /*ignored*/ )
13591386 }
13601387
1361- pub fn walk_assoc_item_constraint < ' a , V : Visitor < ' a > > (
1362- visitor : & mut V ,
1363- constraint : & ' a AssocItemConstraint ,
1364- ) -> V :: Result {
1365- let AssocItemConstraint { id : _, ident, gen_args, kind, span : _ } = constraint;
1366- try_visit ! ( visitor. visit_ident( ident) ) ;
1367- visit_opt ! ( visitor, visit_generic_args, gen_args) ;
1368- match kind {
1369- AssocItemConstraintKind :: Equality { term } => match term {
1370- Term :: Ty ( ty) => try_visit ! ( visitor. visit_ty( ty) ) ,
1371- Term :: Const ( c) => try_visit ! ( visitor. visit_anon_const( c) ) ,
1372- } ,
1373- AssocItemConstraintKind :: Bound { bounds } => {
1374- walk_list ! ( visitor, visit_param_bound, bounds, BoundKind :: Bound ) ;
1375- }
1376- }
1377- V :: Result :: output ( )
1378- }
1379-
13801388 impl WalkItemKind for ForeignItemKind {
13811389 fn walk < ' a , V : Visitor < ' a > > (
13821390 & ' a self ,
@@ -1833,27 +1841,6 @@ pub mod mut_visit {
18331841 smallvec ! [ arm]
18341842 }
18351843
1836- fn walk_assoc_item_constraint < T : MutVisitor > (
1837- vis : & mut T ,
1838- AssocItemConstraint { id, ident, gen_args, kind, span } : & mut AssocItemConstraint ,
1839- ) {
1840- vis. visit_id ( id) ;
1841- vis. visit_ident ( ident) ;
1842- if let Some ( gen_args) = gen_args {
1843- vis. visit_generic_args ( gen_args) ;
1844- }
1845- match kind {
1846- AssocItemConstraintKind :: Equality { term } => match term {
1847- Term :: Ty ( ty) => vis. visit_ty ( ty) ,
1848- Term :: Const ( c) => vis. visit_anon_const ( c) ,
1849- } ,
1850- AssocItemConstraintKind :: Bound { bounds } => {
1851- visit_bounds ( vis, bounds, BoundKind :: Bound )
1852- }
1853- }
1854- vis. visit_span ( span) ;
1855- }
1856-
18571844 fn walk_foreign_mod < T : MutVisitor > ( vis : & mut T , foreign_mod : & mut ForeignMod ) {
18581845 let ForeignMod { safety, abi : _, items } = foreign_mod;
18591846 vis. visit_safety ( safety) ;
0 commit comments