pub trait ProjectFile<'de, Data>where
Data: Serialize + Deserialize<'de>,{
// Required method
fn path(&self) -> PathBuf;
// Provided methods
fn base_path() -> PathBuf { ... }
fn create(&self) -> Result<File, Box<dyn Error>> { ... }
fn delete(&self) -> Result<(), Box<dyn Error>> { ... }
fn open(&self) -> Result<File, Box<dyn Error>> { ... }
fn write(&mut self, data: &Data) -> Result<(), Box<dyn Error>> { ... }
fn read(&self) -> Result<ReadIn<Data>, Box<dyn Error>> { ... }
}Required Methods§
Provided Methods§
fn base_path() -> PathBuf
fn create(&self) -> Result<File, Box<dyn Error>>
fn delete(&self) -> Result<(), Box<dyn Error>>
fn open(&self) -> Result<File, Box<dyn Error>>
fn write(&mut self, data: &Data) -> Result<(), Box<dyn Error>>
fn read(&self) -> Result<ReadIn<Data>, Box<dyn Error>>
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.