From 3d52283b74573af509deb3c47cbabf7b7b58b1dd Mon Sep 17 00:00:00 2001 From: max Date: Wed, 13 Dec 2023 15:34:54 +0200 Subject: Add automatic borrowing to let statement Signed-off-by: max --- askama_derive/src/generator.rs | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'askama_derive/src/generator.rs') diff --git a/askama_derive/src/generator.rs b/askama_derive/src/generator.rs index 6004aff..df15bdc 100644 --- a/askama_derive/src/generator.rs +++ b/askama_derive/src/generator.rs @@ -916,7 +916,14 @@ impl<'a> Generator<'a> { }; let mut expr_buf = Buffer::new(0); + let borrow_val = !is_copyable(val); + if borrow_val { + expr_buf.write("&("); + } self.visit_expr(&mut expr_buf, val)?; + if borrow_val { + expr_buf.write(")"); + } let shadowed = self.is_shadowing_variable(&l.var)?; if shadowed { -- cgit