@@ -326,6 +326,7 @@ macro_rules! make_ast_visitor {
326
326
make_visit!{ Const ; visit_constness, walk_constness}
327
327
make_visit!{ CoroutineKind ; visit_coroutine_kind, walk_coroutine_kind}
328
328
make_visit!{ Crate ; visit_crate, walk_crate}
329
+ make_visit!{ Defaultness ; visit_defaultness, walk_defaultness}
329
330
make_visit!{ EnumDef ; visit_enum_def, walk_enum_def}
330
331
make_visit!{ ExprField ; visit_expr_field, walk_expr_field}
331
332
make_visit!{ FieldDef ; visit_field_def, walk_field_def}
@@ -575,6 +576,19 @@ macro_rules! make_ast_visitor {
575
576
return_result!( V )
576
577
}
577
578
579
+ pub fn walk_defaultness<$( $lt, ) ? V : $trait$( <$lt>) ?>(
580
+ vis: & mut V ,
581
+ defaultness: ref_t!( Defaultness )
582
+ ) -> result!( V ) {
583
+ match defaultness {
584
+ Defaultness :: Default ( span) => {
585
+ try_v!( visit_span!( vis, span) )
586
+ }
587
+ Defaultness :: Final => { }
588
+ }
589
+ return_result!( V )
590
+ }
591
+
578
592
pub fn walk_enum_def<$( $lt, ) ? V : $trait$( <$lt>) ?>(
579
593
vis: & mut V ,
580
594
enum_def: ref_t!( EnumDef )
@@ -1448,12 +1462,14 @@ pub mod visit {
1448
1462
try_visit ! ( visitor. visit_ty( ty) ) ;
1449
1463
visit_opt ! ( visitor, visit_expr, expr) ;
1450
1464
}
1451
- ItemKind :: Const ( box ConstItem { defaultness : _, generics, ty, expr } ) => {
1465
+ ItemKind :: Const ( box ConstItem { defaultness, generics, ty, expr } ) => {
1466
+ try_visit ! ( visitor. visit_defaultness( defaultness) ) ;
1452
1467
try_visit ! ( visitor. visit_generics( generics) ) ;
1453
1468
try_visit ! ( visitor. visit_ty( ty) ) ;
1454
1469
visit_opt ! ( visitor, visit_expr, expr) ;
1455
1470
}
1456
- ItemKind :: Fn ( box Fn { defaultness : _, generics, sig, body } ) => {
1471
+ ItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
1472
+ try_visit ! ( visitor. visit_defaultness( defaultness) ) ;
1457
1473
let kind = FnKind :: Fn ( FnCtxt :: Free , ident, sig, vis, generics, body) ;
1458
1474
try_visit ! ( visitor. visit_fn( kind, span, id) ) ;
1459
1475
}
@@ -1474,9 +1490,10 @@ pub mod visit {
1474
1490
generics,
1475
1491
bounds,
1476
1492
ty,
1477
- defaultness : _ ,
1493
+ defaultness,
1478
1494
where_clauses,
1479
1495
} ) => {
1496
+ try_visit ! ( visitor. visit_defaultness( defaultness) ) ;
1480
1497
try_visit ! ( visitor. visit_generics( generics) ) ;
1481
1498
walk_list ! ( visitor, visit_param_bound, bounds, BoundKind :: Bound ) ;
1482
1499
visit_opt ! ( visitor, visit_ty, ty) ;
@@ -1487,7 +1504,7 @@ pub mod visit {
1487
1504
try_visit ! ( visitor. visit_enum_def( enum_definition) ) ;
1488
1505
}
1489
1506
ItemKind :: Impl ( box Impl {
1490
- defaultness : _ ,
1507
+ defaultness,
1491
1508
safety,
1492
1509
generics,
1493
1510
constness,
@@ -1496,6 +1513,7 @@ pub mod visit {
1496
1513
self_ty,
1497
1514
items,
1498
1515
} ) => {
1516
+ try_visit ! ( visitor. visit_defaultness( defaultness) ) ;
1499
1517
try_visit ! ( visitor. visit_safety( safety) ) ;
1500
1518
try_visit ! ( visitor. visit_generics( generics) ) ;
1501
1519
try_visit ! ( visitor. visit_constness( constness) ) ;
@@ -1566,17 +1584,19 @@ pub mod visit {
1566
1584
try_visit ! ( visitor. visit_ty( ty) ) ;
1567
1585
visit_opt ! ( visitor, visit_expr, expr) ;
1568
1586
}
1569
- ForeignItemKind :: Fn ( box Fn { defaultness : _, generics, sig, body } ) => {
1587
+ ForeignItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
1588
+ try_visit ! ( visitor. visit_defaultness( defaultness) ) ;
1570
1589
let kind = FnKind :: Fn ( FnCtxt :: Foreign , ident, sig, vis, generics, body) ;
1571
1590
try_visit ! ( visitor. visit_fn( kind, span, id) ) ;
1572
1591
}
1573
1592
ForeignItemKind :: TyAlias ( box TyAlias {
1574
1593
generics,
1575
1594
bounds,
1576
1595
ty,
1577
- defaultness : _ ,
1596
+ defaultness,
1578
1597
where_clauses,
1579
1598
} ) => {
1599
+ try_visit ! ( visitor. visit_defaultness( defaultness) ) ;
1580
1600
try_visit ! ( visitor. visit_generics( generics) ) ;
1581
1601
walk_list ! ( visitor, visit_param_bound, bounds, BoundKind :: Bound ) ;
1582
1602
visit_opt ! ( visitor, visit_ty, ty) ;
@@ -1600,22 +1620,25 @@ pub mod visit {
1600
1620
try_visit ! ( visitor. visit_vis( vis) ) ;
1601
1621
try_visit ! ( visitor. visit_ident( ident) ) ;
1602
1622
match kind {
1603
- AssocItemKind :: Const ( box ConstItem { defaultness : _, generics, ty, expr } ) => {
1623
+ AssocItemKind :: Const ( box ConstItem { defaultness, generics, ty, expr } ) => {
1624
+ try_visit ! ( visitor. visit_defaultness( defaultness) ) ;
1604
1625
try_visit ! ( visitor. visit_generics( generics) ) ;
1605
1626
try_visit ! ( visitor. visit_ty( ty) ) ;
1606
1627
visit_opt ! ( visitor, visit_expr, expr) ;
1607
1628
}
1608
- AssocItemKind :: Fn ( box Fn { defaultness : _, generics, sig, body } ) => {
1629
+ AssocItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
1630
+ try_visit ! ( visitor. visit_defaultness( defaultness) ) ;
1609
1631
let kind = FnKind :: Fn ( FnCtxt :: Assoc ( ctxt) , ident, sig, vis, generics, body) ;
1610
1632
try_visit ! ( visitor. visit_fn( kind, * span, * id) ) ;
1611
1633
}
1612
1634
AssocItemKind :: Type ( box TyAlias {
1613
1635
generics,
1614
1636
bounds,
1615
1637
ty,
1616
- defaultness : _ ,
1638
+ defaultness,
1617
1639
where_clauses,
1618
1640
} ) => {
1641
+ try_visit ! ( visitor. visit_defaultness( defaultness) ) ;
1619
1642
try_visit ! ( visitor. visit_generics( generics) ) ;
1620
1643
walk_list ! ( visitor, visit_param_bound, bounds, BoundKind :: Bound ) ;
1621
1644
visit_opt ! ( visitor, visit_ty, ty) ;
@@ -2130,14 +2153,6 @@ pub mod mut_visit {
2130
2153
}
2131
2154
}
2132
2155
2133
- // No `noop_` prefix because there isn't a corresponding method in `MutVisitor`.
2134
- fn visit_defaultness < T : MutVisitor > ( vis : & mut T , defaultness : & mut Defaultness ) {
2135
- match defaultness {
2136
- Defaultness :: Default ( span) => vis. visit_span ( span) ,
2137
- Defaultness :: Final => { }
2138
- }
2139
- }
2140
-
2141
2156
pub fn walk_flat_map_generic_param < T : MutVisitor > (
2142
2157
vis : & mut T ,
2143
2158
mut param : GenericParam ,
@@ -2186,7 +2201,7 @@ pub mod mut_visit {
2186
2201
visit_const_item ( item, visitor) ;
2187
2202
}
2188
2203
ItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
2189
- visit_defaultness ( visitor , defaultness) ;
2204
+ visitor . visit_defaultness ( defaultness) ;
2190
2205
visitor. visit_fn (
2191
2206
FnKind :: Fn ( FnCtxt :: Free , ident, sig, vis, generics, body) ,
2192
2207
span,
@@ -2217,7 +2232,7 @@ pub mod mut_visit {
2217
2232
bounds,
2218
2233
ty,
2219
2234
} ) => {
2220
- visit_defaultness ( visitor , defaultness) ;
2235
+ visitor . visit_defaultness ( defaultness) ;
2221
2236
visitor. visit_generics ( generics) ;
2222
2237
visit_bounds ( visitor, bounds, BoundKind :: Bound ) ;
2223
2238
visit_opt ( ty, |ty| visitor. visit_ty ( ty) ) ;
@@ -2242,7 +2257,7 @@ pub mod mut_visit {
2242
2257
self_ty,
2243
2258
items,
2244
2259
} ) => {
2245
- visit_defaultness ( visitor , defaultness) ;
2260
+ visitor . visit_defaultness ( defaultness) ;
2246
2261
visitor. visit_safety ( safety) ;
2247
2262
visitor. visit_generics ( generics) ;
2248
2263
visitor. visit_constness ( constness) ;
@@ -2308,7 +2323,7 @@ pub mod mut_visit {
2308
2323
ConstItem { defaultness, generics, ty, expr } : & mut ConstItem ,
2309
2324
visitor : & mut T ,
2310
2325
) {
2311
- visit_defaultness ( visitor , defaultness) ;
2326
+ visitor . visit_defaultness ( defaultness) ;
2312
2327
visitor. visit_generics ( generics) ;
2313
2328
visitor. visit_ty ( ty) ;
2314
2329
visit_opt ( expr, |expr| visitor. visit_expr ( expr) ) ;
@@ -2347,7 +2362,7 @@ pub mod mut_visit {
2347
2362
visit_const_item ( item, visitor) ;
2348
2363
}
2349
2364
AssocItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
2350
- visit_defaultness ( visitor , defaultness) ;
2365
+ visitor . visit_defaultness ( defaultness) ;
2351
2366
visitor. visit_fn (
2352
2367
FnKind :: Fn ( FnCtxt :: Assoc ( ctxt) , ident, sig, vis, generics, body) ,
2353
2368
* span,
@@ -2361,7 +2376,7 @@ pub mod mut_visit {
2361
2376
bounds,
2362
2377
ty,
2363
2378
} ) => {
2364
- visit_defaultness ( visitor , defaultness) ;
2379
+ visitor . visit_defaultness ( defaultness) ;
2365
2380
visitor. visit_generics ( generics) ;
2366
2381
visit_bounds ( visitor, bounds, BoundKind :: Bound ) ;
2367
2382
visit_opt ( ty, |ty| visitor. visit_ty ( ty) ) ;
@@ -2422,7 +2437,7 @@ pub mod mut_visit {
2422
2437
visit_opt ( expr, |expr| visitor. visit_expr ( expr) ) ;
2423
2438
}
2424
2439
ForeignItemKind :: Fn ( box Fn { defaultness, generics, sig, body } ) => {
2425
- visit_defaultness ( visitor , defaultness) ;
2440
+ visitor . visit_defaultness ( defaultness) ;
2426
2441
visitor. visit_fn (
2427
2442
FnKind :: Fn ( FnCtxt :: Foreign , ident, sig, vis, generics, body) ,
2428
2443
span,
@@ -2436,7 +2451,7 @@ pub mod mut_visit {
2436
2451
bounds,
2437
2452
ty,
2438
2453
} ) => {
2439
- visit_defaultness ( visitor , defaultness) ;
2454
+ visitor . visit_defaultness ( defaultness) ;
2440
2455
visitor. visit_generics ( generics) ;
2441
2456
visit_bounds ( visitor, bounds, BoundKind :: Bound ) ;
2442
2457
visit_opt ( ty, |ty| visitor. visit_ty ( ty) ) ;
0 commit comments