Trait Filesystem

Source
pub trait Filesystem {
    type File: File;

Show 13 methods // Required methods fn create_dir<P: AsRef<Path>>(&self, path: P) -> IoResult<()>; fn create_dir_all<P: AsRef<Path>>(&self, path: P) -> IoResult<()>; fn rename<P: AsRef<Path>, Q: AsRef<Path>>( &self, from: P, to: Q, ) -> IoResult<()>; fn remove_file<P: AsRef<Path>>(&self, path: P) -> IoResult<()>; fn remove_dir_all<P: AsRef<Path>>(&self, path: P) -> IoResult<()>; fn read_link<P: AsRef<Path>>(&self, path: P) -> IoResult<PathBuf>; fn path_metadata<P: AsRef<Path>>(&self, path: P) -> IoResult<Metadata>; fn symlink_metadata<P: AsRef<Path>>(&self, path: P) -> IoResult<Metadata>; fn file_metadata(&self, file: &Self::File) -> IoResult<Metadata>; fn path_exists<P: AsRef<Path>>(&self, path: P) -> IoResult<bool>; fn open_file<P: AsRef<Path>>(&self, path: P) -> IoResult<Self::File>; fn create_file<P: AsRef<Path>>(&self, path: P) -> IoResult<Self::File>; // Provided method fn symlink_exists<P: AsRef<Path>>(&self, path: P) -> IoResult<bool> { ... }
}
Expand description

Abstraction for all filesystem operations

Required Associated Types§

Required Methods§

Source

fn create_dir<P: AsRef<Path>>(&self, path: P) -> IoResult<()>

Source

fn create_dir_all<P: AsRef<Path>>(&self, path: P) -> IoResult<()>

Source

fn rename<P: AsRef<Path>, Q: AsRef<Path>>(&self, from: P, to: Q) -> IoResult<()>

Source

fn remove_file<P: AsRef<Path>>(&self, path: P) -> IoResult<()>

Source

fn remove_dir_all<P: AsRef<Path>>(&self, path: P) -> IoResult<()>

Source

fn path_metadata<P: AsRef<Path>>(&self, path: P) -> IoResult<Metadata>

Source

fn file_metadata(&self, file: &Self::File) -> IoResult<Metadata>

Source

fn path_exists<P: AsRef<Path>>(&self, path: P) -> IoResult<bool>

Source

fn open_file<P: AsRef<Path>>(&self, path: P) -> IoResult<Self::File>

File::open

Source

fn create_file<P: AsRef<Path>>(&self, path: P) -> IoResult<Self::File>

File::create

Provided Methods§

Check if a path exists WITHOUT resolving symlinks.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§