diff --git a/macros/src/html.rs b/macros/src/html.rs index f506ad3..6f2bae4 100644 --- a/macros/src/html.rs +++ b/macros/src/html.rs @@ -25,7 +25,13 @@ impl Node { let text = TokenTree::Literal(text); Ok(quote!(Box::new(typed_html::dom::TextNode::new(#text.to_string())))) } - Node::Block(_) => panic!("cannot have a block in this position"), + Node::Block(group) => { + let span = group.span(); + let error = "you cannot use a block as a top level element or a required child element"; + Err(quote_spanned!{ span=> + compile_error! { #error } + }) + } } }