瀏覽代碼

wip: move away from patch machine

Jonathan Kelley 4 年之前
父節點
當前提交
91f1b00517
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      notes/SOLVEDPROBLEMS.md

+ 4 - 1
notes/SOLVEDPROBLEMS.md

@@ -438,6 +438,8 @@ abstract the real dom
 
 ```rust
 
+struct VirtualDom<Dom: RealDom>
+
 trait RealDom {
     type Node: RealNode;
     fn get_node(&self, id: u32) -> &Self::Node;
@@ -454,7 +456,8 @@ trait RealNode {
     fn set_attr(&mut self, name, value);
     fn set_class(&mut self);
     fn remove_attr(&mut self);
-    fn downcast_mut<T>(&mut self) -> Option<&mut T>;
+    // We can't have a generic type in trait objects, so instead we provide the inner as Any
+    fn raw_node_as_any_mut(&mut self) -> &mut dyn Any;
 }
 
 impl VirtualDom<Dom: RealDom> {