diff --git a/src/librustc/middle/trans/common.rs b/src/librustc/middle/trans/common.rs index ddfcd2630fa..5845b0616d8 100644 --- a/src/librustc/middle/trans/common.rs +++ b/src/librustc/middle/trans/common.rs @@ -70,11 +70,7 @@ pub fn type_is_immediate(ccx: &mut CrateContext, ty: ty::t) -> bool { return true; } match ty::get(ty).sty { - // FIXME: #9651: small `ty_struct` should also be immediate - ty::ty_struct(def_id, ref substs) => { - ty::struct_fields(tcx, def_id, substs).is_empty() - } - ty::ty_enum(*) | ty::ty_tup(*) => { + ty::ty_struct(*) | ty::ty_enum(*) | ty::ty_tup(*) => { let llty = sizing_type_of(ccx, ty); llsize_of_alloc(ccx, llty) <= llsize_of_alloc(ccx, ccx.int_type) } diff --git a/src/libstd/unstable/sync.rs b/src/libstd/unstable/sync.rs index 066c2173b5a..f3945d8f3c9 100644 --- a/src/libstd/unstable/sync.rs +++ b/src/libstd/unstable/sync.rs @@ -26,7 +26,7 @@ use vec; /// An atomically reference counted pointer. /// /// Enforces no shared-memory safety. -#[unsafe_no_drop_flag] +//#[unsafe_no_drop_flag] FIXME: #9758 pub struct UnsafeArc { data: *mut ArcData, } @@ -427,6 +427,8 @@ mod tests { use util; use sys::size_of; + //#[unsafe_no_drop_flag] FIXME: #9758 + #[ignore] #[test] fn test_size() { assert_eq!(size_of::>(), size_of::<*[int, ..10]>());