use displaydoc::Display; #[derive(Debug, Display)] pub enum DataStoreError { /// data store disconnected Disconnect, /// the data for key `{0}` is not available Redaction(String), /// invalid header (expected {expected:?}, found {found:?}) InvalidHeader { expected: String, found: String }, /// unknown data store error Unknown, } fn main() { let disconnect = DataStoreError::Disconnect; println!( "Enum value `Disconnect` should be printed as:\n\t{}", disconnect ); let redaction = DataStoreError::Redaction(String::from("Dummy")); println!( "Enum value `Redaction` should be printed as:\n\t{}", redaction ); let invalid_header = DataStoreError::InvalidHeader { expected: String::from("https"), found: String::from("http"), }; println!( "Enum value `InvalidHeader` should be printed as:\n\t{}", invalid_header ); }