Skip to content

Commit 4255b65

Browse files
committed
fix: Node deserialize use NodeIn instead
Signed-off-by: Woshiluo Luo <[email protected]>
1 parent 59c1de5 commit 4255b65

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/de_mut/node.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,18 @@ pub struct PropItem<'de> {
5454
impl<'de> Node<'de> {
5555
pub fn deserialize<T: Deserialize<'de>>(&self) -> T {
5656
use super::ValueCursor;
57+
let result = match self.cursor.clone().move_on(self.dtb) {
58+
Cursor::Title(c) => {
59+
let (name, _) = c.split_on(self.dtb);
60+
let take_result = c.take_node_on(self.dtb, name);
61+
take_result
62+
}
63+
_ => unreachable!("Node's cursor should on its start"),
64+
};
5765
T::deserialize(&mut ValueDeserializer {
5866
dtb: self.dtb,
5967
reg: self.reg,
60-
cursor: ValueCursor::Body(self.cursor),
68+
cursor: ValueCursor::NodeIn(result),
6169
})
6270
.unwrap()
6371
}

0 commit comments

Comments
 (0)