Bug 1383311 - Require rust 1.19.0. draft
authorRalph Giles <giles@mozilla.com>
Mon, 24 Jul 2017 07:51:57 -0700
changeset 619218 4ec38954fce2d00feb1ccd92a5fa0e393e71e174
parent 619065 ef9a0f01e4f68214f0ff8f4631783b8a0e075a82
child 640342 912a9de57db4d4c21386e2b08aed7766237ec5dd
push id71618
push userbmo:giles@thaumas.net
push dateTue, 01 Aug 2017 19:46:25 +0000
bugs1383311
milestone56.0a1
Bug 1383311 - Require rust 1.19.0. 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