瀏覽代碼

unwrap instead of using unreachable

Evan Almloff 2 年之前
父節點
當前提交
3e7dbe868a
共有 1 個文件被更改,包括 20 次插入29 次删除
  1. 20 29
      packages/rsx/src/lib.rs

+ 20 - 29
packages/rsx/src/lib.rs

@@ -182,36 +182,30 @@ impl<'a> DynamicContext<'a> {
 
                 let static_attrs = el.attributes.iter().map(|attr| match &attr.attr {
                     ElementAttr::AttrText { name, value } if value.is_static() => {
-                        if let Some(value) = value.to_static() {
-                            quote! {
-                                ::dioxus::core::TemplateAttribute::Static {
-                                    name: dioxus_elements::#el_name::#name.0,
-                                    namespace: dioxus_elements::#el_name::#name.1,
-                                    value: #value,
-
-                                    // todo: we don't diff these so we never apply the volatile flag
-                                    // volatile: dioxus_elements::#el_name::#name.2,
-                                }
+                        let value = value.to_static().unwrap();
+                        quote! {
+                            ::dioxus::core::TemplateAttribute::Static {
+                                name: dioxus_elements::#el_name::#name.0,
+                                namespace: dioxus_elements::#el_name::#name.1,
+                                value: #value,
+
+                                // todo: we don't diff these so we never apply the volatile flag
+                                // volatile: dioxus_elements::#el_name::#name.2,
                             }
-                        } else {
-                            unreachable!()
                         }
                     }
 
                     ElementAttr::CustomAttrText { name, value } if value.is_static() => {
-                        if let Some(value) = value.to_static() {
-                            quote! {
-                                ::dioxus::core::TemplateAttribute::Static {
-                                    name: #name,
-                                    namespace: None,
-                                    value: #value,
-
-                                    // todo: we don't diff these so we never apply the volatile flag
-                                    // volatile: dioxus_elements::#el_name::#name.2,
-                                }
+                        let value = value.to_static().unwrap();
+                        quote! {
+                            ::dioxus::core::TemplateAttribute::Static {
+                                name: #name,
+                                namespace: None,
+                                value: #value,
+
+                                // todo: we don't diff these so we never apply the volatile flag
+                                // volatile: dioxus_elements::#el_name::#name.2,
                             }
-                        } else {
-                            unreachable!()
                         }
                     }
 
@@ -250,11 +244,8 @@ impl<'a> DynamicContext<'a> {
             }
 
             BodyNode::Text(text) if text.is_static() => {
-                if let Some(text) = text.to_static() {
-                    quote! { ::dioxus::core::TemplateNode::Text{ text: #text } }
-                } else {
-                    unreachable!()
-                }
+                let text = text.to_static().unwrap();
+                quote! { ::dioxus::core::TemplateNode::Text{ text: #text } }
             }
 
             BodyNode::RawExpr(_)