//! The code for the generic `FileSystem` trait.
//!//! Also contains both physical and in-memory implementations
//! of a file system.
pubuseself::physical::Physical;pubuseself::memory::Memory;modphysical;modmemory;use Error;usestd::path::Path;/// A filesystem mountable as FTP.
pubtraitFileSystem{/// List all files/directories at a specific path.
fnlist(&self, path:&Path)->Result<Vec<String>, Error>;/// Make a new directory.
fncreate_dir(&mutself, path:&Path)->Result<(), Error>;/// Write data into a file.
fnwrite_file(&mutself, path:&Path, data:Vec<u8>)->Result<(), Error>;/// Read data from a file.
fnread_file(&self, path:&Path)->Result<Vec<u8>, Error>;}