Bug 1493435 - Partially revert servo/servo#21746. r=ajeffrey
authorEmilio Cobos Álvarez <emilio@crisal.io>
Sat, 22 Sep 2018 18:47:57 +0200
changeset 437826 664ee5906d32a4cec74eeb06ec971dfc88116ec7
parent 437825 cd4019543c2bdf57b806d67d353b6e776cf9b19a
child 437827 a5d7a71300f8000625634d67ce5cd242e5e8e4d9
push id34700
push usernerli@mozilla.com
push dateSun, 23 Sep 2018 21:29:56 +0000
treeherdermozilla-central@5e43b977f631 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersajeffrey
bugs1493435, 21746, 21788
milestone64.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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
servo/components/malloc_size_of/Cargo.toml
servo/components/selectors/Cargo.toml
servo/components/style/Cargo.toml
--- a/servo/components/fallible/Cargo.toml
+++ b/servo/components/fallible/Cargo.toml
@@ -5,17 +5,17 @@ authors = ["The Servo Project Developers
 license = "MPL-2.0"
 publish = false
 
 [lib]
 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`
 # feature is specified.
 #
 # In that case, we actually call the system malloc functions to reserve space,
 # otherwise we just let rust do its thing (aborting on OOM).
 #
--- a/servo/components/malloc_size_of/Cargo.toml
+++ b/servo/components/malloc_size_of/Cargo.toml
@@ -32,16 +32,16 @@ hyper = { version = "0.10", optional = t
 hyper_serde = { version = "0.8", optional = true }
 mozjs = { version = "0.9.0", optional = true }
 selectors = { path = "../selectors" }
 serde = { version = "1.0.27", optional = true }
 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 }
 url = { version = "1.2", optional = true }
 webrender_api = { git = "https://github.com/servo/webrender", features = ["ipc"], optional = true }
 xml5ever = { version = "0.12", optional = true }
 void = "1.0.2"
--- a/servo/components/selectors/Cargo.toml
+++ b/servo/components/selectors/Cargo.toml
@@ -23,13 +23,13 @@ bench = []
 bitflags = "1.0"
 matches = "0.1"
 cssparser = "0.24.0"
 log = "0.4"
 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]
 phf_codegen = "0.7.18"
--- a/servo/components/style/Cargo.toml
+++ b/servo/components/style/Cargo.toml
@@ -58,17 +58,17 @@ precomputed-hash = "0.1.1"
 rayon = "1"
 selectors = { path = "../selectors" }
 serde = {version = "1.0", optional = true, features = ["derive"]}
 servo_arc = { path = "../servo_arc" }
 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"}
 servo_url = {path = "../url", optional = true}
 thin-slice = "0.1.0"
 time = "0.1"
 uluru = "0.2"
 unicode-bidi = "0.3"