]> git.lizzy.rs Git - rust.git/blobdiff - compiler/rustc_fs_util/src/lib.rs
Rollup merge of #80521 - richkadel:llvm-coverage-counters-2.4.0, r=wesleywiser
[rust.git] / compiler / rustc_fs_util / src / lib.rs
index 7742961e65dbb6198fa9d69a0deed5d8d0e71611..87e97c746ef564e586048e94f863ab417f9f1027 100644 (file)
@@ -62,8 +62,10 @@ pub enum LinkOrCopy {
 pub fn link_or_copy<P: AsRef<Path>, Q: AsRef<Path>>(p: P, q: Q) -> io::Result<LinkOrCopy> {
     let p = p.as_ref();
     let q = q.as_ref();
-    if q.exists() {
-        fs::remove_file(&q)?;
+    match fs::remove_file(&q) {
+        Ok(()) => (),
+        Err(err) if err.kind() == io::ErrorKind::NotFound => (),
+        Err(err) => return Err(err),
     }
 
     match fs::hard_link(p, q) {