about summary refs log tree commit diff
path: root/src/comp
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-08-22 14:33:31 -0700
committerBrian Anderson <banderson@mozilla.com>2011-08-22 14:34:55 -0700
commit0f1f5e67ea13eb9ac19a88dfc1cd4894450ed879 (patch)
tree755dc2735d2763cd5cd8a3e2c247c3e57f8090eb /src/comp
parentfd8ca2cf5d11dac095bc9153bd32b442ac481cb1 (diff)
downloadrust-0f1f5e67ea13eb9ac19a88dfc1cd4894450ed879.tar.gz
rust-0f1f5e67ea13eb9ac19a88dfc1cd4894450ed879.zip
Create correct drop glue for istrs. Issue #855
Diffstat (limited to 'src/comp')
-rw-r--r--src/comp/middle/trans.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs
index 2239718cc24..309be3fd2db 100644
--- a/src/comp/middle/trans.rs
+++ b/src/comp/middle/trans.rs
@@ -1426,6 +1426,10 @@ fn make_drop_glue(cx: &@block_ctxt, v0: ValueRef, t: ty::t) {
             let rslt = iter_structural_ty(cx, v1, t, drop_ty);
             maybe_free_ivec_heap_part(rslt.bcx, v1, tm.ty)
           }
+          ty::ty_istr. {
+            maybe_free_ivec_heap_part(cx, v0,
+                                      ty::mk_mach(ccx.tcx, ast::ty_u8))
+          }
           ty::ty_box(_) { decr_refcnt_maybe_free(cx, v0, v0, t) }
           ty::ty_uniq(_) { trans_shared_free(cx, cx.build.Load(v0)) }
           ty::ty_obj(_) {