Trait LoadFromFile

Source
pub trait LoadFromFile: Sized {
    type Error;

    // Required method
    fn load_from_file<'async_trait>(
        filename: impl AsRef<Path> + Send + 'async_trait,
    ) -> Pin<Box<dyn Future<Output = Result<Self, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait;
}

Required Associated Types§

Required Methods§

Source

fn load_from_file<'async_trait>( filename: impl AsRef<Path> + Send + 'async_trait, ) -> Pin<Box<dyn Future<Output = Result<Self, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait,

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.

Implementations on Foreign Types§

Source§

impl LoadFromFile for String

Implements LoadFromFile for Vec, reading its contents from a raw JSON file.

Source§

type Error = SaveLoadError

Source§

fn load_from_file<'async_trait>( filename: impl AsRef<Path> + Send + 'async_trait, ) -> Pin<Box<dyn Future<Output = Result<String, <String as LoadFromFile>::Error>> + Send + 'async_trait>>
where String: 'async_trait,

Source§

impl<K, V> LoadFromFile for HashMap<K, V>
where K: Serialize + DeserializeOwned + Eq + Hash + Send + Sync + 'static, V: Serialize + DeserializeOwned + Send + Sync + 'static,

Source§

type Error = SaveLoadError

Source§

fn load_from_file<'async_trait>( filename: impl AsRef<Path> + Send + 'async_trait, ) -> Pin<Box<dyn Future<Output = Result<HashMap<K, V>, <HashMap<K, V> as LoadFromFile>::Error>> + Send + 'async_trait>>
where HashMap<K, V>: 'async_trait,

Source§

impl<T> LoadFromFile for Vec<T>
where T: Serialize + DeserializeOwned + Send + Sync + 'static,

Implements LoadFromFile for Vec<T>, reading its contents from JSON array, where T: Serialize + DeserializeOwned + Send + Sync + 'static.

Source§

type Error = SaveLoadError

Source§

fn load_from_file<'async_trait>( filename: impl AsRef<Path> + Send + 'async_trait, ) -> Pin<Box<dyn Future<Output = Result<Vec<T>, <Vec<T> as LoadFromFile>::Error>> + Send + 'async_trait>>
where Vec<T>: 'async_trait,

Implementors§