use crate::*; /// Create a new directory and all parent directories. #[must_use] pub fn make_directory(path: impl AsRef) -> WriteResult<()> { let make_result = std::fs::DirBuilder::new().recursive(true).create(&path); Ok(io_result_to_write_result(make_result, &path.as_ref())?) } /// Create the parent directory of a path. #[must_use] pub fn make_parent_directory(path: impl AsRef) -> WriteResult<()> { match path.as_ref().parent() { Some(parent) => make_directory(parent), None => Ok(()), } }