1 use displaydoc::Display;
2
3 #[derive(Debug, Display)]
4 pub enum DataStoreError {
5 /// data store disconnected
6 Disconnect,
7 /// the data for key `{0}` is not available
8 Redaction(String),
9 /// invalid header (expected {expected:?}, found {found:?})
10 InvalidHeader { expected: String, found: String },
11 /// unknown data store error
12 Unknown,
13 }
14
main()15 fn main() {
16 let disconnect = DataStoreError::Disconnect;
17 println!(
18 "Enum value `Disconnect` should be printed as:\n\t{}",
19 disconnect
20 );
21
22 let redaction = DataStoreError::Redaction(String::from("Dummy"));
23 println!(
24 "Enum value `Redaction` should be printed as:\n\t{}",
25 redaction
26 );
27
28 let invalid_header = DataStoreError::InvalidHeader {
29 expected: String::from("https"),
30 found: String::from("http"),
31 };
32 println!(
33 "Enum value `InvalidHeader` should be printed as:\n\t{}",
34 invalid_header
35 );
36 }
37