From bc33a5fe50f1bd4dd0e64b7e2e18d1b4bba1900e Mon Sep 17 00:00:00 2001 From: Michael Sullivan Date: Tue, 14 Jun 2011 18:37:40 -0700 Subject: [PATCH] Fix bug in move on structure types. --- src/comp/middle/trans.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index a83469e73bcf..e96c1a26ecdf 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -3043,7 +3043,7 @@ fn move_val(@block_ctxt cx, copy_action action, ValueRef dst, ValueRef src, ty::type_is_native(cx.fcx.lcx.ccx.tcx, t)) { ret res(cx, cx.build.Store(src, dst)); } else if (ty::type_is_nil(cx.fcx.lcx.ccx.tcx, t) || - ty::type_is_bot(cx.fcx.lcx.ccx.tcx, t)) { + ty::type_is_bot(cx.fcx.lcx.ccx.tcx, t)) { ret res(cx, C_nil()); } else if (ty::type_is_boxed(cx.fcx.lcx.ccx.tcx, t)) { if (action == DROP_EXISTING) { @@ -3054,7 +3054,7 @@ fn move_val(@block_ctxt cx, copy_action action, ValueRef dst, ValueRef src, } else if (ty::type_is_structural(cx.fcx.lcx.ccx.tcx, t) || ty::type_has_dynamic_size(cx.fcx.lcx.ccx.tcx, t)) { if (action == DROP_EXISTING) { cx = drop_ty(cx, dst, t).bcx; } - auto r = memmove_ty(cx, dst, cx.build.Load(src), t); + auto r = memmove_ty(cx, dst, src, t); ret zero_alloca(r.bcx, src, t); } cx.fcx.lcx.ccx.sess.bug("unexpected type in trans::move_val: " +