Struct DirBuilder

pub struct DirBuilder { pub(in ::fs) inner: DirBuilder, pub(in ::fs) recursive: bool }

A builder used to create directories in various manners.

This builder also supports platform-specific options.

Fields

inner: DirBuilder
recursive: bool

Implementations

impl DirBuilder

fn new() -> DirBuilder

Creates a new set of options with default mode/security settings for all platforms and also non-recursive.

Examples

use std::fs::DirBuilder;

let builder = DirBuilder::new();
fn recursive(&mut self, recursive: bool) -> &mut Self

Indicates that directories should be created recursively, creating all parent directories. Parents that do not exist are created with the same security and permissions settings.

This option defaults to false.

Examples

use std::fs::DirBuilder;

let mut builder = DirBuilder::new();
builder.recursive(true);
fn create<P: AsRef<Path>>(&self, path: P) -> Result<()>

Creates the specified directory with the options configured in this builder.

It is considered an error if the directory already exists unless recursive mode is enabled.

Examples

use std::fs::{self, DirBuilder};

let path = "/tmp/foo/bar/baz";
DirBuilder::new()
    .recursive(true)
    .create(path).unwrap();

assert!(fs::metadata(path).unwrap().is_dir());
fn _create(&self, path: &Path) -> Result<()>
fn create_dir_all(&self, path: &Path) -> Result<()>

Trait Implementations

impl AsInnerMut<DirBuilder> for DirBuilder

fn as_inner_mut(&mut self) -> &mut DirBuilder

impl Debug for DirBuilder

fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl DirBuilderExt for DirBuilder

fn mode(&mut self, mode: u32) -> &mut DirBuilder

Auto Trait Implementations

impl Freeze for DirBuilder

impl RefUnwindSafe for DirBuilder

impl Send for DirBuilder

impl Sync for DirBuilder

impl Unpin for DirBuilder

impl UnsafeUnpin for DirBuilder

impl UnwindSafe for DirBuilder

Blanket Implementations

impl<T> Any for DirBuilder where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for DirBuilder where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for DirBuilder where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> From<T> for DirBuilder

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> SizeHint for DirBuilder where T: ?Sized,

fn lower_bound(&self) -> usize
fn upper_bound(&self) -> Option<usize>

impl<T> SizedTypeProperties for DirBuilder

impl<T, U> Into<U> for DirBuilder where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for DirBuilder where U: Into<T>,

type Error = Infallible;
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto<U> for DirBuilder where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>