diff options
author | Dirkjan Ochtman <dirkjan@ochtman.nl> | 2018-07-02 09:29:08 +0200 |
---|---|---|
committer | Dirkjan Ochtman <dirkjan@ochtman.nl> | 2018-07-02 09:29:08 +0200 |
commit | 9021c229b72861e4b5fc49260819643eb92d8cb6 (patch) | |
tree | a7124b8e6b0c9d9e19ec5eebf6140788996be85f | |
parent | ec2e873d73a3f820fe301b682cb100d07f44994b (diff) | |
download | askama-9021c229b72861e4b5fc49260819643eb92d8cb6.tar.gz askama-9021c229b72861e4b5fc49260819643eb92d8cb6.tar.bz2 askama-9021c229b72861e4b5fc49260819643eb92d8cb6.zip |
Further improve matching source and ext in TemplateInput
-rw-r--r-- | askama_derive/src/input.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/askama_derive/src/input.rs b/askama_derive/src/input.rs index 93d5e17..2787084 100644 --- a/askama_derive/src/input.rs +++ b/askama_derive/src/input.rs @@ -85,17 +85,15 @@ impl<'a> TemplateInput<'a> { } let source = source.expect("template path or source not found in attributes"); - let path = match (&source, ext.is_some()) { - (&Source::Path(_), true) => { + let path = match (&source, &ext) { + (&Source::Path(_), Some(_)) => { panic!("'ext' attribute cannot be used with 'path' attribute") } - (&Source::Source(_), false) => { + (&Source::Source(_), None) => { panic!("must include 'ext' attribute when using 'source' attribute") } - (&Source::Path(ref path), false) => path::find_template_from_path(path, None), - (&Source::Source(_), true) => { - PathBuf::from(format!("{}.{}", ast.ident, ext.as_ref().unwrap())) - } + (&Source::Path(ref path), None) => path::find_template_from_path(path, None), + (&Source::Source(_), Some(ext)) => PathBuf::from(format!("{}.{}", ast.ident, ext)), }; let parent = match ast.data { |