From 73e8559ca7d11ac34b82e29a12ddedfe87896b5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Kijewski?= Date: Fri, 16 May 2025 02:00:34 +0200 Subject: [PATCH] `loop.first` is known by being at `index == 0` --- askama/src/helpers.rs | 2 -- askama_derive/src/generator/expr.rs | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/askama/src/helpers.rs b/askama/src/helpers.rs index 4188d334..f0a5c4de 100644 --- a/askama/src/helpers.rs +++ b/askama/src/helpers.rs @@ -48,7 +48,6 @@ where item, LoopItem { index, - first: index == 0, last: self.iter.peek().is_none(), }, ) @@ -59,7 +58,6 @@ where #[derive(Copy, Clone)] pub struct LoopItem { pub index: usize, - pub first: bool, pub last: bool, } diff --git a/askama_derive/src/generator/expr.rs b/askama_derive/src/generator/expr.rs index f6db6b31..2c7bfdee 100644 --- a/askama_derive/src/generator/expr.rs +++ b/askama_derive/src/generator/expr.rs @@ -369,7 +369,7 @@ impl<'a> Generator<'a, '_> { buf.write("_loop_item.index"); return Ok(DisplayWrap::Unwrapped); } else if attr.name == "first" { - buf.write("_loop_item.first"); + buf.write("(_loop_item.index == 0)"); return Ok(DisplayWrap::Unwrapped); } else if attr.name == "last" { buf.write("_loop_item.last");