pub trait FromToml: for<'a> Deserialize<'a> {
// Provided methods
fn from_toml_file<P: AsRef<Path>>(path: P) -> Result<Self> { ... }
fn from_toml_reader<R: Read>(reader: R) -> Result<Self> { ... }
fn from_toml_str(toml: &str) -> Result<Self> { ... }
fn from_toml_slice(toml: &[u8]) -> Result<Self> { ... }
}
Expand description
This trait allows to convert TOML objects to deserializable values.
Examples
extern crate serde;
#[macro_use]
extern crate serde_derive;
extern crate serdeconv;
use serdeconv::FromToml;
// Defines a deserializable struct.
#[derive(Deserialize)]
struct Foo {
bar: String,
baz: usize
}
impl FromToml for Foo {}
// Converts from the TOML string to a `Foo` value.
let toml = r#"
bar = "aaa"
baz = 123
"#;
let foo = Foo::from_toml_str(toml).unwrap();
assert_eq!(foo.bar, "aaa");
assert_eq!(foo.baz, 123);
Provided Methods§
sourcefn from_toml_file<P: AsRef<Path>>(path: P) -> Result<Self>
fn from_toml_file<P: AsRef<Path>>(path: P) -> Result<Self>
Converts from the TOML file to an instance of this implementation.
sourcefn from_toml_reader<R: Read>(reader: R) -> Result<Self>
fn from_toml_reader<R: Read>(reader: R) -> Result<Self>
Reads a TOML string from the reader and converts it to an instance of this implementation.
sourcefn from_toml_str(toml: &str) -> Result<Self>
fn from_toml_str(toml: &str) -> Result<Self>
Converts from the TOML string to an instance of this implementation.
sourcefn from_toml_slice(toml: &[u8]) -> Result<Self>
fn from_toml_slice(toml: &[u8]) -> Result<Self>
Converts from the TOML bytes to an instance of this implementation.