aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2021-04-12 21:48:32 +0200
committerLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2021-04-13 07:10:52 +0200
commitd43faa89f16dd9a21fdd19034c24e6d113b7c219 (patch)
treec8136f86a0dfb1c2ace8cddb35e84ee6bacc0d59
parent9232cafb6678160c3fe5154a7619a5e65c037a2b (diff)
downloadaskama-d43faa89f16dd9a21fdd19034c24e6d113b7c219.tar.gz
askama-d43faa89f16dd9a21fdd19034c24e6d113b7c219.tar.bz2
askama-d43faa89f16dd9a21fdd19034c24e6d113b7c219.zip
Eliminate common tails from branches
Diffstat (limited to '')
-rw-r--r--askama_shared/src/filters/mod.rs6
-rw-r--r--askama_shared/src/generator.rs6
2 files changed, 4 insertions, 8 deletions
diff --git a/askama_shared/src/filters/mod.rs b/askama_shared/src/filters/mod.rs
index ce87fd9..74486c0 100644
--- a/askama_shared/src/filters/mod.rs
+++ b/askama_shared/src/filters/mod.rs
@@ -256,17 +256,15 @@ pub fn trim<T: fmt::Display>(s: T) -> Result<String> {
/// Limit string length, appends '...' if truncated
pub fn truncate<T: fmt::Display>(s: T, len: usize) -> Result<String> {
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 e6a890e..b5ab31c 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<DisplayWrap, CompileError> {
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(")");