1975
1975
1976
1976
// Macros should be defined before the modules that using them
1977
1977
// Also, macros should be imported before using them
1978
- use serde:: serde_if_integer128;
1979
1978
1980
1979
macro_rules! deserialize_num {
1981
1980
( $deserialize: ident => $visit: ident, $( $mut: tt) ?) => {
@@ -2010,10 +2009,8 @@ macro_rules! deserialize_primitives {
2010
2009
deserialize_num!( deserialize_u32 => visit_u32, $( $mut) ?) ;
2011
2010
deserialize_num!( deserialize_u64 => visit_u64, $( $mut) ?) ;
2012
2011
2013
- serde_if_integer128! {
2014
- deserialize_num!( deserialize_i128 => visit_i128, $( $mut) ?) ;
2015
- deserialize_num!( deserialize_u128 => visit_u128, $( $mut) ?) ;
2016
- }
2012
+ deserialize_num!( deserialize_i128 => visit_i128, $( $mut) ?) ;
2013
+ deserialize_num!( deserialize_u128 => visit_u128, $( $mut) ?) ;
2017
2014
2018
2015
deserialize_num!( deserialize_f32 => visit_f32, $( $mut) ?) ;
2019
2016
deserialize_num!( deserialize_f64 => visit_f64, $( $mut) ?) ;
@@ -2815,35 +2812,32 @@ where
2815
2812
fn skip ( & mut self ) -> Result < ( ) , DeError > {
2816
2813
let event = self . next ( ) ?;
2817
2814
self . skip_event ( event) ?;
2818
- match self . write . back ( ) {
2819
- // Skip all subtree, if we skip a start event
2820
- Some ( DeEvent :: Start ( e) ) => {
2821
- let end = e. name ( ) . as_ref ( ) . to_owned ( ) ;
2822
- let mut depth = 0 ;
2823
- loop {
2824
- let event = self . next ( ) ?;
2825
- match event {
2826
- DeEvent :: Start ( ref e) if e. name ( ) . as_ref ( ) == end => {
2827
- self . skip_event ( event) ?;
2828
- depth += 1 ;
2829
- }
2830
- DeEvent :: End ( ref e) if e. name ( ) . as_ref ( ) == end => {
2831
- self . skip_event ( event) ?;
2832
- if depth == 0 {
2833
- break ;
2834
- }
2835
- depth -= 1 ;
2836
- }
2837
- DeEvent :: Eof => {
2838
- self . skip_event ( event) ?;
2815
+ if let Some ( DeEvent :: Start ( e) ) = self . write . back ( ) {
2816
+ let end = e. name ( ) . as_ref ( ) . to_owned ( ) ;
2817
+ let mut depth = 0 ;
2818
+ loop {
2819
+ let event = self . next ( ) ?;
2820
+ match event {
2821
+ DeEvent :: Start ( ref e) if e. name ( ) . as_ref ( ) == end => {
2822
+ self . skip_event ( event) ?;
2823
+ depth += 1 ;
2824
+ }
2825
+ DeEvent :: End ( ref e) if e. name ( ) . as_ref ( ) == end => {
2826
+ self . skip_event ( event) ?;
2827
+ if depth == 0 {
2839
2828
break ;
2840
2829
}
2841
- _ => self . skip_event ( event) ?,
2830
+ depth -= 1 ;
2831
+ }
2832
+ DeEvent :: Eof => {
2833
+ self . skip_event ( event) ?;
2834
+ break ;
2842
2835
}
2836
+ _ => self . skip_event ( event) ?,
2843
2837
}
2844
2838
}
2845
- _ => ( ) ,
2846
2839
}
2840
+
2847
2841
Ok ( ( ) )
2848
2842
}
2849
2843
@@ -3214,7 +3208,7 @@ where
3214
3208
}
3215
3209
}
3216
3210
3217
- impl < ' de , ' a , R , E > de:: Deserializer < ' de > for & ' a mut Deserializer < ' de , R , E >
3211
+ impl < ' de , R , E > de:: Deserializer < ' de > for & mut Deserializer < ' de , R , E >
3218
3212
where
3219
3213
R : XmlRead < ' de > ,
3220
3214
E : EntityResolver ,
@@ -3330,7 +3324,7 @@ where
3330
3324
DeEvent :: Text ( t) if t. is_empty ( ) => visitor. visit_none ( ) ,
3331
3325
DeEvent :: Eof => visitor. visit_none ( ) ,
3332
3326
// if the `xsi:nil` attribute is set to true we got a none value
3333
- DeEvent :: Start ( start) if self . reader . reader . has_nil_attr ( & start) => {
3327
+ DeEvent :: Start ( start) if self . reader . reader . has_nil_attr ( start) => {
3334
3328
self . skip_next_tree ( ) ?;
3335
3329
visitor. visit_none ( )
3336
3330
}
@@ -3354,7 +3348,7 @@ where
3354
3348
///
3355
3349
/// Technically, multiple top-level elements violates XML rule of only one top-level
3356
3350
/// element, but we consider this as several concatenated XML documents.
3357
- impl < ' de , ' a , R , E > SeqAccess < ' de > for & ' a mut Deserializer < ' de , R , E >
3351
+ impl < ' de , R , E > SeqAccess < ' de > for & mut Deserializer < ' de , R , E >
3358
3352
where
3359
3353
R : XmlRead < ' de > ,
3360
3354
E : EntityResolver ,
@@ -3381,7 +3375,7 @@ where
3381
3375
}
3382
3376
}
3383
3377
3384
- impl < ' de , ' a , R , E > IntoDeserializer < ' de , DeError > for & ' a mut Deserializer < ' de , R , E >
3378
+ impl < ' de , R , E > IntoDeserializer < ' de , DeError > for & mut Deserializer < ' de , R , E >
3385
3379
where
3386
3380
R : XmlRead < ' de > ,
3387
3381
E : EntityResolver ,
@@ -4508,6 +4502,7 @@ mod tests {
4508
4502
use super :: * ;
4509
4503
4510
4504
/// <tag1><tag2>...
4505
+ #[ allow( clippy:: module_inception) ]
4511
4506
mod start {
4512
4507
use super :: * ;
4513
4508
use pretty_assertions:: assert_eq;
@@ -4980,6 +4975,7 @@ mod tests {
4980
4975
}
4981
4976
}
4982
4977
4978
+ #[ allow( clippy:: module_inception) ]
4983
4979
mod cdata {
4984
4980
use super :: * ;
4985
4981
use pretty_assertions:: assert_eq;
0 commit comments