about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc_trans/base.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/librustc_trans/base.rs b/src/librustc_trans/base.rs
index 3e1c2fa4283..c6d072c5399 100644
--- a/src/librustc_trans/base.rs
+++ b/src/librustc_trans/base.rs
@@ -1660,8 +1660,8 @@ impl<'blk, 'tcx> FunctionContext<'blk, 'tcx> {
                     self.schedule_drop_mem(arg_scope_id, llarg, arg_ty, None);
 
                     datum::Datum::new(llarg,
-                                    arg_ty,
-                                    datum::Lvalue::new("FunctionContext::bind_args"))
+                                      arg_ty,
+                                      datum::Lvalue::new("FunctionContext::bind_args"))
                 } else {
                     let lltmp = if common::type_is_fat_ptr(bcx.tcx(), arg_ty) {
                         let lltemp = alloc_ty(bcx, arg_ty, "");
@@ -1683,6 +1683,7 @@ impl<'blk, 'tcx> FunctionContext<'blk, 'tcx> {
                         // And coerce the temporary into the type we expect.
                         b.pointercast(lltemp, arg.memory_ty(bcx.ccx()).ptr_to())
                     };
+                    bcx.fcx.schedule_drop_mem(arg_scope_id, lltmp, arg_ty, None);
                     datum::Datum::new(lltmp, arg_ty,
                                       datum::Lvalue::new("bind_args"))
                 }