[−][src]Function serde_dhall::from_simple_value
pub fn from_simple_value<T>(v: SimpleValue) -> Result<T> where
T: DeserializeOwned,
Deserialize a Rust value from a Dhall SimpleValue
.
Example
use std::collections::BTreeMap; use serde::Deserialize; // We use serde's derive feature #[derive(Deserialize)] struct Point { x: u64, y: u64, } // Some Dhall data let mut data = BTreeMap::new(); data.insert( "x".to_string(), serde_dhall::SimpleValue::Num(serde_dhall::NumKind::Natural(1)) ); data.insert( "y".to_string(), serde_dhall::SimpleValue::Num(serde_dhall::NumKind::Natural(2)) ); let data = serde_dhall::SimpleValue::Record(data); // Parse the Dhall value as a Point. let point: Point = serde_dhall::from_simple_value(data)?; assert_eq!(point.x, 1); assert_eq!(point.y, 2);