fix: Support Div () as component

previously I from some reason I thought this not allowed syntax. Some test
failed because of my misunderstood, so now I fix this :D
This commit is contained in:
Muhannad Alrusayni 2022-05-07 13:45:17 +03:00
parent 03a14f4a86
commit 252f9343b8
2 changed files with 1 additions and 17 deletions

View file

@ -24,16 +24,6 @@ macro_rules! component_path_cannot_have_arguments {
};
}
macro_rules! component_ident_cannot_use_paren {
($span:expr, $com_name:ident) => {
proc_macro_error::abort!(
$span,
"Invalid component syntax";
help = "try replace {} (..) to {} {{..}}", $com_name, $com_name;
)
};
}
macro_rules! invalid_component_path {
($span:expr) => {
proc_macro_error::abort!($span, "Invalid component path syntax")

View file

@ -57,6 +57,7 @@ impl Parse for BodyNode {
//
// example
// Div {}
// Div ()
// ::Div {}
// crate::Div {}
// component()
@ -67,13 +68,6 @@ impl Parse for BodyNode {
// Input::<InputProps<'_, i32> {}
// crate::Input::<InputProps<'_, i32> {}
if body_stream.peek(token::Brace) || body_stream.peek(token::Paren) {
// NOTE: this syntax is not allowd:
// Div () -> comp
if path.segments.len() == 1 && body_stream.peek(token::Paren) {
let com_ident = &path.segments.iter().next().unwrap().ident;
component_ident_cannot_use_paren!(path, com_ident);
}
Component::validate_component_path(&path)?;
return Ok(BodyNode::Component(stream.parse()?));