@@ -478,8 +478,8 @@ pub fn noop_fold_parenthesized_parameter_data<T: Folder>(data: ParenthesizedPara
478
478
pub fn noop_fold_local < T : Folder > ( l : P < Local > , fld : & mut T ) -> P < Local > {
479
479
l. map ( |Local { id, pat, ty, init, span, attrs} | Local {
480
480
id : fld. new_id ( id) ,
481
- ty : ty. map ( |t| fld. fold_ty ( t) ) ,
482
481
pat : fld. fold_pat ( pat) ,
482
+ ty : ty. map ( |t| fld. fold_ty ( t) ) ,
483
483
init : init. map ( |e| fld. fold_expr ( e) ) ,
484
484
span : fld. new_span ( span) ,
485
485
attrs : fold_attrs ( attrs. into ( ) , fld) . into ( ) ,
@@ -860,65 +860,46 @@ pub fn noop_fold_item_kind<T: Folder>(i: ItemKind, folder: &mut T) -> ItemKind {
860
860
ItemKind :: Const ( folder. fold_ty ( t) , folder. fold_expr ( e) )
861
861
}
862
862
ItemKind :: Fn ( decl, unsafety, constness, abi, generics, body) => {
863
- ItemKind :: Fn (
864
- folder. fold_fn_decl ( decl) ,
865
- unsafety,
866
- constness,
867
- abi,
868
- folder. fold_generics ( generics) ,
869
- folder. fold_block ( body)
870
- )
863
+ let generics = folder. fold_generics ( generics) ;
864
+ let decl = folder. fold_fn_decl ( decl) ;
865
+ let body = folder. fold_block ( body) ;
866
+ ItemKind :: Fn ( decl, unsafety, constness, abi, generics, body)
871
867
}
872
868
ItemKind :: Mod ( m) => ItemKind :: Mod ( folder. fold_mod ( m) ) ,
873
869
ItemKind :: ForeignMod ( nm) => ItemKind :: ForeignMod ( folder. fold_foreign_mod ( nm) ) ,
874
870
ItemKind :: Ty ( t, generics) => {
875
871
ItemKind :: Ty ( folder. fold_ty ( t) , folder. fold_generics ( generics) )
876
872
}
877
873
ItemKind :: Enum ( enum_definition, generics) => {
878
- ItemKind :: Enum (
879
- ast:: EnumDef {
880
- variants : enum_definition. variants . move_map ( |x| folder. fold_variant ( x) ) ,
881
- } ,
882
- folder. fold_generics ( generics) )
874
+ let generics = folder. fold_generics ( generics) ;
875
+ let variants = enum_definition. variants . move_map ( |x| folder. fold_variant ( x) ) ;
876
+ ItemKind :: Enum ( ast:: EnumDef { variants : variants } , generics)
883
877
}
884
878
ItemKind :: Struct ( struct_def, generics) => {
885
- let struct_def = folder. fold_variant_data ( struct_def ) ;
886
- ItemKind :: Struct ( struct_def , folder. fold_generics ( generics ) )
879
+ let generics = folder. fold_generics ( generics ) ;
880
+ ItemKind :: Struct ( folder. fold_variant_data ( struct_def ) , generics )
887
881
}
888
882
ItemKind :: Union ( struct_def, generics) => {
889
- let struct_def = folder. fold_variant_data ( struct_def ) ;
890
- ItemKind :: Union ( struct_def , folder. fold_generics ( generics ) )
883
+ let generics = folder. fold_generics ( generics ) ;
884
+ ItemKind :: Union ( folder. fold_variant_data ( struct_def ) , generics )
891
885
}
892
886
ItemKind :: DefaultImpl ( unsafety, ref trait_ref) => {
893
887
ItemKind :: DefaultImpl ( unsafety, folder. fold_trait_ref ( ( * trait_ref) . clone ( ) ) )
894
888
}
895
- ItemKind :: Impl ( unsafety, polarity, generics, ifce, ty, impl_items) => {
896
- let new_impl_items = impl_items. move_flat_map ( |item| {
897
- folder. fold_impl_item ( item)
898
- } ) ;
899
- let ifce = match ifce {
900
- None => None ,
901
- Some ( ref trait_ref) => {
902
- Some ( folder. fold_trait_ref ( ( * trait_ref) . clone ( ) ) )
903
- }
904
- } ;
905
- ItemKind :: Impl ( unsafety,
906
- polarity,
907
- folder. fold_generics ( generics) ,
908
- ifce,
909
- folder. fold_ty ( ty) ,
910
- new_impl_items)
911
- }
912
- ItemKind :: Trait ( unsafety, generics, bounds, items) => {
913
- let bounds = folder. fold_bounds ( bounds) ;
914
- let items = items. move_flat_map ( |item| {
915
- folder. fold_trait_item ( item)
916
- } ) ;
917
- ItemKind :: Trait ( unsafety,
918
- folder. fold_generics ( generics) ,
919
- bounds,
920
- items)
921
- }
889
+ ItemKind :: Impl ( unsafety, polarity, generics, ifce, ty, impl_items) => ItemKind :: Impl (
890
+ unsafety,
891
+ polarity,
892
+ folder. fold_generics ( generics) ,
893
+ ifce. map ( |trait_ref| folder. fold_trait_ref ( trait_ref. clone ( ) ) ) ,
894
+ folder. fold_ty ( ty) ,
895
+ impl_items. move_flat_map ( |item| folder. fold_impl_item ( item) ) ,
896
+ ) ,
897
+ ItemKind :: Trait ( unsafety, generics, bounds, items) => ItemKind :: Trait (
898
+ unsafety,
899
+ folder. fold_generics ( generics) ,
900
+ folder. fold_bounds ( bounds) ,
901
+ items. move_flat_map ( |item| folder. fold_trait_item ( item) ) ,
902
+ ) ,
922
903
ItemKind :: Mac ( m) => ItemKind :: Mac ( folder. fold_mac ( m) ) ,
923
904
}
924
905
}
@@ -954,9 +935,9 @@ pub fn noop_fold_impl_item<T: Folder>(i: ImplItem, folder: &mut T)
954
935
-> SmallVector < ImplItem > {
955
936
SmallVector :: one ( ImplItem {
956
937
id : folder. new_id ( i. id ) ,
938
+ vis : folder. fold_vis ( i. vis ) ,
957
939
ident : folder. fold_ident ( i. ident ) ,
958
940
attrs : fold_attrs ( i. attrs , folder) ,
959
- vis : folder. fold_vis ( i. vis ) ,
960
941
defaultness : i. defaultness ,
961
942
node : match i. node {
962
943
ast:: ImplItemKind :: Const ( ty, expr) => {
@@ -1031,22 +1012,20 @@ pub fn noop_fold_item<T: Folder>(i: P<Item>, folder: &mut T) -> SmallVector<P<It
1031
1012
// fold one item into exactly one item
1032
1013
pub fn noop_fold_item_simple < T : Folder > ( Item { id, ident, attrs, node, vis, span} : Item ,
1033
1014
folder : & mut T ) -> Item {
1034
- let id = folder. new_id ( id) ;
1035
- let node = folder. fold_item_kind ( node) ;
1036
-
1037
1015
Item {
1038
- id : id,
1016
+ id : folder. new_id ( id) ,
1017
+ vis : folder. fold_vis ( vis) ,
1039
1018
ident : folder. fold_ident ( ident) ,
1040
1019
attrs : fold_attrs ( attrs, folder) ,
1041
- node : node,
1042
- vis : folder. fold_vis ( vis) ,
1020
+ node : folder. fold_item_kind ( node) ,
1043
1021
span : folder. new_span ( span)
1044
1022
}
1045
1023
}
1046
1024
1047
1025
pub fn noop_fold_foreign_item < T : Folder > ( ni : ForeignItem , folder : & mut T ) -> ForeignItem {
1048
1026
ForeignItem {
1049
1027
id : folder. new_id ( ni. id ) ,
1028
+ vis : folder. fold_vis ( ni. vis ) ,
1050
1029
ident : folder. fold_ident ( ni. ident ) ,
1051
1030
attrs : fold_attrs ( ni. attrs , folder) ,
1052
1031
node : match ni. node {
@@ -1057,7 +1036,6 @@ pub fn noop_fold_foreign_item<T: Folder>(ni: ForeignItem, folder: &mut T) -> For
1057
1036
ForeignItemKind :: Static ( folder. fold_ty ( t) , m)
1058
1037
}
1059
1038
} ,
1060
- vis : folder. fold_vis ( ni. vis ) ,
1061
1039
span : folder. new_span ( ni. span )
1062
1040
}
1063
1041
}
0 commit comments