@@ -61,31 +61,21 @@ where
61
61
Ok ( ( result, bytes_read) )
62
62
}
63
63
64
- #[ deprecated( note = "Use borrow_decode_from_slice instead" ) ]
65
- /// Decode a borrowed type from the given slice. Some parts of the decoded type are expected to be referring to the given slice
66
- pub fn decode_borrowed_from_slice < ' de , T , C > ( slice : & ' de [ u8 ] , config : C ) -> Result < T , DecodeError >
67
- where
68
- T : Deserialize < ' de > ,
69
- C : Config ,
70
- {
71
- let mut serde_decoder =
72
- BorrowedSerdeDecoder :: < DecoderImpl < SliceReader < ' de > , C > > :: from_slice ( slice, config) ;
73
- T :: deserialize ( serde_decoder. as_deserializer ( ) )
74
- }
75
-
76
64
/// Decode a borrowed type from the given slice using a seed. Some parts of the decoded type are expected to be referring to the given slice
77
- pub fn decode_seed_from_slice < ' de , T , C > (
78
- seed : T ,
65
+ pub fn seed_decode_from_slice < ' de , D , C > (
66
+ seed : D ,
79
67
slice : & ' de [ u8 ] ,
80
68
config : C ,
81
- ) -> Result < T :: Value , DecodeError >
69
+ ) -> Result < ( D :: Value , usize ) , DecodeError >
82
70
where
83
- T : DeserializeSeed < ' de > ,
71
+ D : DeserializeSeed < ' de > ,
84
72
C : Config ,
85
73
{
86
74
let mut serde_decoder =
87
75
BorrowedSerdeDecoder :: < DecoderImpl < SliceReader < ' de > , C > > :: from_slice ( slice, config) ;
88
- seed. deserialize ( serde_decoder. as_deserializer ( ) )
76
+ let result = seed. deserialize ( serde_decoder. as_deserializer ( ) ) ?;
77
+ let bytes_read = slice. len ( ) - serde_decoder. de . borrow_reader ( ) . slice . len ( ) ;
78
+ Ok ( ( result, bytes_read) )
89
79
}
90
80
91
81
pub ( super ) struct SerdeDecoder < ' a , ' de , DE : BorrowDecoder < ' de > > {
0 commit comments