diff --git a/src/libstd/sys/windows/fs.rs b/src/libstd/sys/windows/fs.rs index 512c9cb838c0..7e3b16558d4d 100644 --- a/src/libstd/sys/windows/fs.rs +++ b/src/libstd/sys/windows/fs.rs @@ -613,10 +613,10 @@ fn remove_dir_all_recursive(path: &Path) -> io::Result<()> { for child in readdir(path)? { let child = child?; let child_type = child.file_type()?; - if child_type.is_symlink_dir() { - rmdir(&child.path())?; - } else if child_type.is_dir() { + if child_type.is_dir() { remove_dir_all_recursive(&child.path())?; + } else if child_type.is_symlink_dir() { + rmdir(&child.path())?; } else { unlink(&child.path())?; }