Set channel override when querying the sysroot metadata

This commit is contained in:
Laurențiu Nicola 2024-02-14 08:45:11 +02:00
parent a02a219773
commit c738655188
2 changed files with 9 additions and 3 deletions

View file

@ -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,
&|_| (),
)

View file

@ -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());