diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-08-22 14:33:31 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-08-22 14:34:55 -0700 |
| commit | 0f1f5e67ea13eb9ac19a88dfc1cd4894450ed879 (patch) | |
| tree | 755dc2735d2763cd5cd8a3e2c247c3e57f8090eb /src/comp | |
| parent | fd8ca2cf5d11dac095bc9153bd32b442ac481cb1 (diff) | |
| download | rust-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.rs | 4 |
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(_) { |
