diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/middle/trans/common.rs | 4 | ||||
| -rw-r--r-- | src/librustc/middle/trans/tvec.rs | 2 |
2 files changed, 2 insertions, 4 deletions
diff --git a/src/librustc/middle/trans/common.rs b/src/librustc/middle/trans/common.rs index e1e026c3171..90083541e42 100644 --- a/src/librustc/middle/trans/common.rs +++ b/src/librustc/middle/trans/common.rs @@ -64,7 +64,7 @@ pub fn type_is_immediate(ccx: &CrateContext, ty: ty::t) -> bool { let tcx = ccx.tcx; let simple = ty::type_is_scalar(ty) || ty::type_is_boxed(ty) || ty::type_is_unique(ty) || ty::type_is_region_ptr(ty) || - type_is_newtype_immediate(ccx, ty) || + type_is_newtype_immediate(ccx, ty) || ty::type_is_bot(ty) || ty::type_is_simd(tcx, ty); if simple { return true; @@ -75,7 +75,7 @@ pub fn type_is_immediate(ccx: &CrateContext, ty: ty::t) -> bool { let llty = sizing_type_of(ccx, ty); llsize_of_alloc(ccx, llty) <= llsize_of_alloc(ccx, ccx.int_type) } - _ => false + _ => type_is_voidish(ccx, ty) } } diff --git a/src/librustc/middle/trans/tvec.rs b/src/librustc/middle/trans/tvec.rs index c119bed189d..1642d333a9a 100644 --- a/src/librustc/middle/trans/tvec.rs +++ b/src/librustc/middle/trans/tvec.rs @@ -553,7 +553,6 @@ pub fn get_base_and_byte_len(bcx: &Block, match vstore { ty::vstore_fixed(n) => { - assert!(!type_is_immediate(bcx.ccx(), vt.vec_ty)); let base = GEPi(bcx, llval, [0u, 0u]); let len = Mul(bcx, C_uint(ccx, n), vt.llunit_size); (base, len) @@ -596,7 +595,6 @@ pub fn get_base_and_len(bcx: &Block, match vstore { ty::vstore_fixed(n) => { - assert!(!type_is_immediate(bcx.ccx(), vt.vec_ty)); let base = GEPi(bcx, llval, [0u, 0u]); (base, C_uint(ccx, n)) } |
