aboutsummaryrefslogtreecommitdiffstats
path: root/askama_derive
diff options
context:
space:
mode:
authorLibravatar jbg <39903+jbg@users.noreply.github.com>2019-10-28 14:45:36 +0000
committerLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2019-10-28 15:45:36 +0100
commite0f60ca8dde7b828dcb440737f50f90639f33b70 (patch)
treee64a053ae777992e9837f1f7eb3163f9f512c47d /askama_derive
parent81080812777c7a1998f579908f159e383e3c9a31 (diff)
downloadaskama-e0f60ca8dde7b828dcb440737f50f90639f33b70.tar.gz
askama-e0f60ca8dde7b828dcb440737f50f90639f33b70.tar.bz2
askama-e0f60ca8dde7b828dcb440737f50f90639f33b70.zip
Moved no-receiver size_hint method to a separate trait (#270)
Diffstat (limited to '')
-rw-r--r--askama_derive/src/generator.rs17
1 files changed, 16 insertions, 1 deletions
diff --git a/askama_derive/src/generator.rs b/askama_derive/src/generator.rs
index 28b8246..359de5a 100644
--- a/askama_derive/src/generator.rs
+++ b/askama_derive/src/generator.rs
@@ -136,17 +136,32 @@ impl<'a> Generator<'a> {
buf.writeln("Ok(())");
buf.writeln("}");
- buf.writeln("fn extension() -> Option<&'static str> {");
+ buf.writeln("fn extension(&self) -> Option<&'static str> {");
buf.writeln(&format!(
"{:?}",
self.input.path.extension().map(|s| s.to_str().unwrap())
));
buf.writeln("}");
+ buf.writeln("fn size_hint(&self) -> usize {");
+ buf.writeln(&format!("{}", size_hint));
+ buf.writeln("}");
+
+ buf.writeln("}");
+
+ self.write_header(buf, "::askama::SizedTemplate", None);
+
buf.writeln("fn size_hint() -> usize {");
buf.writeln(&format!("{}", size_hint));
buf.writeln("}");
+ buf.writeln("fn extension() -> Option<&'static str> {");
+ buf.writeln(&format!(
+ "{:?}",
+ self.input.path.extension().map(|s| s.to_str().unwrap())
+ ));
+ buf.writeln("}");
+
buf.writeln("}");
}