@@ -49,7 +49,7 @@ type ast_fold[ENV] =
49
49
( fn( & ENV e, & span sp, vec[ @ty] elts) -> @ty) fold_ty_tup,
50
50
51
51
( fn ( & ENV e, & span sp,
52
- vec[ tup ( ident , @ty ) ] elts) -> @ty) fold_ty_rec,
52
+ vec[ ast . ty_field ] elts) -> @ty) fold_ty_rec,
53
53
54
54
( fn ( & ENV e, & span sp,
55
55
vec[ rec ( ast. mode mode, @ty ty) ] inputs,
@@ -65,12 +65,10 @@ type ast_fold[ENV] =
65
65
vec[ @expr] es, ann a) -> @expr) fold_expr_vec,
66
66
67
67
( fn ( & ENV e, & span sp,
68
- vec[ tup ( mutability, @expr) ] es,
69
- ann a) -> @expr) fold_expr_tup,
68
+ vec[ ast. elt ] es, ann a) -> @expr) fold_expr_tup,
70
69
71
70
( fn ( & ENV e, & span sp,
72
- vec[ tup ( ident, @expr) ] fields,
73
- ann a) -> @expr) fold_expr_rec,
71
+ vec[ ast. field ] fields, ann a) -> @expr) fold_expr_rec,
74
72
75
73
( fn( & ENV e, & span sp,
76
74
@expr f, vec[ @expr] args,
@@ -252,16 +250,16 @@ fn fold_ty[ENV](&ENV env, ast_fold[ENV] fld, @ty t) -> @ty {
252
250
for ( @ty elt in elts) {
253
251
append[ @ty] ( elts_, fold_ty ( env, fld, elt) ) ;
254
252
}
255
- ret fld. fold_ty_tup ( env_, t. span , elts ) ;
253
+ ret fld. fold_ty_tup ( env_, t. span , elts_ ) ;
256
254
}
257
255
258
- case ( ast. ty_rec ( ?elts ) ) {
259
- let vec[ tup ( ident , @ty ) ] elts_ = vec ( ) ;
260
- for ( tup ( ident , @ty ) elt in elts ) {
261
- append[ tup ( ident , @ty ) ]
262
- ( elts_ , tup ( elt . _0 , fold_ty ( env, fld, elt . _1 ) ) ) ;
256
+ case ( ast. ty_rec ( ?flds ) ) {
257
+ let vec[ ast . ty_field ] flds_ = vec ( ) ;
258
+ for ( ast . ty_field f in flds ) {
259
+ append[ ast . ty_field ]
260
+ ( flds_ , rec ( ty= fold_ty ( env, fld, f . ty ) with f ) ) ;
263
261
}
264
- ret fld. fold_ty_rec ( env_, t. span , elts ) ;
262
+ ret fld. fold_ty_rec ( env_, t. span , flds_ ) ;
265
263
}
266
264
267
265
case ( ast. ty_path ( ?pth, ?ref_opt) ) {
@@ -347,14 +345,13 @@ fn fold_exprs[ENV](&ENV env, ast_fold[ENV] fld, vec[@expr] es) -> vec[@expr] {
347
345
ret exprs;
348
346
}
349
347
350
- fn fold_tup_entry[ ENV ] ( & ENV env, ast_fold[ ENV ] fld,
351
- & tup ( mutability, @expr) e) -> tup ( mutability, @expr) {
352
- ret tup ( e. _0 , fold_expr ( env, fld, e. _1 ) ) ;
348
+ fn fold_tup_elt[ ENV ] ( & ENV env, ast_fold[ ENV ] fld, & ast. elt e) -> ast. elt {
349
+ ret rec ( expr=fold_expr ( env, fld, e. expr ) with e) ;
353
350
}
354
351
355
- fn fold_rec_entry [ ENV ] ( & ENV env, ast_fold[ ENV ] fld, & tup ( ident , @expr ) e )
356
- -> tup ( ident , @expr ) {
357
- ret tup ( e . _0 , fold_expr ( env, fld, e . _1 ) ) ;
352
+ fn fold_rec_field [ ENV ] ( & ENV env, ast_fold[ ENV ] fld, & ast . field f )
353
+ -> ast . field {
354
+ ret rec ( expr= fold_expr ( env, fld, f . expr ) with f ) ;
358
355
}
359
356
360
357
fn fold_expr[ ENV ] ( & ENV env, ast_fold[ ENV ] fld, & @expr e) -> @expr {
@@ -372,19 +369,19 @@ fn fold_expr[ENV](&ENV env, ast_fold[ENV] fld, &@expr e) -> @expr {
372
369
}
373
370
374
371
case ( ast. expr_tup ( ?es, ?t) ) {
375
- let vec[ tup ( mutability , @expr ) ] entries = vec ( ) ;
376
- for ( tup ( mutability , @expr ) entry in es) {
377
- entries += fold_tup_entry [ ENV ] ( env, fld, entry ) ;
372
+ let vec[ ast . elt ] elts = vec ( ) ;
373
+ for ( ast . elt e in es) {
374
+ elts += fold_tup_elt [ ENV ] ( env, fld, e ) ;
378
375
}
379
- ret fld. fold_expr_tup ( env_, e. span , entries , t) ;
376
+ ret fld. fold_expr_tup ( env_, e. span , elts , t) ;
380
377
}
381
378
382
- case ( ast. expr_rec ( ?es , ?t) ) {
383
- let vec[ tup ( ident , @expr ) ] entries = vec ( ) ;
384
- for ( tup ( ident , @expr ) entry in es ) {
385
- entries += fold_rec_entry ( env, fld, entry ) ;
379
+ case ( ast. expr_rec ( ?fs , ?t) ) {
380
+ let vec[ ast . field ] fields = vec ( ) ;
381
+ for ( ast . field f in fs ) {
382
+ fields += fold_rec_field ( env, fld, f ) ;
386
383
}
387
- ret fld. fold_expr_rec ( env_, e. span , entries , t) ;
384
+ ret fld. fold_expr_rec ( env_, e. span , fields , t) ;
388
385
}
389
386
390
387
case ( ast. expr_call ( ?f, ?args, ?t) ) {
@@ -680,7 +677,7 @@ fn identity_fold_ty_tup[ENV](&ENV env, &span sp,
680
677
}
681
678
682
679
fn identity_fold_ty_rec[ ENV ] ( & ENV env, & span sp,
683
- vec[ tup ( ident , @ty ) ] elts) -> @ty {
680
+ vec[ ast . ty_field ] elts) -> @ty {
684
681
ret @respan ( sp, ast. ty_rec ( elts) ) ;
685
682
}
686
683
@@ -708,13 +705,12 @@ fn identity_fold_expr_vec[ENV](&ENV env, &span sp, vec[@expr] es,
708
705
}
709
706
710
707
fn identity_fold_expr_tup[ ENV ] ( & ENV env, & span sp,
711
- vec[ tup ( mutability, @expr) ] es,
712
- ann a) -> @expr {
708
+ vec[ ast. elt ] es, ann a) -> @expr {
713
709
ret @respan ( sp, ast. expr_tup ( es, a) ) ;
714
710
}
715
711
716
712
fn identity_fold_expr_rec[ ENV ] ( & ENV env, & span sp,
717
- vec[ tup ( ident , @expr ) ] fields, ann a) -> @expr {
713
+ vec[ ast . field ] fields, ann a) -> @expr {
718
714
ret @respan ( sp, ast. expr_rec ( fields, a) ) ;
719
715
}
720
716
0 commit comments