From d9a2a77a19e56edd8eb96eba002e39bc7be3bde3 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Thu, 11 Apr 2019 20:45:43 +0200 Subject: Thread lifetimes through other newtypes Closes #55 --- dhall_generator/src/derive.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'dhall_generator') diff --git a/dhall_generator/src/derive.rs b/dhall_generator/src/derive.rs index c911be5..e231702 100644 --- a/dhall_generator/src/derive.rs +++ b/dhall_generator/src/derive.rs @@ -176,7 +176,8 @@ pub fn derive_simple_static_type_inner( let tokens = quote! { impl #impl_generics dhall::SimpleStaticType for #ident #ty_generics #where_clause { - fn get_simple_static_type() -> dhall::expr::SimpleType { + fn get_simple_static_type<'get_simple_static_type>() -> + dhall::expr::SimpleType<'get_simple_static_type> { #(#assertions)* dhall::expr::SimpleType::from(#get_type) } -- cgit v1.2.3 From 5fcc7f69c7a68b08ff223217e8af9f8edb2cc761 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Fri, 12 Apr 2019 16:32:29 +0200 Subject: Capture `Span`s in the AST and thread them through Parsed and Resolved --- dhall_generator/src/quote.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'dhall_generator') diff --git a/dhall_generator/src/quote.rs b/dhall_generator/src/quote.rs index 8552def..2d2eada 100644 --- a/dhall_generator/src/quote.rs +++ b/dhall_generator/src/quote.rs @@ -7,7 +7,7 @@ use std::collections::BTreeMap; pub fn expr(input: proc_macro::TokenStream) -> proc_macro::TokenStream { let input_str = input.to_string(); - let expr: SubExpr = parse_expr(&input_str).unwrap(); + let expr: SubExpr<_, Import> = parse_expr(&input_str).unwrap().unnote(); let no_import = |_: &Import| -> X { panic!("Don't use import in dhall::expr!()") }; let expr = expr.as_ref().map_embed(&no_import); @@ -17,7 +17,7 @@ pub fn expr(input: proc_macro::TokenStream) -> proc_macro::TokenStream { pub fn subexpr(input: proc_macro::TokenStream) -> proc_macro::TokenStream { let input_str = input.to_string(); - let expr: SubExpr = parse_expr(&input_str).unwrap(); + let expr: SubExpr<_, Import> = parse_expr(&input_str).unwrap().unnote(); let no_import = |_: &Import| -> X { panic!("Don't use import in dhall::subexpr!()") }; let expr = expr.as_ref().map_embed(&no_import); -- cgit v1.2.3