Skip to content

Commit f7e7cc2

Browse files
committed
Auto merge of #12820 - linyihai:broken-symlink-target, r=weihanglo
add detailed message when target folder path is invalid # What does this PR try to resolve? close #12789 add more detailed message when target folder path is invalid # How should we test and review this PR? Before this PR, if the target folder refer to broken symbolic link like /a/b/c, then run cargo build, the output is: ``` error: Not a directory (os error 20) ``` the detailed error message is missing. This PR will add the error context for it, the finall output will be ``` cargo build error: failed to create directory `/root/workspace/playground/target` Caused by: Not a directory (os error 20) ```
2 parents c3fc03e + ceac419 commit f7e7cc2

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

crates/cargo-util/src/paths.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,8 @@ pub fn create_dir_all_excluded_from_backups_atomic(p: impl AsRef<Path>) -> Resul
694694
// we can infer from it's another cargo process doing work.
695695
if let Err(e) = fs::rename(tempdir.path(), path) {
696696
if !path.exists() {
697-
return Err(anyhow::Error::from(e));
697+
return Err(anyhow::Error::from(e))
698+
.with_context(|| format!("failed to create directory `{}`", path.display()));
698699
}
699700
}
700701
Ok(())

0 commit comments

Comments
 (0)