@@ -1797,7 +1797,14 @@ pub mod mut_visit {
1797
1797
}
1798
1798
1799
1799
pub trait WalkItemKind {
1800
- fn walk ( & mut self , span : Span , id : NodeId , visitor : & mut impl MutVisitor ) ;
1800
+ fn walk (
1801
+ & mut self ,
1802
+ id : NodeId ,
1803
+ span : Span ,
1804
+ vis : & mut Visibility ,
1805
+ ident : & mut Ident ,
1806
+ visitor : & mut impl MutVisitor
1807
+ ) ;
1801
1808
}
1802
1809
1803
1810
make_ast_visitor ! ( MutVisitor , mut ) ;
@@ -2287,69 +2294,67 @@ pub mod mut_visit {
2287
2294
}
2288
2295
}
2289
2296
2290
- pub fn walk_item_kind (
2291
- kind : & mut impl WalkItemKind ,
2292
- span : Span ,
2293
- id : NodeId ,
2294
- vis : & mut impl MutVisitor ,
2295
- ) {
2296
- kind. walk ( span, id, vis)
2297
- }
2298
-
2299
2297
impl WalkItemKind for ItemKind {
2300
- fn walk ( & mut self , span : Span , id : NodeId , vis : & mut impl MutVisitor ) {
2298
+ fn walk (
2299
+ & mut self ,
2300
+ id : NodeId ,
2301
+ span : Span ,
2302
+ _vis : & mut Visibility ,
2303
+ _ident : & mut Ident ,
2304
+ visitor : & mut impl MutVisitor
2305
+ ) {
2301
2306
match self {
2302
2307
ItemKind :: ExternCrate ( _orig_name) => { }
2303
- ItemKind :: Use ( use_tree) => vis . visit_use_tree ( use_tree, id, false ) ,
2308
+ ItemKind :: Use ( use_tree) => visitor . visit_use_tree ( use_tree, id, false ) ,
2304
2309
ItemKind :: Static ( box StaticItem { ty, safety : _, mutability : _, expr } ) => {
2305
- vis . visit_ty ( ty) ;
2306
- visit_opt ( expr, |expr| vis . visit_expr ( expr) ) ;
2310
+ visitor . visit_ty ( ty) ;
2311
+ visit_opt ( expr, |expr| visitor . visit_expr ( expr) ) ;
2307
2312
}
2308
2313
ItemKind :: Const ( item) => {
2309
- visit_const_item ( item, vis ) ;
2314
+ visit_const_item ( item, visitor ) ;
2310
2315
}
2311
2316
ItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
2312
- visit_defaultness ( vis , defaultness) ;
2313
- vis . visit_fn ( FnKind :: Fn ( sig, generics, body) , span, id) ;
2317
+ visit_defaultness ( visitor , defaultness) ;
2318
+ visitor . visit_fn ( FnKind :: Fn ( sig, generics, body) , span, id) ;
2314
2319
}
2315
2320
ItemKind :: Mod ( safety, mod_kind) => {
2316
- visit_safety ( vis , safety) ;
2321
+ visit_safety ( visitor , safety) ;
2317
2322
match mod_kind {
2318
2323
ModKind :: Loaded (
2319
2324
items,
2320
2325
_inline,
2321
2326
ModSpans { inner_span, inject_use_span } ,
2322
2327
) => {
2323
- items. flat_map_in_place ( |item| vis . flat_map_item ( item) ) ;
2324
- vis . visit_span ( inner_span) ;
2325
- vis . visit_span ( inject_use_span) ;
2328
+ items. flat_map_in_place ( |item| visitor . flat_map_item ( item) ) ;
2329
+ visitor . visit_span ( inner_span) ;
2330
+ visitor . visit_span ( inject_use_span) ;
2326
2331
}
2327
2332
ModKind :: Unloaded => { }
2328
2333
}
2329
2334
}
2330
- ItemKind :: ForeignMod ( nm) => vis . visit_foreign_mod ( nm) ,
2331
- ItemKind :: GlobalAsm ( asm) => vis . visit_inline_asm ( asm) ,
2335
+ ItemKind :: ForeignMod ( nm) => visitor . visit_foreign_mod ( nm) ,
2336
+ ItemKind :: GlobalAsm ( asm) => visitor . visit_inline_asm ( asm) ,
2332
2337
ItemKind :: TyAlias ( box TyAlias {
2333
2338
defaultness,
2334
2339
generics,
2335
2340
where_clauses,
2336
2341
bounds,
2337
2342
ty,
2338
2343
} ) => {
2339
- visit_defaultness ( vis , defaultness) ;
2340
- vis . visit_generics ( generics) ;
2341
- visit_bounds ( vis , bounds, BoundKind :: Bound ) ;
2342
- visit_opt ( ty, |ty| vis . visit_ty ( ty) ) ;
2343
- walk_ty_alias_where_clauses ( vis , where_clauses) ;
2344
+ visit_defaultness ( visitor , defaultness) ;
2345
+ visitor . visit_generics ( generics) ;
2346
+ visit_bounds ( visitor , bounds, BoundKind :: Bound ) ;
2347
+ visit_opt ( ty, |ty| visitor . visit_ty ( ty) ) ;
2348
+ walk_ty_alias_where_clauses ( visitor , where_clauses) ;
2344
2349
}
2345
2350
ItemKind :: Enum ( enum_def, generics) => {
2346
- vis . visit_generics ( generics) ;
2347
- vis . visit_enum_def ( enum_def) ;
2351
+ visitor . visit_generics ( generics) ;
2352
+ visitor . visit_enum_def ( enum_def) ;
2348
2353
}
2349
2354
ItemKind :: Struct ( variant_data, generics)
2350
2355
| ItemKind :: Union ( variant_data, generics) => {
2351
- vis . visit_generics ( generics) ;
2352
- vis . visit_variant_data ( variant_data) ;
2356
+ visitor . visit_generics ( generics) ;
2357
+ visitor . visit_variant_data ( variant_data) ;
2353
2358
}
2354
2359
ItemKind :: Impl ( box Impl {
2355
2360
defaultness,
@@ -2361,27 +2366,27 @@ pub mod mut_visit {
2361
2366
self_ty,
2362
2367
items,
2363
2368
} ) => {
2364
- visit_defaultness ( vis , defaultness) ;
2365
- visit_safety ( vis , safety) ;
2366
- vis . visit_generics ( generics) ;
2367
- visit_constness ( vis , constness) ;
2368
- visit_polarity ( vis , polarity) ;
2369
- visit_opt ( of_trait, |trait_ref| vis . visit_trait_ref ( trait_ref) ) ;
2370
- vis . visit_ty ( self_ty) ;
2371
- items. flat_map_in_place ( |item| vis . flat_map_assoc_item ( item, AssocCtxt :: Impl ) ) ;
2369
+ visit_defaultness ( visitor , defaultness) ;
2370
+ visit_safety ( visitor , safety) ;
2371
+ visitor . visit_generics ( generics) ;
2372
+ visit_constness ( visitor , constness) ;
2373
+ visit_polarity ( visitor , polarity) ;
2374
+ visit_opt ( of_trait, |trait_ref| visitor . visit_trait_ref ( trait_ref) ) ;
2375
+ visitor . visit_ty ( self_ty) ;
2376
+ items. flat_map_in_place ( |item| visitor . flat_map_assoc_item ( item, AssocCtxt :: Impl ) ) ;
2372
2377
}
2373
2378
ItemKind :: Trait ( box Trait { safety, is_auto : _, generics, bounds, items } ) => {
2374
- visit_safety ( vis , safety) ;
2375
- vis . visit_generics ( generics) ;
2376
- visit_bounds ( vis , bounds, BoundKind :: Bound ) ;
2377
- items. flat_map_in_place ( |item| vis . flat_map_assoc_item ( item, AssocCtxt :: Trait ) ) ;
2379
+ visit_safety ( visitor , safety) ;
2380
+ visitor . visit_generics ( generics) ;
2381
+ visit_bounds ( visitor , bounds, BoundKind :: Bound ) ;
2382
+ items. flat_map_in_place ( |item| visitor . flat_map_assoc_item ( item, AssocCtxt :: Trait ) ) ;
2378
2383
}
2379
2384
ItemKind :: TraitAlias ( generics, bounds) => {
2380
- vis . visit_generics ( generics) ;
2381
- visit_bounds ( vis , bounds, BoundKind :: Bound ) ;
2385
+ visitor . visit_generics ( generics) ;
2386
+ visit_bounds ( visitor , bounds, BoundKind :: Bound ) ;
2382
2387
}
2383
- ItemKind :: MacCall ( m) => vis . visit_mac_call ( m) ,
2384
- ItemKind :: MacroDef ( def) => vis . visit_macro_def ( def) ,
2388
+ ItemKind :: MacCall ( m) => visitor . visit_mac_call ( m) ,
2389
+ ItemKind :: MacroDef ( def) => visitor . visit_macro_def ( def) ,
2385
2390
ItemKind :: Delegation ( box Delegation {
2386
2391
id,
2387
2392
qself,
@@ -2390,37 +2395,44 @@ pub mod mut_visit {
2390
2395
body,
2391
2396
from_glob : _,
2392
2397
} ) => {
2393
- vis . visit_id ( id) ;
2394
- vis . visit_qself ( qself) ;
2395
- vis . visit_path ( path, * id) ;
2398
+ visitor . visit_id ( id) ;
2399
+ visitor . visit_qself ( qself) ;
2400
+ visitor . visit_path ( path, * id) ;
2396
2401
if let Some ( rename) = rename {
2397
- vis . visit_ident ( rename) ;
2402
+ visitor . visit_ident ( rename) ;
2398
2403
}
2399
2404
if let Some ( body) = body {
2400
- vis . visit_block ( body) ;
2405
+ visitor . visit_block ( body) ;
2401
2406
}
2402
2407
}
2403
2408
ItemKind :: DelegationMac ( box DelegationMac { qself, prefix, suffixes, body } ) => {
2404
- vis . visit_qself ( qself) ;
2405
- vis . visit_path ( prefix, id) ;
2409
+ visitor . visit_qself ( qself) ;
2410
+ visitor . visit_path ( prefix, id) ;
2406
2411
if let Some ( suffixes) = suffixes {
2407
2412
for ( ident, rename) in suffixes {
2408
- vis . visit_ident ( ident) ;
2413
+ visitor . visit_ident ( ident) ;
2409
2414
if let Some ( rename) = rename {
2410
- vis . visit_ident ( rename) ;
2415
+ visitor . visit_ident ( rename) ;
2411
2416
}
2412
2417
}
2413
2418
}
2414
2419
if let Some ( body) = body {
2415
- vis . visit_block ( body) ;
2420
+ visitor . visit_block ( body) ;
2416
2421
}
2417
2422
}
2418
2423
}
2419
2424
}
2420
2425
}
2421
2426
2422
2427
impl WalkItemKind for AssocItemKind {
2423
- fn walk ( & mut self , span : Span , id : NodeId , visitor : & mut impl MutVisitor ) {
2428
+ fn walk (
2429
+ & mut self ,
2430
+ id : NodeId ,
2431
+ span : Span ,
2432
+ _vis : & mut Visibility ,
2433
+ _ident : & mut Ident ,
2434
+ visitor : & mut impl MutVisitor
2435
+ ) {
2424
2436
match self {
2425
2437
AssocItemKind :: Const ( item) => {
2426
2438
visit_const_item ( item, visitor) ;
@@ -2512,14 +2524,20 @@ pub mod mut_visit {
2512
2524
visit_attrs ( visitor, attrs) ;
2513
2525
visitor. visit_vis ( vis) ;
2514
2526
visitor. visit_ident ( ident) ;
2515
- kind. walk ( * span , * id , visitor) ;
2527
+ kind. walk ( * id , * span , vis , ident , visitor) ;
2516
2528
visit_lazy_tts ( visitor, tokens) ;
2517
2529
visitor. visit_span ( span) ;
2518
2530
smallvec ! [ item]
2519
2531
}
2520
2532
2521
2533
impl WalkItemKind for ForeignItemKind {
2522
- fn walk ( & mut self , span : Span , id : NodeId , visitor : & mut impl MutVisitor ) {
2534
+ fn walk (
2535
+ & mut self ,
2536
+ id : NodeId ,
2537
+ span : Span ,
2538
+ _vis : & mut Visibility ,
2539
+ _ident : & mut Ident ,
2540
+ visitor : & mut impl MutVisitor ) {
2523
2541
match self {
2524
2542
ForeignItemKind :: Static ( box StaticItem { ty, mutability : _, expr, safety : _ } ) => {
2525
2543
visitor. visit_ty ( ty) ;
0 commit comments