diff options
Diffstat (limited to 'vendor/valuable/examples/derive.rs')
-rw-r--r-- | vendor/valuable/examples/derive.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/vendor/valuable/examples/derive.rs b/vendor/valuable/examples/derive.rs new file mode 100644 index 000000000..b67aaf3a7 --- /dev/null +++ b/vendor/valuable/examples/derive.rs @@ -0,0 +1,26 @@ +use valuable::Valuable; + +use std::collections::HashMap; + +// `Debug` not implemented for struct, the debug implementation is going via +// valuable. +#[derive(Valuable)] +struct Person { + name: String, + age: u8, + phones: Vec<String>, + favorites: HashMap<String, String>, +} + +fn main() { + let mut p = Person { + name: "John Doe".to_string(), + age: 42, + phones: vec!["876-5309".to_string()], + favorites: HashMap::new(), + }; + + p.favorites.insert("color".to_string(), "blue".to_string()); + + println!("{:#?}", p.as_value()); +} |