pub trait SingletonPersist: for<'a> Deserialize<'a> + Serialize + Default {
    // Required methods
    fn name() -> String;
    fn dir_name() -> String;

    // Provided methods
    fn save(&self) { ... }
    fn delete(self) { ... }
    fn open() { ... }
    fn dir() -> PathBuf { ... }
    fn path() -> PathBuf { ... }
    fn load() -> Self { ... }
}
Expand description

For singleton stuff, like config files, they need to implement default so a new one is created at first load.

Required Methods§

Provided Methods§

source

fn save(&self)

source

fn delete(self)

source

fn open()

source

fn dir() -> PathBuf

source

fn path() -> PathBuf

source

fn load() -> Self

Object Safety§

This trait is not object safe.

Implementors§