@@ -1439,6 +1439,48 @@ macro_rules! make_ast_visitor {
14391439 }
14401440 }
14411441
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+
14421484 pub fn walk_item<$( $lt, ) ? V : $trait$( <$lt>) ?>(
14431485 visitor: & mut V ,
14441486 item: ref_t!( Item <impl WalkItemKind >) ,
@@ -1584,46 +1626,6 @@ pub mod visit {
15841626
15851627 make_ast_visitor ! ( Visitor <' ast>) ;
15861628
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-
16271629 pub fn walk_assoc_item < ' a , V : Visitor < ' a > > (
16281630 visitor : & mut V ,
16291631 item : & ' a AssocItem ,
@@ -2298,46 +2300,6 @@ pub mod mut_visit {
22982300 smallvec ! [ item]
22992301 }
23002302
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-
23412303 pub fn walk_expr < T : MutVisitor > (
23422304 vis : & mut T ,
23432305 Expr { kind, id, span, attrs, tokens } : & mut Expr ,
0 commit comments