@@ -45,10 +45,6 @@ pub trait Folder : Sized {
4545 noop_fold_crate ( c, self )
4646 }
4747
48- fn fold_meta_items ( & mut self , meta_items : Vec < MetaItem > ) -> Vec < MetaItem > {
49- noop_fold_meta_items ( meta_items, self )
50- }
51-
5248 fn fold_meta_list_item ( & mut self , list_item : NestedMetaItem ) -> NestedMetaItem {
5349 noop_fold_meta_list_item ( list_item, self )
5450 }
@@ -65,18 +61,10 @@ pub trait Folder : Sized {
6561 noop_fold_foreign_item ( ni, self )
6662 }
6763
68- fn fold_foreign_item_simple ( & mut self , ni : ForeignItem ) -> ForeignItem {
69- noop_fold_foreign_item_simple ( ni, self )
70- }
71-
7264 fn fold_item ( & mut self , i : P < Item > ) -> SmallVec < [ P < Item > ; 1 ] > {
7365 noop_fold_item ( i, self )
7466 }
7567
76- fn fold_item_simple ( & mut self , i : Item ) -> Item {
77- noop_fold_item_simple ( i, self )
78- }
79-
8068 fn fold_fn_header ( & mut self , header : FnHeader ) -> FnHeader {
8169 noop_fold_fn_header ( header, self )
8270 }
@@ -133,10 +121,6 @@ pub trait Folder : Sized {
133121 e. map ( |e| noop_fold_expr ( e, self ) )
134122 }
135123
136- fn fold_range_end ( & mut self , re : RangeEnd ) -> RangeEnd {
137- noop_fold_range_end ( re, self )
138- }
139-
140124 fn fold_opt_expr ( & mut self , e : P < Expr > ) -> Option < P < Expr > > {
141125 noop_fold_opt_expr ( e, self )
142126 }
@@ -172,10 +156,6 @@ pub trait Folder : Sized {
172156 noop_fold_foreign_mod ( nm, self )
173157 }
174158
175- fn fold_global_asm ( & mut self , ga : P < GlobalAsm > ) -> P < GlobalAsm > {
176- noop_fold_global_asm ( ga, self )
177- }
178-
179159 fn fold_variant ( & mut self , v : Variant ) -> Variant {
180160 noop_fold_variant ( v, self )
181161 }
@@ -184,10 +164,6 @@ pub trait Folder : Sized {
184164 noop_fold_ident ( i, self )
185165 }
186166
187- fn fold_usize ( & mut self , i : usize ) -> usize {
188- noop_fold_usize ( i, self )
189- }
190-
191167 fn fold_path ( & mut self , p : Path ) -> Path {
192168 noop_fold_path ( p, self )
193169 }
@@ -281,10 +257,6 @@ pub trait Folder : Sized {
281257 noop_fold_interpolated ( nt, self )
282258 }
283259
284- fn fold_opt_bounds ( & mut self , b : Option < GenericBounds > ) -> Option < GenericBounds > {
285- noop_fold_opt_bounds ( b, self )
286- }
287-
288260 fn fold_bounds ( & mut self , b : GenericBounds ) -> GenericBounds {
289261 noop_fold_bounds ( b, self )
290262 }
@@ -324,10 +296,6 @@ pub trait Folder : Sized {
324296 }
325297}
326298
327- pub fn noop_fold_meta_items < T : Folder > ( meta_items : Vec < MetaItem > , fld : & mut T ) -> Vec < MetaItem > {
328- meta_items. move_map ( |x| fld. fold_meta_item ( x) )
329- }
330-
331299pub fn noop_fold_use_tree < T : Folder > ( use_tree : UseTree , fld : & mut T ) -> UseTree {
332300 UseTree {
333301 span : fld. new_span ( use_tree. span ) ,
@@ -430,11 +398,6 @@ pub fn noop_fold_foreign_mod<T: Folder>(ForeignMod {abi, items}: ForeignMod,
430398 }
431399}
432400
433- pub fn noop_fold_global_asm < T : Folder > ( ga : P < GlobalAsm > ,
434- _: & mut T ) -> P < GlobalAsm > {
435- ga
436- }
437-
438401pub fn noop_fold_variant < T : Folder > ( v : Variant , fld : & mut T ) -> Variant {
439402 Spanned {
440403 node : Variant_ {
@@ -451,10 +414,6 @@ pub fn noop_fold_ident<T: Folder>(ident: Ident, fld: &mut T) -> Ident {
451414 Ident :: new ( ident. name , fld. new_span ( ident. span ) )
452415}
453416
454- pub fn noop_fold_usize < T : Folder > ( i : usize , _: & mut T ) -> usize {
455- i
456- }
457-
458417pub fn noop_fold_path < T : Folder > ( Path { segments, span } : Path , fld : & mut T ) -> Path {
459418 Path {
460419 segments : segments. move_map ( |PathSegment { ident, id, args } | PathSegment {
@@ -873,11 +832,6 @@ pub fn noop_fold_mt<T: Folder>(MutTy {ty, mutbl}: MutTy, folder: &mut T) -> MutT
873832 }
874833}
875834
876- pub fn noop_fold_opt_bounds < T : Folder > ( b : Option < GenericBounds > , folder : & mut T )
877- -> Option < GenericBounds > {
878- b. map ( |bounds| folder. fold_bounds ( bounds) )
879- }
880-
881835fn noop_fold_bounds < T : Folder > ( bounds : GenericBounds , folder : & mut T )
882836 -> GenericBounds {
883837 bounds. move_map ( |bound| folder. fold_param_bound ( bound) )
@@ -913,7 +867,7 @@ pub fn noop_fold_item_kind<T: Folder>(i: ItemKind, folder: &mut T) -> ItemKind {
913867 }
914868 ItemKind :: Mod ( m) => ItemKind :: Mod ( folder. fold_mod ( m) ) ,
915869 ItemKind :: ForeignMod ( nm) => ItemKind :: ForeignMod ( folder. fold_foreign_mod ( nm) ) ,
916- ItemKind :: GlobalAsm ( ga) => ItemKind :: GlobalAsm ( folder . fold_global_asm ( ga ) ) ,
870+ ItemKind :: GlobalAsm ( ga) => ItemKind :: GlobalAsm ( ga ) ,
917871 ItemKind :: Ty ( t, generics) => {
918872 ItemKind :: Ty ( folder. fold_ty ( t) , folder. fold_generics ( generics) )
919873 }
@@ -1071,34 +1025,27 @@ pub fn noop_fold_crate<T: Folder>(Crate {module, attrs, span}: Crate,
10711025
10721026// fold one item into possibly many items
10731027pub fn noop_fold_item < T : Folder > ( i : P < Item > , folder : & mut T ) -> SmallVec < [ P < Item > ; 1 ] > {
1074- smallvec ! [ i. map( |i| folder. fold_item_simple( i) ) ]
1075- }
1076-
1077- // fold one item into exactly one item
1078- pub fn noop_fold_item_simple < T : Folder > ( Item { id, ident, attrs, node, vis, span, tokens} : Item ,
1079- folder : & mut T ) -> Item {
1080- Item {
1081- id : folder. new_id ( id) ,
1082- vis : folder. fold_vis ( vis) ,
1083- ident : folder. fold_ident ( ident) ,
1084- attrs : fold_attrs ( attrs, folder) ,
1085- node : folder. fold_item_kind ( node) ,
1086- span : folder. new_span ( span) ,
1087-
1088- // FIXME: if this is replaced with a call to `folder.fold_tts` it causes
1089- // an ICE during resolve... odd!
1090- tokens,
1091- }
1028+ smallvec ! [ i. map( |i| {
1029+ let Item { id, ident, attrs, node, vis, span, tokens} = i;
1030+ Item {
1031+ id: folder. new_id( id) ,
1032+ vis: folder. fold_vis( vis) ,
1033+ ident: folder. fold_ident( ident) ,
1034+ attrs: fold_attrs( attrs, folder) ,
1035+ node: folder. fold_item_kind( node) ,
1036+ span: folder. new_span( span) ,
1037+
1038+ // FIXME: if this is replaced with a call to `folder.fold_tts` it causes
1039+ // an ICE during resolve... odd!
1040+ tokens,
1041+ }
1042+ } ) ]
10921043}
10931044
10941045pub fn noop_fold_foreign_item < T : Folder > ( ni : ForeignItem , folder : & mut T )
10951046 -> SmallVec < [ ForeignItem ; 1 ] >
10961047{
1097- smallvec ! [ folder. fold_foreign_item_simple( ni) ]
1098- }
1099-
1100- pub fn noop_fold_foreign_item_simple < T : Folder > ( ni : ForeignItem , folder : & mut T ) -> ForeignItem {
1101- ForeignItem {
1048+ smallvec ! [ ForeignItem {
11021049 id: folder. new_id( ni. id) ,
11031050 vis: folder. fold_vis( ni. vis) ,
11041051 ident: folder. fold_ident( ni. ident) ,
@@ -1114,7 +1061,7 @@ pub fn noop_fold_foreign_item_simple<T: Folder>(ni: ForeignItem, folder: &mut T)
11141061 ForeignItemKind :: Macro ( mac) => ForeignItemKind :: Macro ( folder. fold_mac( mac) ) ,
11151062 } ,
11161063 span: folder. new_span( ni. span)
1117- }
1064+ } ]
11181065}
11191066
11201067pub fn noop_fold_method_sig < T : Folder > ( sig : MethodSig , folder : & mut T ) -> MethodSig {
@@ -1161,10 +1108,10 @@ pub fn noop_fold_pat<T: Folder>(p: P<Pat>, folder: &mut T) -> P<Pat> {
11611108 }
11621109 PatKind :: Box ( inner) => PatKind :: Box ( folder. fold_pat ( inner) ) ,
11631110 PatKind :: Ref ( inner, mutbl) => PatKind :: Ref ( folder. fold_pat ( inner) , mutbl) ,
1164- PatKind :: Range ( e1, e2, Spanned { span, node : end } ) => {
1111+ PatKind :: Range ( e1, e2, Spanned { span, node } ) => {
11651112 PatKind :: Range ( folder. fold_expr ( e1) ,
11661113 folder. fold_expr ( e2) ,
1167- Spanned { span, node : folder . fold_range_end ( end ) } )
1114+ Spanned { span, node } )
11681115 } ,
11691116 PatKind :: Slice ( before, slice, after) => {
11701117 PatKind :: Slice ( before. move_map ( |x| folder. fold_pat ( x) ) ,
@@ -1178,10 +1125,6 @@ pub fn noop_fold_pat<T: Folder>(p: P<Pat>, folder: &mut T) -> P<Pat> {
11781125 } )
11791126}
11801127
1181- pub fn noop_fold_range_end < T : Folder > ( end : RangeEnd , _folder : & mut T ) -> RangeEnd {
1182- end
1183- }
1184-
11851128pub fn noop_fold_anon_const < T : Folder > ( constant : AnonConst , folder : & mut T ) -> AnonConst {
11861129 let AnonConst { id, value} = constant;
11871130 AnonConst {
0 commit comments