mirror of
				https://github.com/rust-lang/rust-analyzer.git
				synced 2025-10-31 12:04:43 +00:00 
			
		
		
		
	fix: Don't overwrite RUSTUP_TOOLCHAIN if it is already set
				
					
				
			This commit is contained in:
		
							parent
							
								
									b3e086ad10
								
							
						
					
					
						commit
						09ecc4cbf6
					
				
					 3 changed files with 15 additions and 2 deletions
				
			
		|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lukas Wirth
						Lukas Wirth