fix a sized deallocation issue in the glue code
This commit is contained in:
parent
6eabd85265
commit
395e453c06
1 changed files with 1 additions and 4 deletions
|
@ -111,9 +111,6 @@ pub fn get_drop_glue_type(ccx: &CrateContext, t: ty::t) -> ty::t {
|
||||||
return ty::mk_i8();
|
return ty::mk_i8();
|
||||||
}
|
}
|
||||||
match ty::get(t).sty {
|
match ty::get(t).sty {
|
||||||
ty::ty_box(typ) if !ty::type_needs_drop(tcx, typ) =>
|
|
||||||
ty::mk_box(tcx, ty::mk_i8()),
|
|
||||||
|
|
||||||
ty::ty_uniq(typ) if !ty::type_needs_drop(tcx, typ)
|
ty::ty_uniq(typ) if !ty::type_needs_drop(tcx, typ)
|
||||||
&& ty::type_is_sized(tcx, typ) => {
|
&& ty::type_is_sized(tcx, typ) => {
|
||||||
let llty = sizing_type_of(ccx, typ);
|
let llty = sizing_type_of(ccx, typ);
|
||||||
|
@ -121,7 +118,7 @@ pub fn get_drop_glue_type(ccx: &CrateContext, t: ty::t) -> ty::t {
|
||||||
if llsize_of_alloc(ccx, llty) == 0 {
|
if llsize_of_alloc(ccx, llty) == 0 {
|
||||||
ty::mk_i8()
|
ty::mk_i8()
|
||||||
} else {
|
} else {
|
||||||
ty::mk_uniq(tcx, ty::mk_i8())
|
t
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_ => t
|
_ => t
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue