Function tracing::stdlib::fs::create_dir_all
1.0.0 · source · pub fn create_dir_all<P>(path: P) -> Result<(), Error>
Expand description
Recursively create a directory and all of its parent components if they are missing.
If this function returns an error, some of the parent components might have been created already.
If the empty path is passed to this function, it always succeeds without creating any directories.
§Platform-specific behavior
This function currently corresponds to multiple calls to the mkdir
function on Unix and the CreateDirectoryW
function on Windows.
Note that, this may change in the future.
§Errors
The function will return an error if any directory specified in path does not exist and
could not be created. There may be other error conditions; see fs::create_dir
for specifics.
Notable exception is made for situations where any of the directories
specified in the path
could not be created as it was being created concurrently.
Such cases are considered to be successful. That is, calling create_dir_all
concurrently from multiple threads or processes is guaranteed not to fail
due to a race condition with itself.
§Examples
use std::fs;
fn main() -> std::io::Result<()> {
fs::create_dir_all("/some/dir")?;
Ok(())
}