from_as_file/
fromasfile.rs

1use std::error::Error;
2use std::path::Path;
3
4pub trait FromFile<RHS = Self> {
5    type Error: Error;
6
7    fn from_file<P: AsRef<Path>>(path: P) -> Result<RHS, Self::Error>
8    where
9        for<'de> Self: serde::Deserialize<'de>;
10}
11
12pub trait AsFile {
13    type Error: Error;
14
15    fn as_file<P: AsRef<Path>>(&self, path: P) -> Result<(), Self::Error>
16    where
17        Self: serde::Serialize;
18
19    fn as_file_pretty<P: AsRef<Path>>(&self, path: P) -> Result<(), Self::Error>
20    where
21        Self: serde::Serialize;
22}