pub trait FileSystem:
Debug
+ Send
+ Sync
+ 'static
+ Upcastable {
// Required methods
fn readlink(&self, path: &Path) -> Result<PathBuf>;
fn read_dir(&self, path: &Path) -> Result<ReadDir>;
fn create_dir(&self, path: &Path) -> Result<()>;
fn remove_dir(&self, path: &Path) -> Result<()>;
fn rename<'a>(
&'a self,
from: &'a Path,
to: &'a Path,
) -> BoxFuture<'a, Result<()>>;
fn metadata(&self, path: &Path) -> Result<Metadata>;
fn symlink_metadata(&self, path: &Path) -> Result<Metadata>;
fn remove_file(&self, path: &Path) -> Result<()>;
fn new_open_options(&self) -> OpenOptions<'_>;
// Provided method
fn create_symlink(&self, _source: &Path, _target: &Path) -> Result<()> { ... }
}Required Methods§
fn readlink(&self, path: &Path) -> Result<PathBuf>
fn read_dir(&self, path: &Path) -> Result<ReadDir>
fn create_dir(&self, path: &Path) -> Result<()>
fn remove_dir(&self, path: &Path) -> Result<()>
fn rename<'a>( &'a self, from: &'a Path, to: &'a Path, ) -> BoxFuture<'a, Result<()>>
fn metadata(&self, path: &Path) -> Result<Metadata>
Sourcefn symlink_metadata(&self, path: &Path) -> Result<Metadata>
fn symlink_metadata(&self, path: &Path) -> Result<Metadata>
This method gets metadata without following symlinks in the path.
Currently identical to metadata because symlinks aren’t implemented
yet.