@@ -2815,34 +2815,31 @@ where
28152815 fn skip ( & mut self ) -> Result < ( ) , DeError > {
28162816 let event = self . next ( ) ?;
28172817 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) ?;
2818+ // Skip all subtree, if we skip a start event
2819+ if let Some ( DeEvent :: Start ( e) ) = self . write . back ( ) {
2820+ let end = e. name ( ) . as_ref ( ) . to_owned ( ) ;
2821+ let mut depth = 0 ;
2822+ loop {
2823+ let event = self . next ( ) ?;
2824+ match event {
2825+ DeEvent :: Start ( ref e) if e. name ( ) . as_ref ( ) == end => {
2826+ self . skip_event ( event) ?;
2827+ depth += 1 ;
2828+ }
2829+ DeEvent :: End ( ref e) if e. name ( ) . as_ref ( ) == end => {
2830+ self . skip_event ( event) ?;
2831+ if depth == 0 {
28392832 break ;
28402833 }
2841- _ => self . skip_event ( event) ?,
2834+ depth -= 1 ;
2835+ }
2836+ DeEvent :: Eof => {
2837+ self . skip_event ( event) ?;
2838+ break ;
28422839 }
2840+ _ => self . skip_event ( event) ?,
28432841 }
28442842 }
2845- _ => ( ) ,
28462843 }
28472844 Ok ( ( ) )
28482845 }
@@ -3214,7 +3211,7 @@ where
32143211 }
32153212}
32163213
3217- impl < ' de , ' a , R , E > de:: Deserializer < ' de > for & ' a mut Deserializer < ' de , R , E >
3214+ impl < ' de , R , E > de:: Deserializer < ' de > for & mut Deserializer < ' de , R , E >
32183215where
32193216 R : XmlRead < ' de > ,
32203217 E : EntityResolver ,
@@ -3235,7 +3232,7 @@ where
32353232 // When document is pretty-printed there could be whitespaces before the root element
32363233 self . skip_whitespaces ( ) ?;
32373234 match self . next ( ) ? {
3238- DeEvent :: Start ( e) => visitor. visit_map ( ElementMapAccess :: new ( self , e, fields) ? ) ,
3235+ DeEvent :: Start ( e) => visitor. visit_map ( ElementMapAccess :: new ( self , e, fields) ) ,
32393236 // SAFETY: The reader is guaranteed that we don't have unmatched tags
32403237 // If we here, then our deserializer has a bug
32413238 DeEvent :: End ( e) => unreachable ! ( "{:?}" , e) ,
@@ -3330,7 +3327,7 @@ where
33303327 DeEvent :: Text ( t) if t. is_empty ( ) => visitor. visit_none ( ) ,
33313328 DeEvent :: Eof => visitor. visit_none ( ) ,
33323329 // 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) => {
3330+ DeEvent :: Start ( start) if self . reader . reader . has_nil_attr ( start) => {
33343331 self . skip_next_tree ( ) ?;
33353332 visitor. visit_none ( )
33363333 }
@@ -3354,7 +3351,7 @@ where
33543351///
33553352/// Technically, multiple top-level elements violates XML rule of only one top-level
33563353/// 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 >
3354+ impl < ' de , R , E > SeqAccess < ' de > for & mut Deserializer < ' de , R , E >
33583355where
33593356 R : XmlRead < ' de > ,
33603357 E : EntityResolver ,
@@ -3381,7 +3378,7 @@ where
33813378 }
33823379}
33833380
3384- impl < ' de , ' a , R , E > IntoDeserializer < ' de , DeError > for & ' a mut Deserializer < ' de , R , E >
3381+ impl < ' de , R , E > IntoDeserializer < ' de , DeError > for & mut Deserializer < ' de , R , E >
33853382where
33863383 R : XmlRead < ' de > ,
33873384 E : EntityResolver ,
@@ -4508,6 +4505,8 @@ mod tests {
45084505 use super :: * ;
45094506
45104507 /// <tag1><tag2>...
4508+ // The same name is intentional
4509+ #[ allow( clippy:: module_inception) ]
45114510 mod start {
45124511 use super :: * ;
45134512 use pretty_assertions:: assert_eq;
@@ -4980,6 +4979,8 @@ mod tests {
49804979 }
49814980 }
49824981
4982+ // The same name is intentional
4983+ #[ allow( clippy:: module_inception) ]
49834984 mod cdata {
49844985 use super :: * ;
49854986 use pretty_assertions:: assert_eq;
0 commit comments