summaryrefslogtreecommitdiffstats
path: root/examples/file-toml/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/file-toml/src/main.rs')
-rw-r--r--examples/file-toml/src/main.rs18
1 files changed, 14 insertions, 4 deletions
diff --git a/examples/file-toml/src/main.rs b/examples/file-toml/src/main.rs
index 85db701..ddca412 100644
--- a/examples/file-toml/src/main.rs
+++ b/examples/file-toml/src/main.rs
@@ -1,12 +1,22 @@
extern crate config;
+#[macro_use]
+extern crate serde_derive;
+
+#[derive(Debug, Deserialize)]
+struct Point { x: i64, y: i64 }
+
fn main() {
- let mut c = config::Config::new();
+ let mut c = config::Config::default();
// Read configuration from "Settings.toml"
c.merge(config::File::new("Settings", config::FileFormat::Toml)).unwrap();
- println!("debug = {:?}", c.get("debug"));
- println!("pi = {:?}", c.get("pi"));
- println!("weight = {:?}", c.get("weight"));
+ // Simple key access to values
+ println!("debug = {}", c.get::<bool>("debug").unwrap());
+ println!("pi = {}", c.get::<f64>("pi").unwrap());
+ println!("weight = {}", c.get::<i64>("weight").unwrap());
+ println!("location = {:?}", c.get::<Point>("location").unwrap());
+ // println!("location.x = {}", c.get::<Point>("location.x").unwrap());
+ // println!("location.y = {}", c.get::<Point>("location.y").unwrap());
}