summaryrefslogtreecommitdiff
path: root/dhall_proc_macros
diff options
context:
space:
mode:
authorNadrieril2020-03-18 22:28:41 +0000
committerNadrieril2020-03-31 21:44:01 +0100
commita1f370cb68974c1e69f8f85345e91ec763b23ae2 (patch)
treedb1be2a231e29f57ad820634b3b487637b663313 /dhall_proc_macros
parentfa89e9cb319b353332c9e835944e7f86a6604c42 (diff)
Expose simple::Val/Ty properly in the API
Diffstat (limited to 'dhall_proc_macros')
-rw-r--r--dhall_proc_macros/src/derive.rs19
1 files changed, 11 insertions, 8 deletions
diff --git a/dhall_proc_macros/src/derive.rs b/dhall_proc_macros/src/derive.rs
index 4885b49..f7edf3a 100644
--- a/dhall_proc_macros/src/derive.rs
+++ b/dhall_proc_macros/src/derive.rs
@@ -52,9 +52,11 @@ fn derive_for_struct(
let ty = static_type(ty);
quote!( (#name.to_owned(), #ty) )
});
- Ok(quote! { ::serde_dhall::simple::Type::make_record_type(
- vec![ #(#entries),* ].into_iter()
- ) })
+ Ok(quote! {
+ ::serde_dhall::simple::TyKind::Record(
+ vec![ #(#entries),* ].into_iter().collect()
+ ).into()
+ })
}
fn derive_for_enum(
@@ -89,9 +91,11 @@ fn derive_for_enum(
})
.collect::<Result<_, Error>>()?;
- Ok(quote! { ::serde_dhall::simple::Type::make_union_type(
- vec![ #(#entries),* ].into_iter()
- ) })
+ Ok(quote! {
+ ::serde_dhall::simple::TyKind::Union(
+ vec![ #(#entries),* ].into_iter().collect()
+ ).into()
+ })
}
pub fn derive_static_type_inner(
@@ -164,8 +168,7 @@ pub fn derive_static_type_inner(
impl #impl_generics ::serde_dhall::StaticType
for #ident #ty_generics
#where_clause {
- fn static_type() ->
- ::serde_dhall::simple::Type {
+ fn static_type() -> ::serde_dhall::simple::Type {
#(#assertions)*
#get_type
}