diff --git a/packages/yew-macro/src/props/component.rs b/packages/yew-macro/src/props/component.rs index b735e95d0f0..592d02ffd61 100644 --- a/packages/yew-macro/src/props/component.rs +++ b/packages/yew-macro/src/props/component.rs @@ -146,13 +146,11 @@ impl ComponentProps { )} }); - let set_children = if let Some(children) = children_renderer { + let set_children = children_renderer.map(|children| { Some(quote_spanned! {props_ty.span()=> .children(#children) }) - } else { - None - }; + }); quote_spanned! {props_ty.span()=> <#props_ty as ::yew::html::Properties>::builder() @@ -163,13 +161,11 @@ impl ComponentProps { } Self::With(with_props) => { let ident = Ident::new("__yew_props", props_ty.span()); - let set_children = if let Some(children) = children_renderer { + let set_children = children_renderer.map(|children| { Some(quote_spanned! {props_ty.span()=> #ident.children = #children; }) - } else { - None - }; + }); let expr = &with_props.expr; quote! { diff --git a/packages/yew-macro/src/props/prop_macro.rs b/packages/yew-macro/src/props/prop_macro.rs index 878b548b41c..33203c7a8b0 100644 --- a/packages/yew-macro/src/props/prop_macro.rs +++ b/packages/yew-macro/src/props/prop_macro.rs @@ -64,13 +64,13 @@ impl Parse for PropValue { } } -impl Into for PropValue { - fn into(self) -> Prop { - let Self { +impl From for Prop { + fn from(val: PropValue) -> Prop { + let PropValue { label, colon_token, value, - } = self; + } = val; Prop { label, question_mark: None,