@@ -539,22 +539,22 @@ fn emit_tydescs(ccx: @crate_ctxt) {
539
539
let glue_fn_ty = T_ptr ( T_glue_fn ( ccx) ) ;
540
540
let ti = val;
541
541
let take_glue =
542
- alt ti. take_glue {
542
+ alt copy ti. take_glue {
543
543
none { ccx. stats . n_null_glues += 1 u; C_null ( glue_fn_ty) }
544
544
some ( v) { ccx. stats . n_real_glues += 1 u; v }
545
545
} ;
546
546
let drop_glue =
547
- alt ti. drop_glue {
547
+ alt copy ti. drop_glue {
548
548
none { ccx. stats . n_null_glues += 1 u; C_null ( glue_fn_ty) }
549
549
some ( v) { ccx. stats . n_real_glues += 1 u; v }
550
550
} ;
551
551
let free_glue =
552
- alt ti. free_glue {
552
+ alt copy ti. free_glue {
553
553
none { ccx. stats . n_null_glues += 1 u; C_null ( glue_fn_ty) }
554
554
some ( v) { ccx. stats . n_real_glues += 1 u; v }
555
555
} ;
556
556
let visit_glue =
557
- alt ti. visit_glue {
557
+ alt copy ti. visit_glue {
558
558
none { ccx. stats . n_null_glues += 1 u; C_null ( glue_fn_ty) }
559
559
some ( v) { ccx. stats . n_real_glues += 1 u; v }
560
560
} ;
@@ -2308,7 +2308,7 @@ fn trans_local_var(cx: block, def: ast::def) -> local_var_result {
2308
2308
ret take_local( cx. fcx . lllocals , nid) ;
2309
2309
}
2310
2310
ast:: def_self ( _) {
2311
- let slf = alt cx. fcx . llself {
2311
+ let slf = alt copy cx. fcx . llself {
2312
2312
some ( s) { s }
2313
2313
none { cx. sess ( ) . bug ( "trans_local_var: reference to self \
2314
2314
out of context") ; }
@@ -3030,7 +3030,7 @@ fn trans_call_inner(
3030
3030
Unreachable ( bcx) ;
3031
3031
} else if ret_in_loop {
3032
3032
bcx = with_cond ( bcx, Load ( bcx, option:: get ( ret_flag) ) ) { |bcx|
3033
- option:: iter ( bcx. fcx . loop_ret ) { |lret|
3033
+ option:: iter ( copy bcx. fcx . loop_ret ) { |lret|
3034
3034
Store ( bcx, C_bool ( true ) , lret. flagptr ) ;
3035
3035
Store ( bcx, C_bool ( false ) , bcx. fcx . llretptr ) ;
3036
3036
}
@@ -3119,7 +3119,7 @@ fn get_landing_pad(bcx: block) -> BasicBlockRef {
3119
3119
let mut cached = none, pad_bcx = bcx; // Guaranteed to be set below
3120
3120
in_lpad_scope_cx ( bcx) { |inf|
3121
3121
// If there is a valid landing pad still around, use it
3122
- alt inf. landing_pad {
3122
+ alt copy inf. landing_pad {
3123
3123
some ( target) { cached = some ( target) ; }
3124
3124
none {
3125
3125
pad_bcx = sub_block ( bcx, "unwind" ) ;
@@ -3148,7 +3148,7 @@ fn get_landing_pad(bcx: block) -> BasicBlockRef {
3148
3148
3149
3149
// We store the retval in a function-central alloca, so that calls to
3150
3150
// Resume can find it.
3151
- alt bcx. fcx . personality {
3151
+ alt copy bcx. fcx . personality {
3152
3152
some ( addr) { Store ( pad_bcx, llretval, addr) ; }
3153
3153
none {
3154
3154
let addr = alloca ( pad_bcx, val_ty ( llretval) ) ;
@@ -3831,7 +3831,7 @@ fn trans_cont(cx: block) -> block {
3831
3831
fn trans_ret ( bcx : block , e : option < @ast:: expr > ) -> block {
3832
3832
let _icx = bcx. insn_ctxt ( "trans_ret" ) ;
3833
3833
let mut bcx = bcx;
3834
- let retptr = alt bcx. fcx . loop_ret {
3834
+ let retptr = alt copy bcx. fcx . loop_ret {
3835
3835
some ( { flagptr, retptr} ) {
3836
3836
// This is a loop body return. Must set continue flag (our retptr)
3837
3837
// to false, return flag to true, and then store the value in the
0 commit comments