From 321f9e2aea0e64b91d6f9d87caea425051d1e49f Mon Sep 17 00:00:00 2001 From: Ralf Jung <post@ralfj.de> Date: Mon, 4 Nov 2019 16:35:44 +0100 Subject: [PATCH] don't check in arrays, to give smallvec users some time --- src/librustc_target/abi/mod.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/librustc_target/abi/mod.rs b/src/librustc_target/abi/mod.rs index daeff52cfb0b2..b67f2372b2e2c 100644 --- a/src/librustc_target/abi/mod.rs +++ b/src/librustc_target/abi/mod.rs @@ -1154,9 +1154,11 @@ impl<'a, Ty> TyLayout<'a, Ty> { match inner.fields { FieldPlacement::Union(..) => true, // An all-0 unit is fine. - FieldPlacement::Array { count, .. } => - count == 0 || // 0-length arrays are always okay. - inner.field(cx, 0).to_result()?.might_permit_zero_init(cx)?, + FieldPlacement::Array { .. } => + // FIXME: The widely use smallvec 0.6 creates uninit arrays + // with any element type, so let us not (yet) complain about that. + // count == 0 || inner.field(cx, 0).to_result()?.might_permit_zero_init(cx)? + true, FieldPlacement::Arbitrary { ref offsets, .. } => // Check that all fields accept zero-init. (0..offsets.len()).try_fold(true, |accu, idx|