diff options
Diffstat (limited to 'third_party/rust/displaydoc/examples')
-rw-r--r-- | third_party/rust/displaydoc/examples/simple.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/third_party/rust/displaydoc/examples/simple.rs b/third_party/rust/displaydoc/examples/simple.rs new file mode 100644 index 0000000000..f4aad2131f --- /dev/null +++ b/third_party/rust/displaydoc/examples/simple.rs @@ -0,0 +1,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 + ); +} |