pub trait FileManager: Send + Sync {
// Required methods
fn scan_source(&self, layers: &[FileLayer]) -> Result<FileTree>;
fn scan_target(&self, paths: &[PathBuf]) -> Result<FileTree>;
fn diff(
&self,
source: &FileTree,
target: &FileTree,
) -> Result<Vec<FileDiff>>;
fn apply(&self, actions: &[FileAction], printer: &Printer) -> Result<()>;
}Required Methods§
fn scan_source(&self, layers: &[FileLayer]) -> Result<FileTree>
fn scan_target(&self, paths: &[PathBuf]) -> Result<FileTree>
fn diff(&self, source: &FileTree, target: &FileTree) -> Result<Vec<FileDiff>>
fn apply(&self, actions: &[FileAction], printer: &Printer) -> Result<()>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".