@@ -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 }
0 commit comments