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§
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>
Provided Methods§
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.