| 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 | |
| ); | |
| } |