From fd8006d042d9493a1d76ba53a7f7a489684d171a Mon Sep 17 00:00:00 2001 From: Josh Rose Date: Thu, 20 Feb 2025 23:09:34 -0500 Subject: [PATCH] reclaim el id for nested dyn nodes --- packages/core/src/diff/node.rs | 2 +- packages/core/tests/diff_unkeyed_list.rs | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/core/src/diff/node.rs b/packages/core/src/diff/node.rs index 7225969e42..9b3a64d963 100644 --- a/packages/core/src/diff/node.rs +++ b/packages/core/src/diff/node.rs @@ -379,8 +379,8 @@ impl VNode { } else { to.remove_node(id); } - dom.reclaim(id) } + dom.reclaim(id) } Fragment(nodes) => { for node in &nodes[..nodes.len() - 1] { diff --git a/packages/core/tests/diff_unkeyed_list.rs b/packages/core/tests/diff_unkeyed_list.rs index 464319c466..9789a61513 100644 --- a/packages/core/tests/diff_unkeyed_list.rs +++ b/packages/core/tests/diff_unkeyed_list.rs @@ -149,13 +149,13 @@ fn removes_one_by_one() { dom.render_immediate_to_vec().edits, [ LoadTemplate { index: 0, id: ElementId(2) }, - CreateTextNode { value: "0".to_string(), id: ElementId(6) }, + CreateTextNode { value: "0".to_string(), id: ElementId(3) }, ReplacePlaceholder { path: &[0], m: 1 }, - LoadTemplate { index: 0, id: ElementId(8) }, - CreateTextNode { value: "1".to_string(), id: ElementId(9) }, + LoadTemplate { index: 0, id: ElementId(5) }, + CreateTextNode { value: "1".to_string(), id: ElementId(6) }, ReplacePlaceholder { path: &[0], m: 1 }, - LoadTemplate { index: 0, id: ElementId(10) }, - CreateTextNode { value: "2".to_string(), id: ElementId(11) }, + LoadTemplate { index: 0, id: ElementId(7) }, + CreateTextNode { value: "2".to_string(), id: ElementId(8) }, ReplacePlaceholder { path: &[0], m: 1 }, ReplaceWith { id: ElementId(4), m: 3 } ] @@ -420,7 +420,7 @@ fn remove_many() { edits.edits, [ LoadTemplate { index: 0, id: ElementId(9,) }, - CreateTextNode { value: "hello 0".to_string(), id: ElementId(7,) }, + CreateTextNode { value: "hello 0".to_string(), id: ElementId(10,) }, ReplacePlaceholder { path: &[0,], m: 1 }, ReplaceWith { id: ElementId(11,), m: 1 }, ]