diff --git a/src/librustc/middle/trans/type_.rs b/src/librustc/middle/trans/type_.rs index fda8fb4a9016..7b02030078c5 100644 --- a/src/librustc/middle/trans/type_.rs +++ b/src/librustc/middle/trans/type_.rs @@ -189,8 +189,7 @@ impl Type { None => () } - // Bit of a kludge: pick the fn typeref out of the tydesc.. - let ty = cx.tydesc_type.get_field(abi::tydesc_field_drop_glue); + let ty = Type::glue_fn(cx.tydesc_type).ptr_to(); cx.tn.associate_type("glue_fn", &ty); return ty; @@ -269,10 +268,6 @@ impl Type { cx.int_type } - pub fn captured_tydescs(ctx: &CrateContext, num: uint) -> Type { - Type::struct_(vec::from_elem(num, ctx.tydesc_type.ptr_to()), false) - } - pub fn opaque_trait(ctx: &CrateContext, store: ty::TraitStore) -> Type { let tydesc_ptr = ctx.tydesc_type.ptr_to(); match store { diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index f12ecebc6d5c..9e1a0def2eef 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -4453,8 +4453,8 @@ pub fn get_tydesc_ty(tcx: ctxt) -> t { } pub fn get_opaque_ty(tcx: ctxt) -> t { - let tydesc_lang_item = tcx.lang_items.opaque(); - tcx.intrinsic_defs.find_copy(&tydesc_lang_item) + let opaque_lang_item = tcx.lang_items.opaque(); + tcx.intrinsic_defs.find_copy(&opaque_lang_item) .expect("Failed to resolve Opaque") }