@@ -1204,6 +1204,30 @@ macro_rules! make_ast_visitor {
12041204 return_result!( V )
12051205 }
12061206
1207+ pub fn walk_generic_param<$( $lt, ) ? V : $trait$( <$lt>) ?>(
1208+ vis: & mut V ,
1209+ param: ref_t!( GenericParam )
1210+ ) -> result!( V ) {
1211+ let GenericParam { id, ident, attrs, bounds, kind, colon_span, is_placeholder: _ } = param;
1212+ try_v!( visit_id!( vis, id) ) ;
1213+ visit_list!( vis, visit_attribute, flat_map_attribute, attrs) ;
1214+ try_v!( visit_ident!( vis, ident) ) ;
1215+ visit_list!( vis, visit_param_bound, bounds; BoundKind :: Bound ) ;
1216+ match kind {
1217+ GenericParamKind :: Lifetime => { }
1218+ GenericParamKind :: Type { default } => {
1219+ visit_o!( default , |default | vis. visit_ty( default ) ) ;
1220+ }
1221+ GenericParamKind :: Const { ty, kw_span, default } => {
1222+ try_v!( vis. visit_ty( ty) ) ;
1223+ visit_o!( default , |default | vis. visit_anon_const( default ) ) ;
1224+ try_v!( visit_span!( vis, kw_span) ) ;
1225+ }
1226+ }
1227+ visit_o!( colon_span, |span| visit_span!( vis, span) ) ;
1228+ return_result!( V )
1229+ }
1230+
12071231 derive_copy_clone!{
12081232 #[ derive( Debug ) ]
12091233 pub enum FnKind <' a> {
@@ -1558,26 +1582,6 @@ pub mod visit {
15581582 V :: Result :: output ( )
15591583 }
15601584
1561- pub fn walk_generic_param < ' a , V : Visitor < ' a > > (
1562- visitor : & mut V ,
1563- param : & ' a GenericParam ,
1564- ) -> V :: Result {
1565- let GenericParam { id : _, ident, attrs, bounds, is_placeholder : _, kind, colon_span : _ } =
1566- param;
1567- walk_list ! ( visitor, visit_attribute, attrs) ;
1568- try_visit ! ( visitor. visit_ident( * ident) ) ;
1569- walk_list ! ( visitor, visit_param_bound, bounds, BoundKind :: Bound ) ;
1570- match kind {
1571- GenericParamKind :: Lifetime => ( ) ,
1572- GenericParamKind :: Type { default } => visit_opt ! ( visitor, visit_ty, default ) ,
1573- GenericParamKind :: Const { ty, default, kw_span : _ } => {
1574- try_visit ! ( visitor. visit_ty( ty) ) ;
1575- visit_opt ! ( visitor, visit_anon_const, default ) ;
1576- }
1577- }
1578- V :: Result :: output ( )
1579- }
1580-
15811585 pub fn walk_where_predicate < ' a , V : Visitor < ' a > > (
15821586 visitor : & mut V ,
15831587 predicate : & ' a WherePredicate ,
@@ -2292,27 +2296,6 @@ pub mod mut_visit {
22922296 }
22932297 }
22942298
2295- pub fn walk_generic_param < T : MutVisitor > ( vis : & mut T , param : & mut GenericParam ) {
2296- let GenericParam { id, ident, attrs, bounds, kind, colon_span, is_placeholder : _ } = param;
2297- vis. visit_id ( id) ;
2298- visit_attrs ( vis, attrs) ;
2299- vis. visit_ident ( ident) ;
2300- visit_vec ( bounds, |bound| vis. visit_param_bound ( bound, BoundKind :: Bound ) ) ;
2301- match kind {
2302- GenericParamKind :: Lifetime => { }
2303- GenericParamKind :: Type { default } => {
2304- visit_opt ( default, |default| vis. visit_ty ( default) ) ;
2305- }
2306- GenericParamKind :: Const { ty, kw_span : _, default } => {
2307- vis. visit_ty ( ty) ;
2308- visit_opt ( default, |default| vis. visit_anon_const ( default) ) ;
2309- }
2310- }
2311- if let Some ( colon_span) = colon_span {
2312- vis. visit_span ( colon_span) ;
2313- }
2314- }
2315-
23162299 fn walk_ty_alias_where_clauses < T : MutVisitor > ( vis : & mut T , tawcs : & mut TyAliasWhereClauses ) {
23172300 let TyAliasWhereClauses { before, after, split : _ } = tawcs;
23182301 let TyAliasWhereClause { has_where_token : _, span : span_before } = before;
0 commit comments