aboutsummaryrefslogtreecommitdiffstats
path: root/askama_derive/src/input.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--askama_derive/src/input.rs17
1 files changed, 5 insertions, 12 deletions
diff --git a/askama_derive/src/input.rs b/askama_derive/src/input.rs
index 683c345..ce004a8 100644
--- a/askama_derive/src/input.rs
+++ b/askama_derive/src/input.rs
@@ -100,20 +100,13 @@ impl<'a> TemplateInput<'a> {
syn::Data::Struct(syn::DataStruct {
fields: syn::Fields::Named(ref fields),
..
- }) => fields.named.iter().find(|f| {
- if let Some(field_name) = f.ident.as_ref() {
- field_name == "_parent"
- } else {
- false
- }
- }),
+ }) => fields
+ .named
+ .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"),
};
- let parent = if let Some(parent) = parent {
- Some(&parent.ty)
- } else {
- None
- };
TemplateInput {
ast,