@@ -334,7 +334,7 @@ fn noop_fold_pat(p: pat_, fld: ast_fold) -> pat_ {
334
334
pat_ident( pth, sub) {
335
335
pat_ident ( fld. fold_path ( pth) , option:: map ( sub, fld. fold_pat ) )
336
336
}
337
- pat_lit ( _ ) { p }
337
+ pat_lit ( e ) { pat_lit ( fld . fold_expr ( e ) ) }
338
338
pat_enum ( pth, pats) {
339
339
pat_enum ( fld. fold_path ( pth) , vec:: map ( pats, fld. fold_pat ) )
340
340
}
@@ -348,7 +348,9 @@ fn noop_fold_pat(p: pat_, fld: ast_fold) -> pat_ {
348
348
pat_tup ( elts) { pat_tup ( vec:: map ( elts, fld. fold_pat ) ) }
349
349
pat_box ( inner) { pat_box ( fld. fold_pat ( inner) ) }
350
350
pat_uniq ( inner) { pat_uniq ( fld. fold_pat ( inner) ) }
351
- pat_range ( _, _) { p }
351
+ pat_range ( e1, e2) {
352
+ pat_range ( fld. fold_expr ( e1) , fld. fold_expr ( e2) )
353
+ }
352
354
} ;
353
355
}
354
356
@@ -698,7 +700,7 @@ fn make_fold(afp: ast_fold_precursor) -> ast_fold {
698
700
}
699
701
fn f_ty( afp : ast_fold_precursor , f : ast_fold , & & x: @ty) -> @ty {
700
702
let ( n , s ) = afp. fold_ty ( x. node , x. span , f ) ;
701
- ret @{ id : x. id , node : n , span : afp. new_span ( s ) } ;
703
+ ret @{ id : afp . new_id ( x. id ) , node : n , span : afp. new_span ( s ) } ;
702
704
}
703
705
fn f_constr ( afp : ast_fold_precursor , f : ast_fold , & & x: @ast:: constr ) ->
704
706
@ast:: constr {
0 commit comments