1
- use super :: cursor:: MultiNodeCursor ;
1
+ use super :: cursor:: MultiNodeCursor ;
2
2
use super :: { BodyCursor , Cursor } ;
3
3
use super :: { DtError , PropCursor , RefDtb , RegConfig } ;
4
4
5
5
use core:: marker:: PhantomData ;
6
- use serde:: { de , Deserialize } ;
6
+ use serde:: { Deserialize , de } ;
7
7
8
8
#[ derive( Clone , Copy , Debug ) ]
9
9
pub ( super ) enum ValueCursor {
10
10
Body ( BodyCursor ) ,
11
11
Prop ( BodyCursor , PropCursor ) ,
12
12
Node ( MultiNodeCursor ) ,
13
+ NodeIn ( MultiNodeCursor ) ,
13
14
}
14
15
15
16
#[ derive( Clone , Copy ) ]
@@ -208,8 +209,9 @@ impl<'de> de::Deserializer<'de> for &mut ValueDeserializer<'de> {
208
209
visitor. visit_some ( self )
209
210
}
210
211
}
211
- ValueCursor :: Node ( _) => visitor. visit_some ( self ) ,
212
+ ValueCursor :: NodeIn ( _) => visitor. visit_some ( self ) ,
212
213
ValueCursor :: Body ( _) => visitor. visit_some ( self ) ,
214
+ ValueCursor :: Node ( _) => unreachable ! ( "Node to option(NodeIn instead)" ) ,
213
215
}
214
216
}
215
217
@@ -251,7 +253,7 @@ impl<'de> de::Deserializer<'de> for &mut ValueDeserializer<'de> {
251
253
{
252
254
use super :: { StructAccess , StructAccessType , Temp } ;
253
255
match self . cursor {
254
- ValueCursor :: Node ( result) => {
256
+ ValueCursor :: NodeIn ( result) => {
255
257
let mut start_cursor = result. start_cursor ;
256
258
match start_cursor. move_on ( self . dtb ) {
257
259
Cursor :: Title ( c) => {
@@ -302,7 +304,7 @@ impl<'de> de::Deserializer<'de> for &mut ValueDeserializer<'de> {
302
304
{
303
305
use super :: { StructAccess , StructAccessType , Temp } ;
304
306
match self . cursor {
305
- ValueCursor :: Node ( _) => visitor. visit_map ( StructAccess {
307
+ ValueCursor :: NodeIn ( _) => visitor. visit_map ( StructAccess {
306
308
access_type : StructAccessType :: Map ( false ) ,
307
309
temp : Temp :: Uninit ,
308
310
de : self ,
@@ -313,6 +315,7 @@ impl<'de> de::Deserializer<'de> for &mut ValueDeserializer<'de> {
313
315
de : self ,
314
316
} ) ,
315
317
ValueCursor :: Prop ( _, _) => unreachable ! ( "Prop -> map" ) ,
318
+ ValueCursor :: Node ( _) => unreachable ! ( "Node -> map (Use NodeIn instead)" ) ,
316
319
}
317
320
}
318
321
@@ -327,7 +330,7 @@ impl<'de> de::Deserializer<'de> for &mut ValueDeserializer<'de> {
327
330
{
328
331
use super :: { StructAccess , StructAccessType , Temp } ;
329
332
match self . cursor {
330
- ValueCursor :: Node ( _) => visitor. visit_map ( StructAccess {
333
+ ValueCursor :: NodeIn ( _) => visitor. visit_map ( StructAccess {
331
334
access_type : StructAccessType :: Struct ( fields) ,
332
335
temp : Temp :: Uninit ,
333
336
de : self ,
@@ -338,6 +341,7 @@ impl<'de> de::Deserializer<'de> for &mut ValueDeserializer<'de> {
338
341
de : self ,
339
342
} ) ,
340
343
ValueCursor :: Prop ( _, _) => unreachable ! ( "Prop -> struct {_name}" ) ,
344
+ ValueCursor :: Node ( _) => unreachable ! ( "Node -> struct {_name} (Use NodeIn instead)" ) ,
341
345
}
342
346
}
343
347
0 commit comments