diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index 3db5be5f55a6369e079fdaced2ce47082138aa84..b1c84acebc327e73a298b6155aebd1a267ebc4ec 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -1218,13 +1218,17 @@ fn hit_zero(@block_ctxt cx, ValueRef v) -> result { cx.build.GEP(v, vec(C_int(0), C_int(abi.box_rc_field_body))); + auto bindings = + cx.build.GEP(body, + vec(C_int(0), + C_int(abi.closure_elt_bindings))); auto tydescptr = cx.build.GEP(body, vec(C_int(0), C_int(abi.closure_elt_tydesc))); - call_tydesc_glue_full(cx, body, cx.build.Load(tydescptr), + call_tydesc_glue_full(cx, bindings, cx.build.Load(tydescptr), abi.tydesc_field_drop_glue_off);