diff options
author | Nadrieril | 2019-04-10 19:18:25 +0200 |
---|---|---|
committer | Nadrieril | 2019-04-10 19:18:25 +0200 |
commit | ff12918696181f1b0f2b8272944044e27c89e319 (patch) | |
tree | 7651c4fdb7bb68b980d5657aefe8e5f92dacfc93 /dhall/src/lib.rs | |
parent | 58f10a2a274fe858da6cc73d4a33718bfc46d52b (diff) |
Add a new Deserialize trait for reading dhall values
Diffstat (limited to 'dhall/src/lib.rs')
-rw-r--r-- | dhall/src/lib.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/dhall/src/lib.rs b/dhall/src/lib.rs index 3bfc46f..b49d1c1 100644 --- a/dhall/src/lib.rs +++ b/dhall/src/lib.rs @@ -21,7 +21,21 @@ mod imports; mod normalize; mod traits; mod typecheck; +pub use crate::traits::Deserialize; pub use crate::traits::SimpleStaticType; pub use crate::traits::StaticType; pub use dhall_generator::SimpleStaticType; pub mod expr; + +pub fn from_str<'a, T: Deserialize<'a>>( + s: &'a str, + ty: Option<&crate::expr::Type>, +) -> crate::traits::Result<T> { + T::from_str(s, ty) +} + +pub fn from_str_auto_type<'a, T: Deserialize<'a> + StaticType>( + s: &'a str, +) -> crate::traits::Result<T> { + from_str(s, Some(&<T as StaticType>::get_static_type())) +} |