@@ -362,7 +362,6 @@ macro_rules! make_ast_visitor {
362
362
make_visit!{ P !( Pat ) ; visit_pat, walk_pat}
363
363
make_visit!{ P !( Ty ) ; visit_ty, walk_ty}
364
364
365
-
366
365
fn visit_variant_discr( & mut self , discr: ref_t!( AnonConst ) ) -> result!( ) {
367
366
self . visit_anon_const( discr)
368
367
}
@@ -1048,6 +1047,73 @@ macro_rules! make_ast_visitor {
1048
1047
try_v!( visit_span!( vis, span) ) ;
1049
1048
return_result!( V )
1050
1049
}
1050
+
1051
+ pub fn walk_ty<$( $lt, ) ? V : $trait$( <$lt>) ?>(
1052
+ vis: & mut V ,
1053
+ ty: ref_t!( Ty )
1054
+ ) -> result!( V ) {
1055
+ let Ty { id, kind, span, tokens } = ty;
1056
+ try_v!( visit_id!( vis, id) ) ;
1057
+ match kind {
1058
+ TyKind :: Err ( _guar) => { }
1059
+ TyKind :: Infer
1060
+ | TyKind :: ImplicitSelf
1061
+ | TyKind :: Dummy
1062
+ | TyKind :: Never
1063
+ | TyKind :: CVarArgs => { }
1064
+ TyKind :: Slice ( ty) => {
1065
+ try_v!( vis. visit_ty( ty) ) ;
1066
+ }
1067
+ TyKind :: Ptr ( mt) => {
1068
+ try_v!( vis. visit_mt( mt) ) ;
1069
+ }
1070
+ TyKind :: Ref ( lt, mt) => {
1071
+ visit_o!( lt, |lt| vis. visit_lifetime( lt, LifetimeCtxt :: Ref ) ) ;
1072
+ try_v!( vis. visit_mt( mt) ) ;
1073
+ }
1074
+ TyKind :: BareFn ( bft) => {
1075
+ let BareFnTy { safety, ext: _, generic_params, decl, decl_span } = & $( $mut) ? * * bft;
1076
+ try_v!( vis. visit_safety( safety) ) ;
1077
+ visit_list!( vis, visit_generic_param, flat_map_generic_param, generic_params) ;
1078
+ try_v!( vis. visit_fn_decl( decl) ) ;
1079
+ try_v!( visit_span!( vis, decl_span) ) ;
1080
+ }
1081
+ TyKind :: Tup ( tys) => {
1082
+ visit_list!( vis, visit_ty, tys) ;
1083
+ }
1084
+ TyKind :: Paren ( ty) => {
1085
+ try_v!( vis. visit_ty( ty) )
1086
+ }
1087
+ TyKind :: Pat ( ty, pat) => {
1088
+ try_v!( vis. visit_ty( ty) ) ;
1089
+ try_v!( vis. visit_pat( pat) ) ;
1090
+ }
1091
+ TyKind :: Path ( qself, path) => {
1092
+ try_v!( vis. visit_qself( qself) ) ;
1093
+ try_v!( vis. visit_path( path, * id) ) ;
1094
+ }
1095
+ TyKind :: Array ( ty, length) => {
1096
+ try_v!( vis. visit_ty( ty) ) ;
1097
+ try_v!( vis. visit_anon_const( length) ) ;
1098
+ }
1099
+ TyKind :: Typeof ( expr) => {
1100
+ try_v!( vis. visit_anon_const( expr) ) ;
1101
+ } ,
1102
+ TyKind :: TraitObject ( bounds, _syntax) => {
1103
+ visit_list!( vis, visit_param_bound, bounds; BoundKind :: TraitObject ) ;
1104
+ }
1105
+ TyKind :: ImplTrait ( id, bounds) => {
1106
+ try_v!( visit_id!( vis, id) ) ;
1107
+ visit_list!( vis, visit_param_bound, bounds; BoundKind :: Impl ) ;
1108
+ }
1109
+ TyKind :: MacCall ( mac) => {
1110
+ try_v!( vis. visit_mac_call( mac) )
1111
+ }
1112
+ }
1113
+ visit_lazy_tts!( vis, tokens) ;
1114
+ try_v!( visit_span!( vis, span) ) ;
1115
+ return_result!( V )
1116
+ }
1051
1117
}
1052
1118
}
1053
1119
@@ -1298,52 +1364,6 @@ pub mod visit {
1298
1364
walk_assoc_item ( visitor, item, AssocCtxt :: Trait /*ignored*/ )
1299
1365
}
1300
1366
1301
- pub fn walk_ty < ' a , V : Visitor < ' a > > ( visitor : & mut V , typ : & ' a Ty ) -> V :: Result {
1302
- let Ty { id, kind, span : _, tokens : _ } = typ;
1303
- match kind {
1304
- TyKind :: Slice ( ty) | TyKind :: Paren ( ty) => try_visit ! ( visitor. visit_ty( ty) ) ,
1305
- TyKind :: Ptr ( mt) => try_visit ! ( visitor. visit_mt( mt) ) ,
1306
- TyKind :: Ref ( opt_lifetime, mt) => {
1307
- visit_opt ! ( visitor, visit_lifetime, opt_lifetime, LifetimeCtxt :: Ref ) ;
1308
- try_visit ! ( visitor. visit_mt( mt) ) ;
1309
- }
1310
- TyKind :: Tup ( tuple_element_types) => {
1311
- walk_list ! ( visitor, visit_ty, tuple_element_types) ;
1312
- }
1313
- TyKind :: BareFn ( function_declaration) => {
1314
- let BareFnTy { safety, ext : _, generic_params, decl, decl_span : _ } =
1315
- & * * function_declaration;
1316
- try_visit ! ( visitor. visit_safety( safety) ) ;
1317
- walk_list ! ( visitor, visit_generic_param, generic_params) ;
1318
- try_visit ! ( visitor. visit_fn_decl( decl) ) ;
1319
- }
1320
- TyKind :: Path ( maybe_qself, path) => {
1321
- try_visit ! ( visitor. visit_qself( maybe_qself) ) ;
1322
- try_visit ! ( visitor. visit_path( path, * id) ) ;
1323
- }
1324
- TyKind :: Pat ( ty, pat) => {
1325
- try_visit ! ( visitor. visit_ty( ty) ) ;
1326
- try_visit ! ( visitor. visit_pat( pat) ) ;
1327
- }
1328
- TyKind :: Array ( ty, length) => {
1329
- try_visit ! ( visitor. visit_ty( ty) ) ;
1330
- try_visit ! ( visitor. visit_anon_const( length) ) ;
1331
- }
1332
- TyKind :: TraitObject ( bounds, _syntax) => {
1333
- walk_list ! ( visitor, visit_param_bound, bounds, BoundKind :: TraitObject ) ;
1334
- }
1335
- TyKind :: ImplTrait ( _id, bounds) => {
1336
- walk_list ! ( visitor, visit_param_bound, bounds, BoundKind :: Impl ) ;
1337
- }
1338
- TyKind :: Typeof ( expression) => try_visit ! ( visitor. visit_anon_const( expression) ) ,
1339
- TyKind :: Infer | TyKind :: ImplicitSelf | TyKind :: Dummy => { }
1340
- TyKind :: Err ( _guar) => { }
1341
- TyKind :: MacCall ( mac) => try_visit ! ( visitor. visit_mac_call( mac) ) ,
1342
- TyKind :: Never | TyKind :: CVarArgs => { }
1343
- }
1344
- V :: Result :: output ( )
1345
- }
1346
-
1347
1367
pub fn walk_assoc_item_constraint < ' a , V : Visitor < ' a > > (
1348
1368
visitor : & mut V ,
1349
1369
constraint : & ' a AssocItemConstraint ,
@@ -1840,57 +1860,6 @@ pub mod mut_visit {
1840
1860
vis. visit_span ( span) ;
1841
1861
}
1842
1862
1843
- pub fn walk_ty < T : MutVisitor > ( vis : & mut T , ty : & mut P < Ty > ) {
1844
- let Ty { id, kind, span, tokens } = ty. deref_mut ( ) ;
1845
- vis. visit_id ( id) ;
1846
- match kind {
1847
- TyKind :: Err ( _guar) => { }
1848
- TyKind :: Infer
1849
- | TyKind :: ImplicitSelf
1850
- | TyKind :: Dummy
1851
- | TyKind :: Never
1852
- | TyKind :: CVarArgs => { }
1853
- TyKind :: Slice ( ty) => vis. visit_ty ( ty) ,
1854
- TyKind :: Ptr ( mt) => vis. visit_mt ( mt) ,
1855
- TyKind :: Ref ( lt, mt) => {
1856
- visit_opt ( lt, |lt| vis. visit_lifetime ( lt, LifetimeCtxt :: Ref ) ) ;
1857
- vis. visit_mt ( mt) ;
1858
- }
1859
- TyKind :: BareFn ( bft) => {
1860
- let BareFnTy { safety, ext : _, generic_params, decl, decl_span } = bft. deref_mut ( ) ;
1861
- vis. visit_safety ( safety) ;
1862
- generic_params. flat_map_in_place ( |param| vis. flat_map_generic_param ( param) ) ;
1863
- vis. visit_fn_decl ( decl) ;
1864
- vis. visit_span ( decl_span) ;
1865
- }
1866
- TyKind :: Tup ( tys) => visit_thin_vec ( tys, |ty| vis. visit_ty ( ty) ) ,
1867
- TyKind :: Paren ( ty) => vis. visit_ty ( ty) ,
1868
- TyKind :: Pat ( ty, pat) => {
1869
- vis. visit_ty ( ty) ;
1870
- vis. visit_pat ( pat) ;
1871
- }
1872
- TyKind :: Path ( qself, path) => {
1873
- vis. visit_qself ( qself) ;
1874
- vis. visit_path ( path, * id) ;
1875
- }
1876
- TyKind :: Array ( ty, length) => {
1877
- vis. visit_ty ( ty) ;
1878
- vis. visit_anon_const ( length) ;
1879
- }
1880
- TyKind :: Typeof ( expr) => vis. visit_anon_const ( expr) ,
1881
- TyKind :: TraitObject ( bounds, _syntax) => {
1882
- visit_vec ( bounds, |bound| vis. visit_param_bound ( bound, BoundKind :: TraitObject ) )
1883
- }
1884
- TyKind :: ImplTrait ( id, bounds) => {
1885
- vis. visit_id ( id) ;
1886
- visit_vec ( bounds, |bound| vis. visit_param_bound ( bound, BoundKind :: Impl ) ) ;
1887
- }
1888
- TyKind :: MacCall ( mac) => vis. visit_mac_call ( mac) ,
1889
- }
1890
- visit_lazy_tts ( vis, tokens) ;
1891
- vis. visit_span ( span) ;
1892
- }
1893
-
1894
1863
fn walk_foreign_mod < T : MutVisitor > ( vis : & mut T , foreign_mod : & mut ForeignMod ) {
1895
1864
let ForeignMod { safety, abi : _, items } = foreign_mod;
1896
1865
vis. visit_safety ( safety) ;
0 commit comments