use bincode::Error as bincode_e; use sled::Error as sled_e; use std::fmt; #[derive(Debug)] pub struct TwinHError(pub String); impl std::error::Error for TwinHError {} impl std::fmt::Display for TwinHError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> { write!(f, "Twin H-Power: {}", self.0) } } impl From for TwinHError { fn from(e: sled_e) -> Self { Self(format!("database error: {}", e)) } } impl From for TwinHError { fn from(e: bincode_e) -> Self { Self(format!("(de)serialization error: {}", e)) } }