diff options
author | Dirkjan Ochtman <dirkjan@ochtman.nl> | 2016-12-26 16:39:30 +0100 |
---|---|---|
committer | Dirkjan Ochtman <dirkjan@ochtman.nl> | 2016-12-26 16:39:30 +0100 |
commit | d82a8fdf39783e3bfae6b2ea9eb08f011ba195b7 (patch) | |
tree | de24b605da0a8caab5588bda5d6b94b04873f454 /askama_codegen | |
parent | 1aafcb8a250be2d7880390cc0d3486f8e46b4520 (diff) | |
download | askama-d82a8fdf39783e3bfae6b2ea9eb08f011ba195b7.tar.gz askama-d82a8fdf39783e3bfae6b2ea9eb08f011ba195b7.tar.bz2 askama-d82a8fdf39783e3bfae6b2ea9eb08f011ba195b7.zip |
Support templating for every type implementing Display
Diffstat (limited to '')
-rw-r--r-- | askama_codegen/src/generator.rs | 7 |
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>) { |