@@ -1167,6 +1167,13 @@ macro_rules! make_ast_visitor {
1167
1167
}
1168
1168
}
1169
1169
1170
+ pub trait WalkItemKind : Sized {
1171
+ fn walk<$( $lt, ) ? V : $trait$( <$lt>) ?>(
1172
+ item: ref_t!( Item <Self >) ,
1173
+ visitor: & mut V ,
1174
+ ) -> result!( V ) ;
1175
+ }
1176
+
1170
1177
make_walk_flat_map!{ Arm , walk_flat_map_arm, visit_arm}
1171
1178
make_walk_flat_map!{ Attribute , walk_flat_map_attribute, visit_attribute}
1172
1179
make_walk_flat_map!{ ExprField , walk_flat_map_expr_field, visit_expr_field}
@@ -1286,13 +1293,6 @@ pub mod visit {
1286
1293
GenericArg ,
1287
1294
}
1288
1295
1289
- pub trait WalkItemKind : Sized {
1290
- fn walk < ' a , V : Visitor < ' a > > (
1291
- item : & ' a Item < Self > ,
1292
- visitor : & mut V ,
1293
- ) -> V :: Result ;
1294
- }
1295
-
1296
1296
make_ast_visitor ! ( Visitor <' ast>) ;
1297
1297
1298
1298
impl WalkItemKind for ItemKind {
@@ -1840,10 +1840,6 @@ pub mod mut_visit {
1840
1840
}
1841
1841
}
1842
1842
1843
- pub trait WalkItemKind : Sized {
1844
- fn walk ( item : & mut Item < Self > , visitor : & mut impl MutVisitor ) ;
1845
- }
1846
-
1847
1843
make_ast_visitor ! ( MutVisitor , mut ) ;
1848
1844
1849
1845
/// Use a map-style function (`FnOnce(T) -> T`) to overwrite a `&mut T`. Useful
@@ -2257,7 +2253,7 @@ pub mod mut_visit {
2257
2253
}
2258
2254
2259
2255
impl WalkItemKind for ItemKind {
2260
- fn walk ( item : & mut Item < Self > , visitor : & mut impl MutVisitor ) {
2256
+ fn walk < V : MutVisitor > ( item : & mut Item < Self > , visitor : & mut V ) {
2261
2257
let Item { attrs, id, span, vis, ident, kind, tokens } = item;
2262
2258
visitor. visit_id ( id) ;
2263
2259
visit_attrs ( visitor, attrs) ;
@@ -2498,7 +2494,7 @@ pub mod mut_visit {
2498
2494
2499
2495
2500
2496
impl WalkItemKind for ForeignItemKind {
2501
- fn walk ( item : & mut Item < Self > , visitor : & mut impl MutVisitor ) {
2497
+ fn walk < V : MutVisitor > ( item : & mut Item < Self > , visitor : & mut V ) {
2502
2498
let Item { attrs, id, span, vis, ident, kind, tokens } = item;
2503
2499
visitor. visit_id ( id) ;
2504
2500
visit_attrs ( visitor, attrs) ;
0 commit comments