From 8a1e1e2e1679944eade4466812ae794fe195da07 Mon Sep 17 00:00:00 2001 From: Scott Lamb Date: Fri, 19 Jun 2020 22:51:43 -0700 Subject: [PATCH] minor cleanup of element skipping * "skipped" is unnecessary: it's always false at depth == 0, so its one use in "if depth == 0 && !skipped" can be removed. * the element doesn't need a binding, and shadowing "named_element" confused me. * remove old commented-out path that errored on unknown elements --- yaserde_derive/src/de/expand_struct.rs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/yaserde_derive/src/de/expand_struct.rs b/yaserde_derive/src/de/expand_struct.rs index 32c154f..7c30427 100644 --- a/yaserde_derive/src/de/expand_struct.rs +++ b/yaserde_derive/src/de/expand_struct.rs @@ -341,26 +341,20 @@ pub fn parse( trace!("Struct {} @ {}: matching {:?}", stringify!(#name), start_depth, event); match event { XmlEvent::StartElement{ref name, ref attributes, ..} => { - let mut skipped = false; - match name.local_name.as_str() { #call_visitors - named_element => { + _ => { let event = reader.next_event()?; #write_unused if depth > 0 { // Don't skip root element - skipped = true; reader.skip_element(|event| { #write_unused })?; } } - // name => { - // return Err(format!("unknown key {}", name)) - // } } - if depth == 0 && !skipped { // Look for attributes only at element start + if depth == 0 { // Look for attributes only at element start #attributes_loading } depth += 1;