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) {