aboutsummaryrefslogtreecommitdiffstats
path: root/askama_shared
diff options
context:
space:
mode:
authorLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2022-01-13 15:53:43 +0100
committerLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2022-01-13 19:32:17 +0100
commit77a477e7d6a9e4f0302c003cab417d873e4f62fd (patch)
tree5c1b44356e358c33038706022966f827232a9722 /askama_shared
parent345f8432f51e2af7017915b35c203f723f2459d0 (diff)
downloadaskama-77a477e7d6a9e4f0302c003cab417d873e4f62fd.tar.gz
askama-77a477e7d6a9e4f0302c003cab417d873e4f62fd.tar.bz2
askama-77a477e7d6a9e4f0302c003cab417d873e4f62fd.zip
Tweak attribute parsing some more
Diffstat (limited to 'askama_shared')
-rw-r--r--askama_shared/src/input.rs17
1 files changed, 7 insertions, 10 deletions
diff --git a/askama_shared/src/input.rs b/askama_shared/src/input.rs
index f1b2dc6..1d98231 100644
--- a/askama_shared/src/input.rs
+++ b/askama_shared/src/input.rs
@@ -36,16 +36,13 @@ impl TemplateInput<'_> {
if template_args.is_some() {
return Err(CompileError::Static("duplicated 'template' attribute"));
}
- let template = attr.parse_meta().map_err(|e| {
- CompileError::String(format!("unable to parse attribute: {}", e))
- })?;
- match template {
- syn::Meta::List(inner) => template_args = Some(inner),
- _ => {
- return Err(CompileError::Static(
- "attribute 'template' has incorrect type",
- ));
+
+ match attr.parse_meta() {
+ Ok(syn::Meta::List(syn::MetaList { nested, .. })) => {
+ template_args = Some(nested);
}
+ Ok(_) => return Err("'template' attribute must be a list".into()),
+ Err(e) => return Err(format!("unable to parse attribute: {}", e).into()),
}
}
}
@@ -60,7 +57,7 @@ impl TemplateInput<'_> {
let mut escaping = None;
let mut ext = None;
let mut syntax = None;
- for item in template_args.nested {
+ for item in template_args {
let pair = match item {
syn::NestedMeta::Meta(syn::Meta::NameValue(ref pair)) => pair,
_ => {