about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMichael Sullivan <sully@msully.net>2011-06-14 18:37:40 -0700
committerGraydon Hoare <graydon@mozilla.com>2011-06-16 11:47:54 -0700
commitbc33a5fe50f1bd4dd0e64b7e2e18d1b4bba1900e (patch)
tree0ea9bc90c774aa1b81be329492cec38affa64164 /src
parentcfd1f74ebb634eaaa6ca60844690c5cd7de16f52 (diff)
downloadrust-bc33a5fe50f1bd4dd0e64b7e2e18d1b4bba1900e.tar.gz
rust-bc33a5fe50f1bd4dd0e64b7e2e18d1b4bba1900e.zip
Fix bug in move on structure types.
Diffstat (limited to 'src')
-rw-r--r--src/comp/middle/trans.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs
index a83469e73bc..e96c1a26ecd 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: " +