diff options
| author | Markus Westerlind <marwes91@gmail.com> | 2019-03-26 23:45:40 +0100 |
|---|---|---|
| committer | Markus Westerlind <marwes91@gmail.com> | 2019-03-26 23:49:14 +0100 |
| commit | a365287e10c1bbdc2cb5ba33ce71b7a1d56d79f6 (patch) | |
| tree | 4b79235fc3e72be56dc2c956812d4bccf11d0977 | |
| parent | fbd34efb32b9efb574899e4335bdc8c6525ac27e (diff) | |
| download | rust-a365287e10c1bbdc2cb5ba33ce71b7a1d56d79f6.tar.gz rust-a365287e10c1bbdc2cb5ba33ce71b7a1d56d79f6.zip | |
fix: Make incremental artifact deletion more robust
Should fix the intermittent errors reported in #57958 cc #48614
| -rw-r--r-- | src/librustc_incremental/persist/fs.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/librustc_incremental/persist/fs.rs b/src/librustc_incremental/persist/fs.rs index 7dcd5c94bf2..7f697b54484 100644 --- a/src/librustc_incremental/persist/fs.rs +++ b/src/librustc_incremental/persist/fs.rs @@ -886,7 +886,10 @@ fn safe_remove_dir_all(p: &Path) -> io::Result<()> { fn safe_remove_file(p: &Path) -> io::Result<()> { if p.exists() { let canonicalized = p.canonicalize()?; - std_fs::remove_file(canonicalized) + match std_fs::remove_file(canonicalized) { + Err(ref err) if err.kind() == io::ErrorKind::NotFound => Ok(()), + result => result, + } } else { Ok(()) } |
