mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-29 05:15:04 +00:00
fix: failed to infer OUT_DIR when workspace root contains symlink
This commit is contained in:
parent
9d8889cdfc
commit
22cda959b3
6 changed files with 114 additions and 27 deletions
|
@ -407,6 +407,7 @@ impl ProjectWorkspace {
|
|||
workspaces: &[ProjectWorkspace],
|
||||
config: &CargoConfig,
|
||||
progress: &dyn Fn(String),
|
||||
workspace_root: &AbsPathBuf,
|
||||
) -> Vec<anyhow::Result<WorkspaceBuildScripts>> {
|
||||
if matches!(config.invocation_strategy, InvocationStrategy::PerWorkspace)
|
||||
|| config.run_build_script_command.is_none()
|
||||
|
@ -421,11 +422,13 @@ impl ProjectWorkspace {
|
|||
_ => None,
|
||||
})
|
||||
.collect();
|
||||
let outputs = &mut match WorkspaceBuildScripts::run_once(config, &cargo_ws, progress) {
|
||||
Ok(it) => Ok(it.into_iter()),
|
||||
// io::Error is not Clone?
|
||||
Err(e) => Err(sync::Arc::new(e)),
|
||||
};
|
||||
let outputs =
|
||||
&mut match WorkspaceBuildScripts::run_once(config, &cargo_ws, progress, workspace_root)
|
||||
{
|
||||
Ok(it) => Ok(it.into_iter()),
|
||||
// io::Error is not Clone?
|
||||
Err(e) => Err(sync::Arc::new(e)),
|
||||
};
|
||||
|
||||
workspaces
|
||||
.iter()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue