@@ -469,7 +469,7 @@ pub fn noop_fold_path<T: Folder>(Path {global, segments, span}: Path, fld: &mut
469
469
470
470
pub fn noop_fold_local < T : Folder > ( l : P < Local > , fld : & mut T ) -> P < Local > {
471
471
l. map ( |Local { id, pat, ty, init, source, span} | Local {
472
- id : fld. new_id ( id) , // Needs to be first, for ast_map.
472
+ id : fld. new_id ( id) ,
473
473
ty : fld. fold_ty ( ty) ,
474
474
pat : fld. fold_pat ( pat) ,
475
475
init : init. map ( |e| fld. fold_expr ( e) ) ,
@@ -495,10 +495,12 @@ pub fn noop_fold_explicit_self_underscore<T: Folder>(es: ExplicitSelf_, fld: &mu
495
495
-> ExplicitSelf_ {
496
496
match es {
497
497
SelfStatic | SelfValue ( _) => es,
498
- SelfRegion ( lifetime, m, id) => {
499
- SelfRegion ( fld. fold_opt_lifetime ( lifetime) , m, id)
498
+ SelfRegion ( lifetime, m, ident) => {
499
+ SelfRegion ( fld. fold_opt_lifetime ( lifetime) , m, ident)
500
+ }
501
+ SelfExplicit ( typ, ident) => {
502
+ SelfExplicit ( fld. fold_ty ( typ) , ident)
500
503
}
501
- SelfExplicit ( typ, id) => SelfExplicit ( fld. fold_ty ( typ) , id) ,
502
504
}
503
505
}
504
506
@@ -537,7 +539,7 @@ pub fn noop_fold_meta_item<T: Folder>(mi: P<MetaItem>, fld: &mut T) -> P<MetaIte
537
539
538
540
pub fn noop_fold_arg < T : Folder > ( Arg { id, pat, ty} : Arg , fld : & mut T ) -> Arg {
539
541
Arg {
540
- id : fld. new_id ( id) , // Needs to be first, for ast_map.
542
+ id : fld. new_id ( id) ,
541
543
pat : fld. fold_pat ( pat) ,
542
544
ty : fld. fold_ty ( ty)
543
545
}
@@ -808,7 +810,7 @@ pub fn noop_fold_view_item<T: Folder>(ViewItem {node, attrs, vis, span}: ViewIte
808
810
809
811
pub fn noop_fold_block < T : Folder > ( b : P < Block > , folder : & mut T ) -> P < Block > {
810
812
b. map ( |Block { id, view_items, stmts, expr, rules, span} | Block {
811
- id : folder. new_id ( id) , // Needs to be first, for ast_map.
813
+ id : folder. new_id ( id) ,
812
814
view_items : view_items. move_map ( |x| folder. fold_view_item ( x) ) ,
813
815
stmts : stmts. move_iter ( ) . flat_map ( |s| folder. fold_stmt ( s) . move_iter ( ) ) . collect ( ) ,
814
816
expr : expr. map ( |x| folder. fold_expr ( x) ) ,
@@ -886,7 +888,7 @@ pub fn noop_fold_item_underscore<T: Folder>(i: Item_, folder: &mut T) -> Item_ {
886
888
pub fn noop_fold_type_method < T : Folder > ( m : TypeMethod , fld : & mut T ) -> TypeMethod {
887
889
let TypeMethod { id, ident, attrs, fn_style, abi, decl, generics, explicit_self, vis, span} = m;
888
890
TypeMethod {
889
- id : fld. new_id ( id) , // Needs to be first, for ast_map.
891
+ id : fld. new_id ( id) ,
890
892
ident : fld. fold_ident ( ident) ,
891
893
attrs : attrs. move_map ( |a| fld. fold_attribute ( a) ) ,
892
894
fn_style : fn_style,
@@ -926,7 +928,7 @@ pub fn noop_fold_item<T: Folder>(i: P<Item>, folder: &mut T) -> SmallVector<P<It
926
928
// fold one item into exactly one item
927
929
pub fn noop_fold_item_simple < T : Folder > ( Item { id, ident, attrs, node, vis, span} : Item ,
928
930
folder : & mut T ) -> Item {
929
- let id = folder. new_id ( id) ; // Needs to be first, for ast_map.
931
+ let id = folder. new_id ( id) ;
930
932
let node = folder. fold_item_underscore ( node) ;
931
933
let ident = match node {
932
934
// The node may have changed, recompute the "pretty" impl name.
@@ -948,7 +950,7 @@ pub fn noop_fold_item_simple<T: Folder>(Item {id, ident, attrs, node, vis, span}
948
950
949
951
pub fn noop_fold_foreign_item < T : Folder > ( ni : P < ForeignItem > , folder : & mut T ) -> P < ForeignItem > {
950
952
ni. map ( |ForeignItem { id, ident, attrs, node, span, vis} | ForeignItem {
951
- id : folder. new_id ( id) , // Needs to be first, for ast_map.
953
+ id : folder. new_id ( id) ,
952
954
ident : folder. fold_ident ( ident) ,
953
955
attrs : attrs. move_map ( |x| folder. fold_attribute ( x) ) ,
954
956
node : match node {
@@ -973,7 +975,7 @@ pub fn noop_fold_foreign_item<T: Folder>(ni: P<ForeignItem>, folder: &mut T) ->
973
975
// Invariant: produces exactly one method.
974
976
pub fn noop_fold_method < T : Folder > ( m : P < Method > , folder : & mut T ) -> SmallVector < P < Method > > {
975
977
SmallVector :: one ( m. map ( |Method { id, attrs, node, span} | Method {
976
- id : folder. new_id ( id) , // Needs to be first, for ast_map.
978
+ id : folder. new_id ( id) ,
977
979
attrs : attrs. move_map ( |a| folder. fold_attribute ( a) ) ,
978
980
node : match node {
979
981
MethDecl ( ident,
0 commit comments