Skip to content

Commit 5f39afe

Browse files
committed
fix: write StructDeserializer.cursor
Signed-off-by: Woshiluo Luo <woshiluo.luo@outlook.com>
1 parent 0a34ca5 commit 5f39afe

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/de_mut/node.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ impl<'de> Node<'de> {
5151
unsafe fn covnert_from_struct_deseriallizer_pointer(
5252
ptr: *const &StructDeserializer<'de>,
5353
) -> Self {
54-
let struct_deseriallizer = &*(ptr);
54+
let struct_deseriallizer = &mut *(ptr as *mut &mut StructDeserializer<'de>);
5555
let dtb = struct_deseriallizer.dtb;
5656
let mut cursor = struct_deseriallizer.cursor;
5757
let mut prop: Option<BodyCursor> = None;
@@ -81,6 +81,7 @@ impl<'de> Node<'de> {
8181
}
8282
}
8383
}
84+
struct_deseriallizer.cursor = cursor;
8485
Node {
8586
cursor: struct_deseriallizer.cursor,
8687
reg: struct_deseriallizer.reg,
@@ -90,6 +91,7 @@ impl<'de> Node<'de> {
9091
}
9192
}
9293

94+
// TODO: Maybe use BTreeMap when have alloc
9395
/// 获得节点迭代器。
9496
pub const fn nodes<'b>(&'b self) -> Option<NodeIter<'de, 'b>> {
9597
match self.nodes_start {

0 commit comments

Comments
 (0)