diff options
-rw-r--r-- | askama_derive/src/generator.rs | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/askama_derive/src/generator.rs b/askama_derive/src/generator.rs index 5b7026d..af07470 100644 --- a/askama_derive/src/generator.rs +++ b/askama_derive/src/generator.rs @@ -3,19 +3,6 @@ use std::str; use std::collections::HashSet; use syn; -fn annotations(generics: &syn::Generics) -> String { - if generics.lifetimes.len() < 1 { - return String::new(); - } - let mut res = String::new(); - res.push('<'); - for lt in &generics.lifetimes { - res.push_str(lt.lifetime.ident.as_ref()); - } - res.push('>'); - res -} - fn path_as_identifier(s: &str) -> String { let mut res = String::new(); for c in s.chars() { @@ -321,7 +308,15 @@ impl<'a> Generator<'a> { fn write_header(&mut self, ast: &syn::DeriveInput, trait_suffix: Option<&str>) { - let anno = annotations(&ast.generics); + let mut anno = String::new(); + if ast.generics.lifetimes.len() > 0 { + anno.push('<'); + for lt in &ast.generics.lifetimes { + anno.push_str(lt.lifetime.ident.as_ref()); + } + anno.push('>'); + }; + let name = if trait_suffix.is_some() { format!("TraitFrom{}", trait_suffix.unwrap()) } else { |