@@ -400,6 +400,33 @@ macro_rules! make_ast_visitor {
400
400
return_result!( V )
401
401
}
402
402
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
+
403
430
pub fn walk_attr_args<$( $lt, ) ? V : $trait$( <$lt>) ?>(
404
431
vis: & mut V ,
405
432
args: ref_t!( AttrArgs )
@@ -1358,25 +1385,6 @@ pub mod visit {
1358
1385
walk_assoc_item ( visitor, item, AssocCtxt :: Trait /*ignored*/ )
1359
1386
}
1360
1387
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
-
1380
1388
impl WalkItemKind for ForeignItemKind {
1381
1389
fn walk < ' a , V : Visitor < ' a > > (
1382
1390
& ' a self ,
@@ -1833,27 +1841,6 @@ pub mod mut_visit {
1833
1841
smallvec ! [ arm]
1834
1842
}
1835
1843
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
-
1857
1844
fn walk_foreign_mod < T : MutVisitor > ( vis : & mut T , foreign_mod : & mut ForeignMod ) {
1858
1845
let ForeignMod { safety, abi : _, items } = foreign_mod;
1859
1846
vis. visit_safety ( safety) ;
0 commit comments