summaryrefslogtreecommitdiffstats
path: root/third_party/rust/displaydoc/examples
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/displaydoc/examples')
-rw-r--r--third_party/rust/displaydoc/examples/simple.rs36
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
+ );
+}