From e0f60ca8dde7b828dcb440737f50f90639f33b70 Mon Sep 17 00:00:00 2001 From: jbg <39903+jbg@users.noreply.github.com> Date: Mon, 28 Oct 2019 14:45:36 +0000 Subject: Moved no-receiver size_hint method to a separate trait (#270) --- askama_derive/src/generator.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'askama_derive/src/generator.rs') 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("}"); } -- cgit