pub trait JsonLoad where Self: DeserializeOwned, { fn loaded(&mut self, _prev: Option<&mut Self>) -> Result<()> { ... } fn load<P: AsRef<Path>>(path: P) -> Result<Self> { ... } }