Bug 1383311 - Require rust 1.19.0. r=froydnj,gps
authorRalph Giles <giles@mozilla.com>
Mon, 24 Jul 2017 07:51:57 -0700
changeset 372686 407de25581a8794c55f1ba888d385f16b8c6f4e6
parent 372685 fa94c05940164dd5b82967d9e2c9c6c840f51d12
child 372687 04cf5e9b8f72c4499a5dba5d1a269375e67006e3
push id32282
push userkwierso@gmail.com
push dateFri, 04 Aug 2017 00:01:29 +0000
treeherdermozilla-central@5742919ec43f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersfroydnj, gps
bugs1383311
milestone57.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 1383311 - Require rust 1.19.0. r=froydnj,gps Bump the minimum required version of the Rust toolchain to the current stable release so we can take advantage of new features. Highlights of the 1.19.0 release: * C-compatible `union` (untagged enums). * Support for Visual Studio 2017. * Non-capturing closures can be coerced to `fn` bindings. * Numeric field names in tuple struct initializers. * Higher macro recursion limit. * `break` can return a value from `loop` expressions. * Better error handling with mis-configured Visual Studio environments. This change also enables 1.18.0 features. Some highlights: * `pub(mod)` &c. for better control of symbol visibility. * struct packing for better memory footprint in generated code. * Faster build times. MozReview-Commit-ID: 2OpUjAcytpE
browser/config/tooltool-manifests/linux64/base-toolchains.manifest
build/moz.configure/rust.configure
--- a/browser/config/tooltool-manifests/linux64/base-toolchains.manifest
+++ b/browser/config/tooltool-manifests/linux64/base-toolchains.manifest
@@ -3,16 +3,16 @@
     "size": 12072532,
     "digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
     "algorithm": "sha512",
     "filename": "gtk3.tar.xz",
     "setup": "setup.sh",
     "unpack": true
   },
   {
-    "version": "rustc 1.17.0 (56124baa9 2017-04-24) repack",
-    "size": 121834488,
-    "digest": "8ce3d979c169af6c6e2bf393aa2bd4825371e87d42ebdfd7d7f06c0e3e69c0d68a3dcd39d9a85bcaa9fe5c6d6fe86e881fc8413d74c2a240204f2bafca781b9d",
+    "version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
+    "size": 161014632,
+    "digest": "65bebcf94fc66ea618c58c9ac33f0f206095ecfe3931cc6edb301f4b40480e3b44b0f39aea7a25fed8eef47e63523e7e670082947a3662cdc04c68ebbe5dfc89",
     "algorithm": "sha512",
     "filename": "rustc.tar.xz",
     "unpack": true
   }
 ]
--- a/build/moz.configure/rust.configure
+++ b/build/moz.configure/rust.configure
@@ -50,17 +50,17 @@ def rust_compiler(rustc_info, cargo_info
         die(dedent('''\
         Rust compiler not found.
         To compile rust language sources, you must have 'rustc' in your path.
         See https://www.rust-lang.org/ for more information.
 
         You can install rust by running './mach bootstrap'
         or by directly running the installer from https://rustup.rs/
         '''))
-    rustc_min_version = Version('1.17.0')
+    rustc_min_version = Version('1.19.0')
     cargo_min_version = Version('0.{}'.format(rustc_min_version.minor + 1))
 
     version = rustc_info.version
     if version < rustc_min_version:
         die(dedent('''\
         Rust compiler {} is too old.
 
         To compile Rust language sources please install at least