From 79259ab42639a15ebaed8101adf11ca0cbdb87bd Mon Sep 17 00:00:00 2001 From: Matt Fellenz Date: Sun, 11 Jun 2023 02:58:43 -0700 Subject: [PATCH] Fix #382 (#383) * Properly group splice expressions * Add test for fix --- maud/tests/splices.rs | 6 ++++++ maud_macros/src/generate.rs | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/maud/tests/splices.rs b/maud/tests/splices.rs index d3fd511f..8665e84b 100644 --- a/maud/tests/splices.rs +++ b/maud/tests/splices.rs @@ -124,3 +124,9 @@ fn nested_macro_invocation() { let result = html! { (format!("{best_pony} is best pony")) }; assert_eq!(result.into_string(), "Pinkie Pie is best pony"); } + +#[test] +fn expression_grouping() { + let result = html! { (1 + 1) }; + assert_eq!(result.into_string(), "2"); +} diff --git a/maud_macros/src/generate.rs b/maud_macros/src/generate.rs index c9ba9fb6..ee27a55d 100644 --- a/maud_macros/src/generate.rs +++ b/maud_macros/src/generate.rs @@ -103,7 +103,7 @@ impl Generator { fn splice(&self, expr: TokenStream, build: &mut Builder) { let output_ident = self.output_ident.clone(); - build.push_tokens(quote!(maud::macro_private::render_to!(&#expr, &mut #output_ident);)); + build.push_tokens(quote!(maud::macro_private::render_to!(&(#expr), &mut #output_ident);)); } fn element(&self, name: TokenStream, attrs: Vec, body: ElementBody, build: &mut Builder) {