use BumpBox<Any> and FromAnyValue instead of sync bounds

This commit is contained in:
Evan Almloff committed 2023-01-02 14:40:25 -06:00
1 parent 64db1def9f
commit 51dba50c04
20 files changed
+184 -200

No files matched your search

+10 -5
View File
@@ -5,7 +5,7 @@
use bumpalo::Bump;
use dioxus::core::{ElementId, Mutation::*};
use dioxus::prelude::*;
use dioxus_core::AttributeValue;
use dioxus_core::{AttributeValue, BorrowedAttributeValue};
#[test]
fn attrs_cycle() {
@@ -42,11 +42,16 @@ fn attrs_cycle() {
AssignId { path: &[0,], id: ElementId(3,) },
SetAttribute {
name: "class",
value: "1".into_value(&bump),
value: (&*bump.alloc("1".into_value(&bump))).into(),
id: ElementId(3,),
ns: None
},
SetAttribute {
name: "id",
value: (&*bump.alloc("1".into_value(&bump))).into(),
id: ElementId(3,),
ns: None
},
SetAttribute { name: "id", value: "1".into_value(&bump), id: ElementId(3,), ns: None },
ReplaceWith { id: ElementId(1,), m: 1 },
]
);
@@ -68,13 +73,13 @@ fn attrs_cycle() {
AssignId { path: &[0], id: ElementId(3) },
SetAttribute {
name: "class",
value: AttributeValue::Text("3"),
value: BorrowedAttributeValue::Text("3"),
id: ElementId(3),
ns: None
},
SetAttribute {
name: "id",
value: AttributeValue::Text("3"),
value: BorrowedAttributeValue::Text("3"),
id: ElementId(3),
ns: None
},
+2 -1
View File
@@ -6,13 +6,14 @@ use dioxus::prelude::*;
fn bool_test() {
let mut app = VirtualDom::new(|cx| cx.render(rsx!(div { hidden: false })));
let bump = Bump::new();
assert_eq!(
app.rebuild().santize().edits,
[
LoadTemplate { name: "template", index: 0, id: ElementId(1) },
SetAttribute {
name: "hidden",
value: false.into_value(&bump),
value: (&*bump.alloc(false.into_value(&bump))).into(),
id: ElementId(1,),
ns: None
},
+1 -1
View File
@@ -36,7 +36,7 @@ fn dual_stream() {
LoadTemplate { name: "template", index: 0, id: ElementId(1) },
SetAttribute {
name: "class",
value: "123".into_value(&bump),
value: (&*bump.alloc("123".into_value(&bump))).into(),
id: ElementId(1),
ns: None,
},