aboutsummaryrefslogtreecommitdiffstats
path: root/askama_derive
diff options
context:
space:
mode:
authorLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2018-07-04 09:40:53 +0200
committerLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2018-07-04 09:40:53 +0200
commit191e56a5304b5bce27b6db14335d54d293839681 (patch)
tree640e2ce49363e82d272fcda6c44cd19c43b9684e /askama_derive
parentd562ebbbf79dbc62f0714fc0c62d3cbcf2e0a3f6 (diff)
downloadaskama-191e56a5304b5bce27b6db14335d54d293839681.tar.gz
askama-191e56a5304b5bce27b6db14335d54d293839681.tar.bz2
askama-191e56a5304b5bce27b6db14335d54d293839681.zip
Remove restrictions to named field structs (fixes #101)
Diffstat (limited to 'askama_derive')
-rw-r--r--askama_derive/src/input.rs2
-rw-r--r--askama_derive/src/lib.rs4
2 files changed, 1 insertions, 5 deletions
diff --git a/askama_derive/src/input.rs b/askama_derive/src/input.rs
index 15a4a6d..6e349da 100644
--- a/askama_derive/src/input.rs
+++ b/askama_derive/src/input.rs
@@ -119,7 +119,7 @@ impl<'a> TemplateInput<'a> {
.iter()
.find(|f| f.ident.as_ref().filter(|name| *name == "_parent").is_some())
.map(|f| &f.ty),
- _ => panic!("derive(Template) only works for struct items"),
+ _ => None,
};
TemplateInput {
diff --git a/askama_derive/src/lib.rs b/askama_derive/src/lib.rs
index e8166b0..4bdcb0a 100644
--- a/askama_derive/src/lib.rs
+++ b/askama_derive/src/lib.rs
@@ -22,10 +22,6 @@ use std::path::PathBuf;
#[proc_macro_derive(Template, attributes(template))]
pub fn derive_template(input: TokenStream) -> TokenStream {
let ast: syn::DeriveInput = syn::parse(input).unwrap();
- match ast.data {
- syn::Data::Struct(ref data) => data,
- _ => panic!("#[derive(Template)] can only be used with structs"),
- };
build_template(&ast).parse().unwrap()
}