Allow rustc bootstrap to use unstable features even though it's using a beta-cargo
authorOliver Schneider <github35764891676564198441@oli-obk.de>
Wed, 6 Jun 2018 12:33:50 +0000 (14:33 +0200)
committerOliver Schneider <github35764891676564198441@oli-obk.de>
Wed, 6 Jun 2018 12:33:50 +0000 (14:33 +0200)
src/cargo/core/features.rs

index c08d4cdddbe76f3ef1a5bd46b8c9bcf4d0b6b219..40b7c53ae641c3d43e69f382b0ad40a2d95c8807 100644 (file)
@@ -354,12 +354,18 @@ impl CliUnstable {
 }
 
 fn channel() -> String {
-    env::var("__CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS").unwrap_or_else(|_| {
-        ::version()
-            .cfg_info
-            .map(|c| c.release_channel)
-            .unwrap_or_else(|| String::from("dev"))
-    })
+    if let Ok(staging) = env::var("RUSTC_BOOTSTRAP") {
+        if staging == "1" {
+            return "dev".to_string();
+        }
+    }
+    if let Ok(override_channel) = env::var("__CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS") {
+        return override_channel;
+    }
+    ::version()
+        .cfg_info
+        .map(|c| c.release_channel)
+        .unwrap_or_else(|| String::from("dev"))
 }
 
 fn nightly_features_allowed() -> bool {