use serde::{Deserialize, Serialize}; pub mod authentication; pub mod v1; pub mod error; #[derive(Serialize, Deserialize)] pub enum Savefile { V1(v1::Savefile), } pub trait SaveContainer { type LatestFormat; fn as_latest(&self) -> &Self::LatestFormat; } impl SaveContainer for Savefile { type LatestFormat = v1::Savefile; fn as_latest(&self) -> &Self::LatestFormat { match self { Savefile::V1(s) => s, } } }