@@ -1439,6 +1439,48 @@ macro_rules! make_ast_visitor {
1439
1439
}
1440
1440
}
1441
1441
1442
+ impl WalkItemKind for ForeignItemKind {
1443
+ fn walk<$( $lt, ) ? V : $trait$( <$lt>) ?>(
1444
+ & $( $lt) ? $( $mut) ? self ,
1445
+ id: NodeId ,
1446
+ span: Span ,
1447
+ vis: ref_t!( Visibility ) ,
1448
+ ident: ref_t!( Ident ) ,
1449
+ visitor: & mut V ,
1450
+ ) -> result!( V ) {
1451
+ match self {
1452
+ ForeignItemKind :: Static ( box StaticItem { safety, ty, mutability: _, expr } ) => {
1453
+ try_v!( visitor. visit_safety( safety) ) ;
1454
+ try_v!( visitor. visit_ty( ty) ) ;
1455
+ visit_o!( expr, |expr| visitor. visit_expr( expr) ) ;
1456
+ }
1457
+ ForeignItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
1458
+ try_v!( visitor. visit_defaultness( defaultness) ) ;
1459
+ let kind =
1460
+ FnKind :: Fn ( FnCtxt :: Foreign , ident, sig, vis, generics, body) ;
1461
+ visitor. visit_fn( kind, span, id) ;
1462
+ }
1463
+ ForeignItemKind :: TyAlias ( box TyAlias {
1464
+ defaultness,
1465
+ generics,
1466
+ where_clauses,
1467
+ bounds,
1468
+ ty,
1469
+ } ) => {
1470
+ try_v!( visitor. visit_defaultness( defaultness) ) ;
1471
+ try_v!( visitor. visit_generics( generics) ) ;
1472
+ visit_list!( visitor, visit_param_bound, bounds; BoundKind :: Bound ) ;
1473
+ visit_o!( ty, |ty| visitor. visit_ty( ty) ) ;
1474
+ try_v!( visitor. visit_ty_alias_where_clauses( where_clauses) ) ;
1475
+ }
1476
+ ForeignItemKind :: MacCall ( mac) => {
1477
+ try_v!( visitor. visit_mac_call( mac) ) ;
1478
+ }
1479
+ }
1480
+ return_result!( V )
1481
+ }
1482
+ }
1483
+
1442
1484
pub fn walk_item<$( $lt, ) ? V : $trait$( <$lt>) ?>(
1443
1485
visitor: & mut V ,
1444
1486
item: ref_t!( Item <impl WalkItemKind >) ,
@@ -1584,46 +1626,6 @@ pub mod visit {
1584
1626
1585
1627
make_ast_visitor ! ( Visitor <' ast>) ;
1586
1628
1587
- impl WalkItemKind for ForeignItemKind {
1588
- fn walk < ' a , V : Visitor < ' a > > (
1589
- & ' a self ,
1590
- id : NodeId ,
1591
- span : Span ,
1592
- vis : & ' a Visibility ,
1593
- ident : & ' a Ident ,
1594
- visitor : & mut V ,
1595
- ) -> V :: Result {
1596
- match self {
1597
- ForeignItemKind :: Static ( box StaticItem { ty, mutability : _, expr, safety : _ } ) => {
1598
- try_visit ! ( visitor. visit_ty( ty) ) ;
1599
- visit_opt ! ( visitor, visit_expr, expr) ;
1600
- }
1601
- ForeignItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
1602
- try_visit ! ( visitor. visit_defaultness( defaultness) ) ;
1603
- let kind = FnKind :: Fn ( FnCtxt :: Foreign , ident, sig, vis, generics, body) ;
1604
- try_visit ! ( visitor. visit_fn( kind, span, id) ) ;
1605
- }
1606
- ForeignItemKind :: TyAlias ( box TyAlias {
1607
- generics,
1608
- bounds,
1609
- ty,
1610
- defaultness,
1611
- where_clauses,
1612
- } ) => {
1613
- try_visit ! ( visitor. visit_defaultness( defaultness) ) ;
1614
- try_visit ! ( visitor. visit_generics( generics) ) ;
1615
- walk_list ! ( visitor, visit_param_bound, bounds, BoundKind :: Bound ) ;
1616
- visit_opt ! ( visitor, visit_ty, ty) ;
1617
- try_visit ! ( visitor. visit_ty_alias_where_clauses( where_clauses) ) ;
1618
- }
1619
- ForeignItemKind :: MacCall ( mac) => {
1620
- try_visit ! ( visitor. visit_mac_call( mac) ) ;
1621
- }
1622
- }
1623
- V :: Result :: output ( )
1624
- }
1625
- }
1626
-
1627
1629
pub fn walk_assoc_item < ' a , V : Visitor < ' a > > (
1628
1630
visitor : & mut V ,
1629
1631
item : & ' a AssocItem ,
@@ -2298,46 +2300,6 @@ pub mod mut_visit {
2298
2300
smallvec ! [ item]
2299
2301
}
2300
2302
2301
- impl WalkItemKind for ForeignItemKind {
2302
- fn walk < V : MutVisitor > (
2303
- & mut self ,
2304
- id : NodeId ,
2305
- span : Span ,
2306
- vis : & mut Visibility ,
2307
- ident : & mut Ident ,
2308
- visitor : & mut V ,
2309
- ) {
2310
- match self {
2311
- ForeignItemKind :: Static ( box StaticItem { ty, mutability : _, expr, safety : _ } ) => {
2312
- visitor. visit_ty ( ty) ;
2313
- visit_opt ( expr, |expr| visitor. visit_expr ( expr) ) ;
2314
- }
2315
- ForeignItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
2316
- visitor. visit_defaultness ( defaultness) ;
2317
- visitor. visit_fn (
2318
- FnKind :: Fn ( FnCtxt :: Foreign , ident, sig, vis, generics, body) ,
2319
- span,
2320
- id,
2321
- ) ;
2322
- }
2323
- ForeignItemKind :: TyAlias ( box TyAlias {
2324
- defaultness,
2325
- generics,
2326
- where_clauses,
2327
- bounds,
2328
- ty,
2329
- } ) => {
2330
- visitor. visit_defaultness ( defaultness) ;
2331
- visitor. visit_generics ( generics) ;
2332
- visit_bounds ( visitor, bounds, BoundKind :: Bound ) ;
2333
- visit_opt ( ty, |ty| visitor. visit_ty ( ty) ) ;
2334
- visitor. visit_ty_alias_where_clauses ( where_clauses) ;
2335
- }
2336
- ForeignItemKind :: MacCall ( mac) => visitor. visit_mac_call ( mac) ,
2337
- }
2338
- }
2339
- }
2340
-
2341
2303
pub fn walk_expr < T : MutVisitor > (
2342
2304
vis : & mut T ,
2343
2305
Expr { kind, id, span, attrs, tokens } : & mut Expr ,
0 commit comments