mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 11:20:54 +00:00
Merge pull request #19807 from Veykril/lw-qyynkqysuyuy
fix: Don't overwrite `RUSTUP_TOOLCHAIN` if it is already set
This commit is contained in:
commit
0843d06ad2
@ -137,7 +137,12 @@ impl Sysroot {
|
||||
}
|
||||
|
||||
let mut cmd = toolchain::command(tool.prefer_proxy(), current_dir, envs);
|
||||
cmd.env("RUSTUP_TOOLCHAIN", AsRef::<std::path::Path>::as_ref(root));
|
||||
if !envs.contains_key("RUSTUP_TOOLCHAIN")
|
||||
&& std::env::var_os("RUSTUP_TOOLCHAIN").is_none()
|
||||
{
|
||||
cmd.env("RUSTUP_TOOLCHAIN", AsRef::<std::path::Path>::as_ref(root));
|
||||
}
|
||||
|
||||
cmd
|
||||
}
|
||||
_ => toolchain::command(tool.path(), current_dir, envs),
|
||||
|
@ -470,7 +470,11 @@ impl FlycheckActor {
|
||||
let mut cmd =
|
||||
toolchain::command(Tool::Cargo.path(), &*self.root, &options.extra_env);
|
||||
if let Some(sysroot_root) = &self.sysroot_root {
|
||||
cmd.env("RUSTUP_TOOLCHAIN", AsRef::<std::path::Path>::as_ref(sysroot_root));
|
||||
if !options.extra_env.contains_key("RUSTUP_TOOLCHAIN")
|
||||
&& std::env::var_os("RUSTUP_TOOLCHAIN").is_none()
|
||||
{
|
||||
cmd.env("RUSTUP_TOOLCHAIN", AsRef::<std::path::Path>::as_ref(sysroot_root));
|
||||
}
|
||||
}
|
||||
cmd.arg(command);
|
||||
|
||||
|
@ -659,6 +659,10 @@ impl GlobalState {
|
||||
.chain(
|
||||
ws.sysroot
|
||||
.root()
|
||||
.filter(|_| {
|
||||
!self.config.extra_env(None).contains_key("RUSTUP_TOOLCHAIN")
|
||||
&& std::env::var_os("RUSTUP_TOOLCHAIN").is_none()
|
||||
})
|
||||
.map(|it| ("RUSTUP_TOOLCHAIN".to_owned(), Some(it.to_string()))),
|
||||
)
|
||||
.collect(),
|
||||
|
Loading…
x
Reference in New Issue
Block a user