diff --git a/src/rustc/middle/trans/base.rs b/src/rustc/middle/trans/base.rs index b19dcf762dac..69280657a0d0 100644 --- a/src/rustc/middle/trans/base.rs +++ b/src/rustc/middle/trans/base.rs @@ -1424,11 +1424,7 @@ fn copy_val_no_check(bcx: block, action: copy_action, dst: ValueRef, // FIXME: We always zero out the source. Ideally we would detect the // case where a variable is always deinitialized by block exit and thus // doesn't need to be dropped. (Issue #839) -// n.b. + argument mode on cx is a workaround for #2633. Note that cx isn't -// passed by value by default because currently, a newtype-like enum whose -// representation is a box isn't considered to be boxed (and thus, not -// considered immediate). -fn move_val(+cx: block, action: copy_action, dst: ValueRef, +fn move_val(cx: block, action: copy_action, dst: ValueRef, src: lval_result, t: ty::t) -> block { let _icx = cx.insn_ctxt("move_val"); let mut src_val = src.val;