blob: eedbe41c433a70c3567cbc52e8eb6ec919bbedfb [file] [log] [blame]
//! Reliably remove a directory and all of its children.
//!
//! This library provides a reliable implementation of `remove_dir_all` for Windows.
//! For Unix systems, it re-exports `std::fs::remove_dir_all`.
//!
//! It also provides `remove_dir_contents` and `ensure_empty_dir`
//! for both Unix and Windows.
#![deny(missing_debug_implementations)]
#![deny(missing_docs)]
#![deny(rust_2018_idioms)]
// See under "known problems" https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic
#![allow(clippy::mutex_atomic)]
#[cfg(doctest)]
#[macro_use]
extern crate doc_comment;
#[cfg(doctest)]
doctest!("../README.md");
#[cfg(windows)]
mod fs;
#[cfg(not(windows))]
mod unix;
mod portable;
#[cfg(windows)]
pub use self::fs::remove_dir_all;
#[cfg(not(windows))]
pub use std::fs::remove_dir_all;
pub use portable::ensure_empty_dir;
pub use portable::remove_dir_contents;