Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/project-model/src/toolchain_info/target_data_layout.rs')
| -rw-r--r-- | crates/project-model/src/toolchain_info/target_data_layout.rs | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/crates/project-model/src/toolchain_info/target_data_layout.rs b/crates/project-model/src/toolchain_info/target_data_layout.rs index 94645a91f6..a4d0ec6953 100644 --- a/crates/project-model/src/toolchain_info/target_data_layout.rs +++ b/crates/project-model/src/toolchain_info/target_data_layout.rs @@ -4,13 +4,13 @@ use anyhow::Context; use rustc_hash::FxHashMap; use toolchain::Tool; -use crate::{toolchain_info::QueryConfig, utf8_stdout, Sysroot}; +use crate::{Sysroot, toolchain_info::QueryConfig, utf8_stdout}; /// Uses `rustc --print target-spec-json`. pub fn get( config: QueryConfig<'_>, target: Option<&str>, - extra_env: &FxHashMap<String, String>, + extra_env: &FxHashMap<String, Option<String>>, ) -> anyhow::Result<String> { const RUSTC_ARGS: [&str; 2] = ["--print", "target-spec-json"]; let process = |output: String| { @@ -21,8 +21,7 @@ pub fn get( }; let (sysroot, current_dir) = match config { QueryConfig::Cargo(sysroot, cargo_toml) => { - let mut cmd = sysroot.tool(Tool::Cargo, cargo_toml.parent()); - cmd.envs(extra_env); + let mut cmd = sysroot.tool(Tool::Cargo, cargo_toml.parent(), extra_env); cmd.env("RUSTC_BOOTSTRAP", "1"); cmd.args(["rustc", "-Z", "unstable-options"]).args(RUSTC_ARGS).args([ "--", @@ -43,11 +42,8 @@ pub fn get( QueryConfig::Rustc(sysroot, current_dir) => (sysroot, current_dir), }; - let mut cmd = Sysroot::tool(sysroot, Tool::Rustc, current_dir); - cmd.envs(extra_env) - .env("RUSTC_BOOTSTRAP", "1") - .args(["-Z", "unstable-options"]) - .args(RUSTC_ARGS); + let mut cmd = Sysroot::tool(sysroot, Tool::Rustc, current_dir, extra_env); + cmd.env("RUSTC_BOOTSTRAP", "1").args(["-Z", "unstable-options"]).args(RUSTC_ARGS); if let Some(target) = target { cmd.args(["--target", target]); } |