@@ -1364,6 +1364,48 @@ macro_rules! make_ast_visitor {
13641364 }
13651365 }
13661366
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+
13671409 make_walk_flat_map!{ Arm , walk_flat_map_arm, visit_arm}
13681410 make_walk_flat_map!{ Attribute , walk_flat_map_attribute, visit_attribute}
13691411 make_walk_flat_map!{ ExprField , walk_flat_map_expr_field, visit_expr_field}
@@ -1516,44 +1558,6 @@ pub mod visit {
15161558 V :: Result :: output ( )
15171559 }
15181560
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-
15571561 pub fn walk_generic_param < ' a , V : Visitor < ' a > > (
15581562 visitor : & mut V ,
15591563 param : & ' a GenericParam ,
@@ -2456,45 +2460,6 @@ pub mod mut_visit {
24562460 smallvec ! [ item]
24572461 }
24582462
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-
24982463 pub fn walk_expr < T : MutVisitor > (
24992464 vis : & mut T ,
25002465 Expr { kind, id, span, attrs, tokens } : & mut Expr ,
0 commit comments