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|