From e049a50395833ff8060a7d65b072192faec98fb6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= <emilio@crisal.io>
Date: Sat, 22 Sep 2018 18:47:57 +0200
Subject: [PATCH] Bug 1493435 - Partially revert servo/servo#21746. r=ajeffrey

This reverts the relevant bits from #21746 so that style and dependencies can
build with stable.

This is important because:

 * `selectors` is a published crate.

 * Gecko compiles with stable (more or less).

I reviewed that PR under the assumption that the union feature was stable, since
untagged unions are stable since 1.19, but turns out that smallvec uses non-Copy
types in unions, which are still unstable.

This leaves the union feature used on Servo, so that it gets testing, taking
advantage of features being additive.

This cherry-picks servo/servo#21788.
---
 servo/components/fallible/Cargo.toml       | 2 +-
 servo/components/malloc_size_of/Cargo.toml | 2 +-
 servo/components/selectors/Cargo.toml      | 2 +-
 servo/components/style/Cargo.toml          | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/servo/components/fallible/Cargo.toml b/servo/components/fallible/Cargo.toml
index 7b5291304be13..e8f5314693b97 100644
--- a/servo/components/fallible/Cargo.toml
+++ b/servo/components/fallible/Cargo.toml
@@ -10,7 +10,7 @@ name = "fallible"
 path = "lib.rs"
 
 [dependencies]
-smallvec = { version = "0.6", features = ["std", "union"] }
+smallvec = "0.6"
 hashglobe = { path = "../hashglobe" }
 
 # This crate effectively does nothing except if the `known_system_malloc`
diff --git a/servo/components/malloc_size_of/Cargo.toml b/servo/components/malloc_size_of/Cargo.toml
index 7ecb2d5942272..cd05b5d50c09b 100644
--- a/servo/components/malloc_size_of/Cargo.toml
+++ b/servo/components/malloc_size_of/Cargo.toml
@@ -37,7 +37,7 @@ serde_bytes = { version = "0.10", optional = true }
 servo_arc = { path = "../servo_arc" }
 servo_channel = { path = "../channel", optional = true }
 smallbitvec = "2.1.0"
-smallvec = { version = "0.6", features = ["std", "union"] }
+smallvec = "0.6"
 string_cache = { version = "0.7", optional = true }
 thin-slice = "0.1.0"
 time = { version = "0.1.17", optional = true }
diff --git a/servo/components/selectors/Cargo.toml b/servo/components/selectors/Cargo.toml
index 76cb50bcf82ef..f7a0a6a85ce02 100644
--- a/servo/components/selectors/Cargo.toml
+++ b/servo/components/selectors/Cargo.toml
@@ -28,7 +28,7 @@ fxhash = "0.2"
 phf = "0.7.18"
 precomputed-hash = "0.1"
 servo_arc = { version = "0.1", path = "../servo_arc" }
-smallvec = { version = "0.6", features = ["std", "union"] }
+smallvec = "0.6"
 thin-slice = "0.1.0"
 
 [build-dependencies]
diff --git a/servo/components/style/Cargo.toml b/servo/components/style/Cargo.toml
index c52d60a393609..79c8e45024f21 100644
--- a/servo/components/style/Cargo.toml
+++ b/servo/components/style/Cargo.toml
@@ -63,7 +63,7 @@ servo_atoms = {path = "../atoms", optional = true}
 servo_channel = {path = "../channel", optional = true}
 servo_config = {path = "../config", optional = true}
 smallbitvec = "2.1.1"
-smallvec = { version = "0.6", features = ["std", "union"] }
+smallvec = "0.6"
 string_cache = { version = "0.7", optional = true }
 style_derive = {path = "../style_derive"}
 style_traits = {path = "../style_traits"}
-- 
GitLab