@@ -263,30 +263,6 @@ impl<'a> Deserializer<read::SliceRead<'a>> {
263263 }
264264}
265265
266- macro_rules! forward_deserialize_signed_integer {
267- ( $method: ident) => {
268- #[ inline]
269- fn $method<V >( self , visitor: V ) -> Result <V :: Value >
270- where
271- V : de:: Visitor <' de>,
272- {
273- self . deserialize_i64( visitor)
274- }
275- } ;
276- }
277-
278- macro_rules! forward_deserialize_unsigned_integer {
279- ( $method: ident) => {
280- #[ inline]
281- fn $method<V >( self , visitor: V ) -> Result <V :: Value >
282- where
283- V : de:: Visitor <' de>,
284- {
285- self . deserialize_u64( visitor)
286- }
287- } ;
288- }
289-
290266impl < ' de , R : Read < ' de > > de:: Deserializer < ' de > for & mut Deserializer < R > {
291267 type Error = Error ;
292268
@@ -340,52 +316,13 @@ impl<'de, R: Read<'de>> de::Deserializer<'de> for &mut Deserializer<R> {
340316 }
341317
342318 forward_to_deserialize_any ! {
343- bool f32 f64 unit unit_struct
319+ bool i8 i16 i32 i64 i128 u8 u16 u32 u64 u128 f32 f64 unit unit_struct
344320
345321 char str string
346322
347323 struct enum identifier ignored_any
348324 }
349325
350- forward_deserialize_signed_integer ! ( deserialize_i8) ;
351- forward_deserialize_signed_integer ! ( deserialize_i16) ;
352- forward_deserialize_signed_integer ! ( deserialize_i32) ;
353-
354- fn deserialize_i64 < V > ( self , visitor : V ) -> Result < V :: Value >
355- where
356- V : de:: Visitor < ' de > ,
357- {
358- match self . parse_peek ( ) ? {
359- b'i' => {
360- self . parse_next ( ) ?;
361-
362- let ( is_positive, num) = self . parse_integer ( ) ?;
363- if is_positive {
364- visitor. visit_u64 ( num)
365- } else {
366- use core:: convert:: TryFrom ;
367-
368- visitor. visit_i64 ( -i64:: try_from ( num) . map_err ( |_| {
369- Error :: new ( ErrorKind :: InvalidInteger , self . read . byte_offset ( ) )
370- } ) ?)
371- }
372- }
373- _ => Err ( self . unexpected_type_err ( & visitor) ?) ,
374- }
375- }
376-
377- forward_deserialize_unsigned_integer ! ( deserialize_u8) ;
378- forward_deserialize_unsigned_integer ! ( deserialize_u16) ;
379- forward_deserialize_unsigned_integer ! ( deserialize_u32) ;
380-
381- fn deserialize_u64 < V > ( self , visitor : V ) -> Result < V :: Value >
382- where
383- V : de:: Visitor < ' de > ,
384- {
385- // The implementation should be the same as i64 for this data model
386- self . deserialize_i64 ( visitor)
387- }
388-
389326 fn deserialize_bytes < V > ( self , visitor : V ) -> Result < V :: Value >
390327 where
391328 V : de:: Visitor < ' de > ,
0 commit comments