aboutsummaryrefslogtreecommitdiffstats
path: root/askama_derive
diff options
context:
space:
mode:
authorLibravatar bott <mhpoin@gmail.com>2018-09-13 23:40:17 +0200
committerLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2018-09-14 13:15:41 +0200
commitc0f9fe973e6ff608f4f02f8a6cd39f2e9c50ea5c (patch)
tree9fde9771eec608640d008fed7433c9857aa5c50d /askama_derive
parentd4671611597837dec3108f3a7f3af46be1bc4c36 (diff)
downloadaskama-c0f9fe973e6ff608f4f02f8a6cd39f2e9c50ea5c.tar.gz
askama-c0f9fe973e6ff608f4f02f8a6cd39f2e9c50ea5c.tar.bz2
askama-c0f9fe973e6ff608f4f02f8a6cd39f2e9c50ea5c.zip
Fix operator preference at loop.first
Diffstat (limited to 'askama_derive')
-rw-r--r--askama_derive/src/generator.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/askama_derive/src/generator.rs b/askama_derive/src/generator.rs
index 5a136fb..d0ac030 100644
--- a/askama_derive/src/generator.rs
+++ b/askama_derive/src/generator.rs
@@ -747,14 +747,14 @@ impl<'a> Generator<'a> {
fn visit_attr(&mut self, buf: &mut Buffer, obj: &Expr, attr: &str) -> DisplayWrap {
if let Expr::Var(name) = *obj {
if name == "loop" {
- buf.write("_loop_index");
if attr == "index" {
- buf.write(" + 1");
+ buf.write("_loop_index + 1");
return DisplayWrap::Unwrapped;
} else if attr == "index0" {
+ buf.write("_loop_index");
return DisplayWrap::Unwrapped;
} else if attr == "first" {
- buf.write(" == 0");
+ buf.write("(_loop_index == 0)");
return DisplayWrap::Unwrapped;
} else {
panic!("unknown loop variable");