Skip to content

Commit 6eb0c10

Browse files
authored
Rollup merge of rust-lang#133298 - n0toose:remove-dir-all-but-not-paths, r=Noratrieb
Mention that std::fs::remove_dir_all fails on files This is explicitly mentioned for std::fs::remove_file. It is more likely for a slightly lazy programmer to believe that removing a file would work and that they do not have to distinguish between directories (with contents) and files themself, because of the function's recursive nature and how it distinguishes between files and directories when removing them. Follow-up for rust-lang#133183.
2 parents d9da2d5 + 4760f7c commit 6eb0c10

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

std/src/fs.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2804,8 +2804,9 @@ pub fn remove_dir<P: AsRef<Path>>(path: P) -> io::Result<()> {
28042804
///
28052805
/// See [`fs::remove_file`] and [`fs::remove_dir`].
28062806
///
2807-
/// `remove_dir_all` will fail if `remove_dir` or `remove_file` fail on any constituent paths, including the root path.
2807+
/// `remove_dir_all` will fail if `remove_dir` or `remove_file` fail on any constituent paths, including the root `path`.
28082808
/// As a result, the directory you are deleting must exist, meaning that this function is not idempotent.
2809+
/// Additionally, `remove_dir_all` will also fail if the `path` is not a directory.
28092810
///
28102811
/// Consider ignoring the error if validating the removal is not required for your use case.
28112812
///

0 commit comments

Comments
 (0)