remove_dir_all 1.0.0

A safe, reliable implementation of remove_dir_all for Windows
Documentation
//! Private trait to deal with OS variance

#[cfg(not(windows))]
use std::fmt::Debug;
use std::{fs::File, io, path::Path};

pub(crate) trait Io {
    #[cfg(not(windows))]
    type UniqueIdentifier: PartialEq + Debug;

    fn duplicate_fd(f: &mut File) -> io::Result<File>;

    fn open_dir(p: &Path) -> io::Result<File>;

    #[cfg(not(windows))]
    #[allow(dead_code)]
    fn unique_identifier(d: &File) -> io::Result<Self::UniqueIdentifier>;

    #[cfg(not(windows))]
    fn is_eloop(e: &io::Error) -> bool;
}