diff options
| -rw-r--r-- | askama_derive/src/generator.rs | 16 | 
1 files changed, 8 insertions, 8 deletions
| diff --git a/askama_derive/src/generator.rs b/askama_derive/src/generator.rs index 3e9dcc3..8334964 100644 --- a/askama_derive/src/generator.rs +++ b/askama_derive/src/generator.rs @@ -79,21 +79,21 @@ impl<'a> State<'a> {              nodes,              blocks,              macros, -            trait_name: trait_name_for_path(&base, &input.path), +            trait_name: match base { +                Some(user_path) => trait_name_for_path( +                    &path::find_template_from_path(user_path, Some(&input.path)) +                ), +                None => trait_name_for_path(&input.path), +            },              derived: base.is_some(),          }      }  } -fn trait_name_for_path(base: &Option<&str>, path: &Path) -> String { -    let rooted_path = match *base { -        Some(user_path) => path::find_template_from_path(user_path, Some(path)), -        _ => path.to_path_buf(), -    }; - +fn trait_name_for_path(path: &Path) -> String {      let mut res = String::new();      res.push_str("TraitFrom"); -    for c in rooted_path.to_string_lossy().chars() { +    for c in path.to_string_lossy().chars() {          if c.is_alphanumeric() {              res.push(c);          } else { | 
