about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLaurențiu Nicola <lnicola@dend.ro>2024-02-14 08:45:11 +0200
committerLaurențiu Nicola <lnicola@dend.ro>2024-02-14 08:45:11 +0200
commitc73865518816aff7309b9336939961b73508b2ac (patch)
tree102990cb055e4f16958d21a5b4069495a2037ae3
parenta02a219773629686bd8ff123ca1aa995fa50d976 (diff)
downloadrust-c73865518816aff7309b9336939961b73508b2ac.tar.gz
rust-c73865518816aff7309b9336939961b73508b2ac.zip
Set channel override when querying the sysroot metadata
-rw-r--r--crates/project-model/src/sysroot.rs10
-rw-r--r--xtask/src/metrics.rs2
2 files changed, 9 insertions, 3 deletions
diff --git a/crates/project-model/src/sysroot.rs b/crates/project-model/src/sysroot.rs
index b0a8f0d4a41..24c2edd2c4f 100644
--- a/crates/project-model/src/sysroot.rs
+++ b/crates/project-model/src/sysroot.rs
@@ -254,10 +254,18 @@ impl Sysroot {
                 .ok()?;
                 let current_dir =
                     AbsPathBuf::try_from(&*format!("{sysroot_src_dir}/sysroot")).ok()?;
+
+                let mut cargo_config = CargoConfig::default();
+                // the sysroot uses `public-dependency`, so we make cargo think it's a nightly
+                cargo_config.extra_env.insert(
+                    "__CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS".to_owned(),
+                    "nightly".to_owned(),
+                );
+
                 let res = CargoWorkspace::fetch_metadata(
                     &sysroot_cargo_toml,
                     &current_dir,
-                    &CargoConfig::default(),
+                    &cargo_config,
                     None,
                     &|_| (),
                 )
diff --git a/xtask/src/metrics.rs b/xtask/src/metrics.rs
index 9bd3a661c24..2efafa10a82 100644
--- a/xtask/src/metrics.rs
+++ b/xtask/src/metrics.rs
@@ -117,8 +117,6 @@ impl Metrics {
             sh,
             "./target/release/rust-analyzer -q analysis-stats {path} --query-sysroot-metadata"
         )
-        // the sysroot uses `public-dependency`, so we make cargo think it's a nightly
-        .env("__CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS", "nightly")
         .read()?;
         for (metric, value, unit) in parse_metrics(&output) {
             self.report(&format!("analysis-stats/{name}/{metric}"), value, unit.into());