Unnamed repository; edit this file 'description' to name the repository.
Set channel override when querying the sysroot metadata
Laurențiu Nicola 2024-02-14
parent a02a219 · commit c738655
-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 b0a8f0d4a4..24c2edd2c4 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 9bd3a661c2..2efafa10a8 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());