diff --git a/askama_shared/src/filters/mod.rs b/askama_shared/src/filters/mod.rs index ce87fd9e..74486c03 100644 --- a/askama_shared/src/filters/mod.rs +++ b/askama_shared/src/filters/mod.rs @@ -256,17 +256,15 @@ pub fn trim(s: T) -> Result { /// Limit string length, appends '...' if truncated pub fn truncate(s: T, len: usize) -> Result { let mut s = s.to_string(); - if s.len() <= len { - Ok(s) - } else { + if s.len() > len { let mut real_len = len; while !s.is_char_boundary(real_len) { real_len += 1; } s.truncate(real_len); s.push_str("..."); - Ok(s) } + Ok(s) } /// Indent lines with `width` spaces diff --git a/askama_shared/src/generator.rs b/askama_shared/src/generator.rs index e6a890ee..b5ab31c7 100644 --- a/askama_shared/src/generator.rs +++ b/askama_shared/src/generator.rs @@ -1453,12 +1453,10 @@ impl<'a, S: std::hash::BuildHasher> Generator<'a, S> { args: &[Expr], ) -> Result { buf.write("("); - if self.locals.contains(&s) || s == "self" { - buf.write(s); - } else { + if !self.locals.contains(&s) && s != "self" { buf.write("self."); - buf.write(s); } + buf.write(s); buf.write(")("); self._visit_args(buf, args)?; buf.write(")");