@@ -88,10 +88,11 @@ fn fold_meta_item_(&&mi: @meta_item, fld: ast_fold) -> @meta_item {
88
88
meta_word ( id) { meta_word ( fld. fold_ident ( id) ) }
89
89
meta_list ( id, mis) {
90
90
let fold_meta_item = bind fold_meta_item_ ( _, fld) ;
91
- meta_list ( id, vec:: map ( mis, fold_meta_item) )
91
+ meta_list ( /* FIXME: bad */ copy id,
92
+ vec:: map ( mis, fold_meta_item) )
92
93
}
93
94
meta_name_value ( id, s) {
94
- meta_name_value ( fld. fold_ident ( id) , s)
95
+ meta_name_value ( fld. fold_ident ( id) , /* FIXME: bad */ copy s)
95
96
}
96
97
} ,
97
98
span : fld. new_span ( mi. span ) } ;
@@ -121,8 +122,8 @@ fn fold_mac_(m: mac, fld: ast_fold) -> mac {
121
122
mac_embed_type ( ty) { mac_embed_type ( fld. fold_ty ( ty) ) }
122
123
mac_embed_block ( blk) { mac_embed_block ( fld. fold_block ( blk) ) }
123
124
mac_ellipsis { mac_ellipsis }
124
- mac_aq( _, _) { /* fixme */ m. node }
125
- mac_var ( _) { /* fixme */ m. node }
125
+ mac_aq( _, _) { /* FIXME: bad */ copy m. node }
126
+ mac_var ( _) { /* FIXME: bad */ copy m. node }
126
127
} ,
127
128
span : fld. new_span ( m. span ) } ;
128
129
}
@@ -143,7 +144,7 @@ fn fold_ty_param_bound(tpb: ty_param_bound, fld: ast_fold) -> ty_param_bound {
143
144
}
144
145
145
146
fn fold_ty_param ( tp : ty_param , fld : ast_fold ) -> ty_param {
146
- { ident: tp. ident ,
147
+ { ident: /* FIXME: bad */ copy tp. ident ,
147
148
id: fld. new_id ( tp. id ) ,
148
149
bounds: @vec:: map ( * tp. bounds , fold_ty_param_bound ( _, fld) ) }
149
150
}
@@ -166,19 +167,20 @@ fn noop_fold_crate_directive(cd: crate_directive_, fld: ast_fold) ->
166
167
crate_directive_ {
167
168
ret alt cd {
168
169
cdir_src_mod( id, attrs) {
169
- cdir_src_mod ( fld. fold_ident ( id) , attrs)
170
+ cdir_src_mod ( fld. fold_ident ( id) , /* FIXME: bad */ copy attrs)
170
171
}
171
172
cdir_dir_mod ( id, cds, attrs) {
172
173
cdir_dir_mod ( fld. fold_ident ( id) ,
173
- vec:: map ( cds, fld. fold_crate_directive ) , attrs)
174
+ vec:: map ( cds, fld. fold_crate_directive ) ,
175
+ /* FIXME: bad */ copy attrs)
174
176
}
175
177
cdir_view_item ( vi) { cdir_view_item ( fld. fold_view_item ( vi) ) }
176
- cdir_syntax ( _) { cd }
178
+ cdir_syntax ( _) { copy cd }
177
179
}
178
180
}
179
181
180
182
fn noop_fold_view_item ( vi : view_item_ , _fld : ast_fold ) -> view_item_ {
181
- ret vi;
183
+ ret /* FIXME: bad */ copy vi;
182
184
}
183
185
184
186
@@ -220,7 +222,8 @@ fn noop_fold_class_item(&&ci: @class_member, fld: ast_fold)
220
222
-> @class_member {
221
223
@{ node: alt ci. node {
222
224
instance_var ( ident, t, cm, id, p) {
223
- instance_var ( ident, fld. fold_ty ( t) , cm, id, p)
225
+ instance_var ( /* FIXME: bad */ copy ident, fld. fold_ty ( t) , cm, id,
226
+ p)
224
227
}
225
228
class_method ( m) { class_method ( fld. fold_method ( m) ) }
226
229
} ,
@@ -256,7 +259,7 @@ fn noop_fold_item_underscore(i: item_, fld: ast_fold) -> item_ {
256
259
id : dtor_id with dtor. node }
257
260
with dtor} } ;
258
261
item_class (
259
- typms,
262
+ /* FIXME: bad */ copy typms,
260
263
vec:: map ( ifaces, { |p| fold_iface_ref ( p, fld) } ) ,
261
264
vec:: map ( items, fld. fold_class_item ) ,
262
265
{ node : { body : ctor_body,
@@ -274,7 +277,7 @@ fn noop_fold_item_underscore(i: item_, fld: ast_fold) -> item_ {
274
277
item_iface ( tps, rp, methods) {
275
278
item_iface ( fold_ty_params ( tps, fld) ,
276
279
rp,
277
- methods)
280
+ /* FIXME: bad */ copy methods)
278
281
}
279
282
item_res ( decl, typms, body, did, cid, rp) {
280
283
item_res ( fold_fn_decl ( decl, fld) ,
@@ -293,7 +296,7 @@ fn fold_iface_ref(&&p: @iface_ref, fld: ast_fold) -> @iface_ref {
293
296
294
297
fn noop_fold_method ( & & m: @method , fld : ast_fold ) -> @method {
295
298
ret @{ ident : fld. fold_ident ( m. ident ) ,
296
- attrs : m. attrs ,
299
+ attrs : /* FIXME: bad */ copy m. attrs ,
297
300
tps : fold_ty_params ( m. tps , fld) ,
298
301
decl : fold_fn_decl ( m. decl , fld) ,
299
302
body : fld. fold_block ( m. body ) ,
@@ -328,7 +331,7 @@ fn noop_fold_arm(a: arm, fld: ast_fold) -> arm {
328
331
329
332
fn noop_fold_pat ( p : pat_ , fld : ast_fold ) -> pat_ {
330
333
ret alt p {
331
- pat_wild { p }
334
+ pat_wild { pat_wild }
332
335
pat_ident( pth, sub) {
333
336
pat_ident ( fld. fold_path ( pth) , option:: map ( sub, fld. fold_pat ) )
334
337
}
@@ -340,7 +343,8 @@ fn noop_fold_pat(p: pat_, fld: ast_fold) -> pat_ {
340
343
pat_rec ( fields, etc) {
341
344
let mut fs = [ ] ;
342
345
for fields. each { |f|
343
- fs += [ { ident : f. ident, pat : fld. fold_pat( f. pat) } ] ;
346
+ fs += [ { ident : /* FIXME: bad */ copy f. ident,
347
+ pat : fld. fold_pat( f. pat) } ] ;
344
348
}
345
349
pat_rec ( fs, etc)
346
350
}
@@ -410,7 +414,7 @@ fn noop_fold_expr(e: expr_, fld: ast_fold) -> expr_ {
410
414
}
411
415
expr_unary ( binop, ohs) { expr_unary ( binop, fld. fold_expr ( ohs) ) }
412
416
expr_loop_body ( f) { expr_loop_body ( fld. fold_expr ( f) ) }
413
- expr_lit ( _) { e }
417
+ expr_lit ( _) { copy e }
414
418
expr_cast ( expr, ty) { expr_cast ( fld. fold_expr ( expr) , ty) }
415
419
expr_addr_of ( m, ohs) { expr_addr_of ( m, fld. fold_expr ( ohs) ) }
416
420
expr_if ( cond, tr, fl) {
@@ -462,7 +466,7 @@ fn noop_fold_expr(e: expr_, fld: ast_fold) -> expr_ {
462
466
}
463
467
expr_path ( pth) { expr_path ( fld. fold_path ( pth) ) }
464
468
expr_fail ( e) { expr_fail ( option:: map ( e, fld. fold_expr ) ) }
465
- expr_break | expr_cont { e }
469
+ expr_break | expr_cont { copy e }
466
470
expr_ret( e) { expr_ret ( option:: map ( e, fld. fold_expr ) ) }
467
471
expr_log ( i, lv, e) { expr_log ( i, fld. fold_expr ( lv) ,
468
472
fld. fold_expr ( e) ) }
@@ -487,7 +491,7 @@ fn noop_fold_ty(t: ty_, fld: ast_fold) -> ty_ {
487
491
span: fld. new_span ( f. span ) }
488
492
}
489
493
alt t {
490
- ty_nil | ty_bot { t}
494
+ ty_nil | ty_bot | ty_infer { copy t}
491
495
ty_box( mt) { ty_box ( fold_mt ( mt, fld) ) }
492
496
ty_uniq ( mt) { ty_uniq ( fold_mt ( mt, fld) ) }
493
497
ty_vec ( mt) { ty_vec ( fold_mt ( mt, fld) ) }
@@ -501,17 +505,18 @@ fn noop_fold_ty(t: ty_, fld: ast_fold) -> ty_ {
501
505
vec:: map ( constrs, fld. fold_ty_constr ) ) }
502
506
ty_vstore ( t, vs) { ty_vstore ( fld. fold_ty ( t) , vs) }
503
507
ty_mac ( mac) { ty_mac ( fold_mac ( mac) ) }
504
- ty_infer { t}
505
508
}
506
509
}
507
510
508
511
fn noop_fold_constr ( c : constr_ , fld : ast_fold ) -> constr_ {
509
- { path: fld. fold_path ( c. path ) , args: c. args , id: fld. new_id ( c. id ) }
512
+ { path: fld. fold_path ( c. path ) , args: /* FIXME: bad */ copy c. args ,
513
+ id: fld. new_id ( c. id ) }
510
514
}
511
515
512
516
fn noop_fold_ty_constr ( c : ty_constr_ , fld : ast_fold ) -> ty_constr_ {
513
517
let rslt: ty_constr_ =
514
- { path: fld. fold_path ( c. path ) , args: c. args , id: fld. new_id ( c. id ) } ;
518
+ { path: fld. fold_path ( c. path ) , args: /* FIXME: bad */ copy c. args ,
519
+ id: fld. new_id ( c. id ) } ;
515
520
rslt
516
521
}
517
522
// ...nor do modules
@@ -539,14 +544,16 @@ fn noop_fold_variant(v: variant_, fld: ast_fold) -> variant_ {
539
544
some ( e) { some ( fld. fold_expr ( e) ) }
540
545
none { none}
541
546
} ;
542
- ret { name : v. name ,
547
+ ret { name : /* FIXME: bad */ copy v. name ,
543
548
attrs : attrs,
544
549
args : args, id : fld. new_id ( v. id ) ,
545
550
disr_expr : de,
546
551
vis : v. vis } ;
547
552
}
548
553
549
- fn noop_fold_ident ( & & i: ident , _fld : ast_fold ) -> ident { ret i; }
554
+ fn noop_fold_ident ( & & i: ident , _fld : ast_fold ) -> ident {
555
+ ret /* FIXME: bad */ copy i;
556
+ }
550
557
551
558
fn noop_fold_path ( & & p: path , fld : ast_fold ) -> path {
552
559
ret { span : fld. new_span ( p. span ) , global : p. global ,
@@ -639,8 +646,8 @@ impl of ast_fold for ast_fold_precursor {
639
646
fn fold_class_item ( & & ci: @class_member ) -> @class_member {
640
647
@{ node : alt ci. node {
641
648
instance_var ( nm , t , mt , id , p ) {
642
- instance_var ( nm , ( self as ast_fold ) . fold_ty ( t ) ,
643
- mt , id , p )
649
+ instance_var ( /* FIXME: bad */ copy nm ,
650
+ ( self as ast_fold ) . fold_ty ( t ) , mt , id , p )
644
651
}
645
652
class_method ( m ) {
646
653
class_method( self . fold_method( m, self as ast_fold) )
0 commit comments