summaryrefslogtreecommitdiffstats
path: root/third_party/rust/displaydoc/examples/simple.rs
blob: 1f9fd1198309a893fc7ff9988d3bb416d188964f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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
    );
}