aboutsummaryrefslogtreecommitdiffstats
path: root/askama_codegen/src/generator.rs
diff options
context:
space:
mode:
Diffstat (limited to 'askama_codegen/src/generator.rs')
-rw-r--r--askama_codegen/src/generator.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/askama_codegen/src/generator.rs b/askama_codegen/src/generator.rs
index c815676..34c9757 100644
--- a/askama_codegen/src/generator.rs
+++ b/askama_codegen/src/generator.rs
@@ -57,9 +57,10 @@ impl Generator {
}
fn visit_expr(&mut self, s: &[u8]) {
- self.write("buf.push_str(");
- self.write(&format!("&self.{}", str::from_utf8(s).unwrap()));
- self.writeln(");");
+ let var_name = str::from_utf8(s).unwrap();
+ let code = format!("std::fmt::Write::write_fmt(\
+ &mut buf, format_args!(\"{{}}\", self.{})).unwrap();", var_name);
+ self.writeln(&code);
}
fn handle(&mut self, tokens: &Vec<Node>) {