@@ -1164,7 +1164,6 @@ pub mod visit {
1164
1164
fn walk < ' a , V : Visitor < ' a > > (
1165
1165
& ' a self ,
1166
1166
item : & ' a Item < Self > ,
1167
- ctxt : AssocCtxt ,
1168
1167
visitor : & mut V ,
1169
1168
) -> V :: Result ;
1170
1169
}
@@ -1175,7 +1174,6 @@ pub mod visit {
1175
1174
fn walk < ' a , V : Visitor < ' a > > (
1176
1175
& ' a self ,
1177
1176
item : & ' a Item < Self > ,
1178
- _ctxt : AssocCtxt ,
1179
1177
visitor : & mut V ,
1180
1178
) -> V :: Result {
1181
1179
let Item { id, span, vis, ident, .. } = item;
@@ -1287,7 +1285,12 @@ pub mod visit {
1287
1285
visitor : & mut V ,
1288
1286
item : & ' a Item < impl WalkItemKind > ,
1289
1287
) -> V :: Result {
1290
- walk_assoc_item ( visitor, item, AssocCtxt :: Trait /*ignored*/ )
1288
+ let & Item { id : _, span : _, ident, ref vis, ref attrs, ref kind, tokens : _ } = item;
1289
+ walk_list ! ( visitor, visit_attribute, attrs) ;
1290
+ try_visit ! ( visitor. visit_vis( vis) ) ;
1291
+ try_visit ! ( visitor. visit_ident( ident) ) ;
1292
+ try_visit ! ( kind. walk( item, visitor) ) ;
1293
+ V :: Result :: output ( )
1291
1294
}
1292
1295
1293
1296
pub fn walk_ty < ' a , V : Visitor < ' a > > ( visitor : & mut V , typ : & ' a Ty ) -> V :: Result {
@@ -1361,7 +1364,6 @@ pub mod visit {
1361
1364
fn walk < ' a , V : Visitor < ' a > > (
1362
1365
& ' a self ,
1363
1366
item : & ' a Item < Self > ,
1364
- _ctxt : AssocCtxt ,
1365
1367
visitor : & mut V ,
1366
1368
) -> V :: Result {
1367
1369
let & Item { id, span, ident, ref vis, .. } = item;
@@ -1459,85 +1461,72 @@ pub mod visit {
1459
1461
V :: Result :: output ( )
1460
1462
}
1461
1463
1462
- impl WalkItemKind for AssocItemKind {
1463
- fn walk < ' a , V : Visitor < ' a > > (
1464
- & ' a self ,
1465
- item : & ' a Item < Self > ,
1466
- ctxt : AssocCtxt ,
1467
- visitor : & mut V ,
1468
- ) -> V :: Result {
1469
- let & Item { id, span, ident, ref vis, .. } = item;
1470
- match self {
1471
- AssocItemKind :: Const ( box ConstItem { defaultness : _, generics, ty, expr } ) => {
1472
- try_visit ! ( visitor. visit_generics( generics) ) ;
1473
- try_visit ! ( visitor. visit_ty( ty) ) ;
1474
- visit_opt ! ( visitor, visit_expr, expr) ;
1475
- }
1476
- AssocItemKind :: Fn ( box Fn { defaultness : _, generics, sig, body } ) => {
1477
- let kind =
1478
- FnKind :: Fn ( FnCtxt :: Assoc ( ctxt) , ident, sig, vis, generics, body. as_deref ( ) ) ;
1479
- try_visit ! ( visitor. visit_fn( kind, span, id) ) ;
1480
- }
1481
- AssocItemKind :: Type ( box TyAlias {
1482
- generics,
1483
- bounds,
1484
- ty,
1485
- defaultness : _,
1486
- where_clauses : _,
1487
- } ) => {
1488
- try_visit ! ( visitor. visit_generics( generics) ) ;
1489
- walk_list ! ( visitor, visit_param_bound, bounds, BoundKind :: Bound ) ;
1490
- visit_opt ! ( visitor, visit_ty, ty) ;
1491
- }
1492
- AssocItemKind :: MacCall ( mac) => {
1493
- try_visit ! ( visitor. visit_mac_call( mac) ) ;
1494
- }
1495
- AssocItemKind :: Delegation ( box Delegation {
1496
- id,
1497
- qself,
1498
- path,
1499
- rename,
1500
- body,
1501
- from_glob : _,
1502
- } ) => {
1503
- try_visit ! ( visitor. visit_qself( qself) ) ;
1504
- try_visit ! ( visitor. visit_path( path, * id) ) ;
1505
- visit_opt ! ( visitor, visit_ident, * rename) ;
1506
- visit_opt ! ( visitor, visit_block, body) ;
1507
- }
1508
- AssocItemKind :: DelegationMac ( box DelegationMac {
1509
- qself,
1510
- prefix,
1511
- suffixes,
1512
- body,
1513
- } ) => {
1514
- try_visit ! ( visitor. visit_qself( qself) ) ;
1515
- try_visit ! ( visitor. visit_path( prefix, id) ) ;
1516
- if let Some ( suffixes) = suffixes {
1517
- for ( ident, rename) in suffixes {
1518
- visitor. visit_ident ( * ident) ;
1519
- if let Some ( rename) = rename {
1520
- visitor. visit_ident ( * rename) ;
1521
- }
1522
- }
1523
- }
1524
- visit_opt ! ( visitor, visit_block, body) ;
1525
- }
1526
- }
1527
- V :: Result :: output ( )
1528
- }
1529
- }
1530
-
1531
1464
pub fn walk_assoc_item < ' a , V : Visitor < ' a > > (
1532
1465
visitor : & mut V ,
1533
- item : & ' a Item < impl WalkItemKind > ,
1466
+ item : & ' a Item < AssocItemKind > ,
1534
1467
ctxt : AssocCtxt ,
1535
1468
) -> V :: Result {
1536
- let & Item { id : _ , span : _ , ident, ref vis, ref attrs, ref kind, tokens : _ } = item;
1469
+ let & Item { id, span, ident, ref vis, ref attrs, ref kind, tokens : _ } = item;
1537
1470
walk_list ! ( visitor, visit_attribute, attrs) ;
1538
1471
try_visit ! ( visitor. visit_vis( vis) ) ;
1539
1472
try_visit ! ( visitor. visit_ident( ident) ) ;
1540
- try_visit ! ( kind. walk( item, ctxt, visitor) ) ;
1473
+ match kind {
1474
+ AssocItemKind :: Const ( box ConstItem { defaultness : _, generics, ty, expr } ) => {
1475
+ try_visit ! ( visitor. visit_generics( generics) ) ;
1476
+ try_visit ! ( visitor. visit_ty( ty) ) ;
1477
+ visit_opt ! ( visitor, visit_expr, expr) ;
1478
+ }
1479
+ AssocItemKind :: Fn ( box Fn { defaultness : _, generics, sig, body } ) => {
1480
+ let kind =
1481
+ FnKind :: Fn ( FnCtxt :: Assoc ( ctxt) , ident, sig, vis, generics, body. as_deref ( ) ) ;
1482
+ try_visit ! ( visitor. visit_fn( kind, span, id) ) ;
1483
+ }
1484
+ AssocItemKind :: Type ( box TyAlias {
1485
+ generics,
1486
+ bounds,
1487
+ ty,
1488
+ defaultness : _,
1489
+ where_clauses : _,
1490
+ } ) => {
1491
+ try_visit ! ( visitor. visit_generics( generics) ) ;
1492
+ walk_list ! ( visitor, visit_param_bound, bounds, BoundKind :: Bound ) ;
1493
+ visit_opt ! ( visitor, visit_ty, ty) ;
1494
+ }
1495
+ AssocItemKind :: MacCall ( mac) => {
1496
+ try_visit ! ( visitor. visit_mac_call( mac) ) ;
1497
+ }
1498
+ AssocItemKind :: Delegation ( box Delegation {
1499
+ id,
1500
+ qself,
1501
+ path,
1502
+ rename,
1503
+ body,
1504
+ from_glob : _,
1505
+ } ) => {
1506
+ try_visit ! ( visitor. visit_qself( qself) ) ;
1507
+ try_visit ! ( visitor. visit_path( path, * id) ) ;
1508
+ visit_opt ! ( visitor, visit_ident, * rename) ;
1509
+ visit_opt ! ( visitor, visit_block, body) ;
1510
+ }
1511
+ AssocItemKind :: DelegationMac ( box DelegationMac {
1512
+ qself,
1513
+ prefix,
1514
+ suffixes,
1515
+ body,
1516
+ } ) => {
1517
+ try_visit ! ( visitor. visit_qself( qself) ) ;
1518
+ try_visit ! ( visitor. visit_path( prefix, id) ) ;
1519
+ if let Some ( suffixes) = suffixes {
1520
+ for ( ident, rename) in suffixes {
1521
+ visitor. visit_ident ( * ident) ;
1522
+ if let Some ( rename) = rename {
1523
+ visitor. visit_ident ( * rename) ;
1524
+ }
1525
+ }
1526
+ }
1527
+ visit_opt ! ( visitor, visit_block, body) ;
1528
+ }
1529
+ }
1541
1530
V :: Result :: output ( )
1542
1531
}
1543
1532
0 commit comments