Rollup merge of #126140 - eduardosm:stabilize-fs_try_exists, r=Amanieu · rust-lang/rust@f3ced9d (original) (raw)
10 files changed
lines changed
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -2742,18 +2742,15 @@ impl AsInnerMut<fs_imp::DirBuilder> for DirBuilder { | ||
| 2742 | 2742 | /// # Examples |
| 2743 | 2743 | /// |
| 2744 | 2744 | /// ```no_run |
| 2745 | -/// #![feature(fs_try_exists)] | |
| 2746 | 2745 | /// use std::fs; |
| 2747 | 2746 | /// |
| 2748 | -/// assert!(!fs::try_exists("does_not_exist.txt").expect("Can't check existence of file does_not_exist.txt")); | |
| 2749 | -/// assert!(fs::try_exists("/root/secret_file.txt").is_err()); | |
| 2747 | +/// assert!(!fs::exists("does_not_exist.txt").expect("Can't check existence of file does_not_exist.txt")); | |
| 2748 | +/// assert!(fs::exists("/root/secret_file.txt").is_err()); | |
| 2750 | 2749 | /// ``` |
| 2751 | 2750 | /// |
| 2752 | 2751 | /// [`Path::exists`]: crate::path::Path::exists |
| 2753 | -// FIXME: stabilization should modify documentation of `exists()` to recommend this method | |
| 2754 | -// instead. | |
| 2755 | -#[unstable(feature = "fs_try_exists", issue = "83186")] | |
| 2752 | +#[stable(feature = "fs_try_exists", since = "CURRENT_RUSTC_VERSION")] | |
| 2756 | 2753 | #[inline] |
| 2757 | -pub fn try_exists<P: AsRef<Path>>(path: P) -> io::Result<bool> { | |
| 2758 | - fs_imp::try_exists(path.as_ref()) | |
| 2754 | +pub fn exists<P: AsRef<Path>>(path: P) -> io::Result<bool> { | |
| 2755 | + fs_imp::exists(path.as_ref()) | |
| 2759 | 2756 | } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -2907,6 +2907,8 @@ impl Path { | ||
| 2907 | 2907 | /// prevent time-of-check to time-of-use (TOCTOU) bugs. You should only use it in scenarios |
| 2908 | 2908 | /// where those bugs are not an issue. |
| 2909 | 2909 | /// |
| 2910 | + /// This is an alias for [`std::fs::exists`](crate::fs::exists). | |
| 2911 | + /// | |
| 2910 | 2912 | /// # Examples |
| 2911 | 2913 | /// |
| 2912 | 2914 | /// ```no_run |
| @@ -2919,7 +2921,7 @@ impl Path { | ||
| 2919 | 2921 | #[stable(feature = "path_try_exists", since = "1.63.0")] |
| 2920 | 2922 | #[inline] |
| 2921 | 2923 | pub fn try_exists(&self) -> io::Result<bool> { |
| 2922 | - fs::try_exists(self) | |
| 2924 | + fs::exists(self) | |
| 2923 | 2925 | } |
| 2924 | 2926 | |
| 2925 | 2927 | /// Returns `true` if the path exists on disk and is pointing at a regular file. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -18,7 +18,7 @@ use crate::sys::time::SystemTime; | ||
| 18 | 18 | use crate::sys::unsupported; |
| 19 | 19 | use crate::sys_common::{AsInner, AsInnerMut, FromInner, IntoInner}; |
| 20 | 20 | |
| 21 | -pub use crate::sys_common::fs::{copy, try_exists}; | |
| 21 | +pub use crate::sys_common::fs::{copy, exists}; | |
| 22 | 22 | |
| 23 | 23 | #[derive(Debug)] |
| 24 | 24 | pub struct File(FileDesc); |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -12,7 +12,7 @@ use crate::{ | ||
| 12 | 12 | sys::unsupported, |
| 13 | 13 | }; |
| 14 | 14 | |
| 15 | -pub use crate::sys_common::fs::try_exists; | |
| 15 | +pub use crate::sys_common::fs::exists; | |
| 16 | 16 | |
| 17 | 17 | /// A file descriptor. |
| 18 | 18 | #[derive(Clone, Copy)] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -97,7 +97,7 @@ use libc::{ | ||
| 97 | 97 | ))] |
| 98 | 98 | use libc::{dirent64, fstat64, ftruncate64, lseek64, lstat64, off64_t, open64, stat64}; |
| 99 | 99 | |
| 100 | -pub use crate::sys_common::fs::try_exists; | |
| 100 | +pub use crate::sys_common::fs::exists; | |
| 101 | 101 | |
| 102 | 102 | pub struct File(FileDesc); |
| 103 | 103 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -478,7 +478,7 @@ mod cgroups { | ||
| 478 | 478 | |
| 479 | 479 | use crate::borrow::Cow; |
| 480 | 480 | use crate::ffi::OsString; |
| 481 | -use crate::fs::{try_exists, File}; | |
| 481 | +use crate::fs::{exists, File}; | |
| 482 | 482 | use crate::io::Read; |
| 483 | 483 | use crate::io::{BufRead, BufReader}; |
| 484 | 484 | use crate::os::unix::ffi::OsStringExt; |
| @@ -556,7 +556,7 @@ mod cgroups { | ||
| 556 | 556 | path.push("cgroup.controllers"); |
| 557 | 557 | |
| 558 | 558 | // skip if we're not looking at cgroup2 |
| 559 | -if matches!(try_exists(&path), Err(_) | Ok(false)) { | |
| 559 | +if matches!(exists(&path), Err(_) | Ok(false)) { | |
| 560 | 560 | return usize::MAX; |
| 561 | 561 | }; |
| 562 | 562 | |
| @@ -613,7 +613,7 @@ mod cgroups { | ||
| 613 | 613 | path.push(&group_path); |
| 614 | 614 | |
| 615 | 615 | // skip if we guessed the mount incorrectly |
| 616 | -if matches!(try_exists(&path), Err(_) | Ok(false)) { | |
| 616 | +if matches!(exists(&path), Err(_) | Ok(false)) { | |
| 617 | 617 | continue; |
| 618 | 618 | } |
| 619 | 619 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -291,7 +291,7 @@ pub fn remove_dir_all(_path: &Path) -> io::Result<()> { | ||
| 291 | 291 | unsupported() |
| 292 | 292 | } |
| 293 | 293 | |
| 294 | -pub fn try_exists(_path: &Path) -> io::Result<bool> { | |
| 294 | +pub fn exists(_path: &Path) -> io::Result<bool> { | |
| 295 | 295 | unsupported() |
| 296 | 296 | } |
| 297 | 297 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -17,7 +17,7 @@ use crate::sys::time::SystemTime; | ||
| 17 | 17 | use crate::sys::unsupported; |
| 18 | 18 | use crate::sys_common::{AsInner, FromInner, IntoInner}; |
| 19 | 19 | |
| 20 | -pub use crate::sys_common::fs::try_exists; | |
| 20 | +pub use crate::sys_common::fs::exists; | |
| 21 | 21 | |
| 22 | 22 | pub struct File { |
| 23 | 23 | fd: WasiFd, |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1531,7 +1531,7 @@ pub fn junction_point(original: &Path, link: &Path) -> io::Result<()> { | ||
| 1531 | 1531 | } |
| 1532 | 1532 | |
| 1533 | 1533 | // Try to see if a file exists but, unlike `exists`, report I/O errors. |
| 1534 | -pub fn try_exists(path: &Path) -> io::Result<bool> { | |
| 1534 | +pub fn exists(path: &Path) -> io::Result<bool> { | |
| 1535 | 1535 | // Open the file to ensure any symlinks are followed to their target. |
| 1536 | 1536 | let mut opts = OpenOptions::new(); |
| 1537 | 1537 | // No read, write, etc access rights are needed. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -42,7 +42,7 @@ fn remove_dir_all_recursive(path: &Path) -> io::Result<()> { | ||
| 42 | 42 | fs::remove_dir(path) |
| 43 | 43 | } |
| 44 | 44 | |
| 45 | -pub fn try_exists(path: &Path) -> io::Result<bool> { | |
| 45 | +pub fn exists(path: &Path) -> io::Result<bool> { | |
| 46 | 46 | match fs::metadata(path) { |
| 47 | 47 | Ok(_) => Ok(true), |
| 48 | 48 | Err(error) if error.kind() == io::ErrorKind::NotFound => Ok(false), |