@@ -1364,6 +1364,48 @@ macro_rules! make_ast_visitor {
1364
1364
}
1365
1365
}
1366
1366
1367
+ impl WalkItemKind for ForeignItemKind {
1368
+ fn walk<$( $lt, ) ? V : $trait$( <$lt>) ?>(
1369
+ & $( $lt) ? $( $mut) ? self ,
1370
+ id: NodeId ,
1371
+ span: Span ,
1372
+ vis: ref_t!( Visibility ) ,
1373
+ ident: ref_t!( Ident ) ,
1374
+ visitor: & mut V ,
1375
+ ) -> result!( V ) {
1376
+ match self {
1377
+ ForeignItemKind :: Static ( box StaticItem { safety, ty, mutability: _, expr } ) => {
1378
+ visit_safety!( visitor, safety) ;
1379
+ try_v!( visitor. visit_ty( ty) ) ;
1380
+ visit_o!( expr, |expr| visitor. visit_expr( expr) ) ;
1381
+ }
1382
+ ForeignItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
1383
+ visit_defaultness!( visitor, defaultness) ;
1384
+ let kind =
1385
+ FnKind :: Fn ( FnCtxt :: Foreign , * ident, sig, vis, generics, as_deref!( body) ) ;
1386
+ visitor. visit_fn( kind, span, id) ;
1387
+ }
1388
+ ForeignItemKind :: TyAlias ( box TyAlias {
1389
+ defaultness,
1390
+ generics,
1391
+ where_clauses,
1392
+ bounds,
1393
+ ty,
1394
+ } ) => {
1395
+ visit_defaultness!( visitor, defaultness) ;
1396
+ try_v!( visitor. visit_generics( generics) ) ;
1397
+ visit_list!( visitor, visit_param_bound, bounds; BoundKind :: Bound ) ;
1398
+ visit_o!( ty, |ty| visitor. visit_ty( ty) ) ;
1399
+ walk_ty_alias_where_clauses!( visitor, where_clauses) ;
1400
+ }
1401
+ ForeignItemKind :: MacCall ( mac) => {
1402
+ try_v!( visitor. visit_mac_call( mac) ) ;
1403
+ }
1404
+ }
1405
+ return_result!( V )
1406
+ }
1407
+ }
1408
+
1367
1409
make_walk_flat_map!{ Arm , walk_flat_map_arm, visit_arm}
1368
1410
make_walk_flat_map!{ Attribute , walk_flat_map_attribute, visit_attribute}
1369
1411
make_walk_flat_map!{ ExprField , walk_flat_map_expr_field, visit_expr_field}
@@ -1516,44 +1558,6 @@ pub mod visit {
1516
1558
V :: Result :: output ( )
1517
1559
}
1518
1560
1519
- impl WalkItemKind for ForeignItemKind {
1520
- fn walk < ' a , V : Visitor < ' a > > (
1521
- & ' a self ,
1522
- id : NodeId ,
1523
- span : Span ,
1524
- vis : & ' a Visibility ,
1525
- ident : & ' a Ident ,
1526
- visitor : & mut V ,
1527
- ) -> V :: Result {
1528
- match self {
1529
- ForeignItemKind :: Static ( box StaticItem { ty, mutability : _, expr, safety : _ } ) => {
1530
- try_visit ! ( visitor. visit_ty( ty) ) ;
1531
- visit_opt ! ( visitor, visit_expr, expr) ;
1532
- }
1533
- ForeignItemKind :: Fn ( box Fn { defaultness : _, generics, sig, body } ) => {
1534
- let kind =
1535
- FnKind :: Fn ( FnCtxt :: Foreign , * ident, sig, vis, generics, body. as_deref ( ) ) ;
1536
- try_visit ! ( visitor. visit_fn( kind, span, id) ) ;
1537
- }
1538
- ForeignItemKind :: TyAlias ( box TyAlias {
1539
- generics,
1540
- bounds,
1541
- ty,
1542
- defaultness : _,
1543
- where_clauses : _,
1544
- } ) => {
1545
- try_visit ! ( visitor. visit_generics( generics) ) ;
1546
- walk_list ! ( visitor, visit_param_bound, bounds, BoundKind :: Bound ) ;
1547
- visit_opt ! ( visitor, visit_ty, ty) ;
1548
- }
1549
- ForeignItemKind :: MacCall ( mac) => {
1550
- try_visit ! ( visitor. visit_mac_call( mac) ) ;
1551
- }
1552
- }
1553
- V :: Result :: output ( )
1554
- }
1555
- }
1556
-
1557
1561
pub fn walk_generic_param < ' a , V : Visitor < ' a > > (
1558
1562
visitor : & mut V ,
1559
1563
param : & ' a GenericParam ,
@@ -2456,45 +2460,6 @@ pub mod mut_visit {
2456
2460
smallvec ! [ item]
2457
2461
}
2458
2462
2459
-
2460
- impl WalkItemKind for ForeignItemKind {
2461
- fn walk < V : MutVisitor > (
2462
- & mut self ,
2463
- id : NodeId ,
2464
- span : Span ,
2465
- vis : & mut Visibility ,
2466
- ident : & mut Ident ,
2467
- visitor : & mut V
2468
- ) {
2469
- match self {
2470
- ForeignItemKind :: Static ( box StaticItem { ty, mutability : _, expr, safety : _ } ) => {
2471
- visitor. visit_ty ( ty) ;
2472
- visit_opt ( expr, |expr| visitor. visit_expr ( expr) ) ;
2473
- }
2474
- ForeignItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
2475
- visit_defaultness ( visitor, defaultness) ;
2476
- let kind =
2477
- FnKind :: Fn ( FnCtxt :: Foreign , * ident, sig, vis, generics, body. as_deref_mut ( ) ) ;
2478
- visitor. visit_fn ( kind, span, id) ;
2479
- }
2480
- ForeignItemKind :: TyAlias ( box TyAlias {
2481
- defaultness,
2482
- generics,
2483
- where_clauses,
2484
- bounds,
2485
- ty,
2486
- } ) => {
2487
- visit_defaultness ( visitor, defaultness) ;
2488
- visitor. visit_generics ( generics) ;
2489
- visit_bounds ( visitor, bounds, BoundKind :: Bound ) ;
2490
- visit_opt ( ty, |ty| visitor. visit_ty ( ty) ) ;
2491
- walk_ty_alias_where_clauses ( visitor, where_clauses) ;
2492
- }
2493
- ForeignItemKind :: MacCall ( mac) => visitor. visit_mac_call ( mac) ,
2494
- }
2495
- }
2496
- }
2497
-
2498
2463
pub fn walk_expr < T : MutVisitor > (
2499
2464
vis : & mut T ,
2500
2465
Expr { kind, id, span, attrs, tokens } : & mut Expr ,
0 commit comments