From e369232e36d6fda5df3d2e533b2cdc5c5d2a23bb Mon Sep 17 00:00:00 2001 From: Sam Scott Date: Wed, 9 Jun 2021 15:32:07 -0400 Subject: Support deserializing sequences to a hashmap with keys. (#51) --- src/de/parse.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/de/parse.rs') diff --git a/src/de/parse.rs b/src/de/parse.rs index 75ae134..a466e5a 100644 --- a/src/de/parse.rs +++ b/src/de/parse.rs @@ -80,8 +80,7 @@ impl<'a> Level<'a> { if let Level::Sequence(ref mut seq) = *self { seq.push(Level::Flat(value)); } else if let Level::Uninitialised = *self { - let mut seq = Vec::new(); - seq.push(Level::Flat(value)); + let seq = vec![Level::Flat(value)]; *self = Level::Sequence(seq); } else { *self = Level::Invalid( @@ -306,8 +305,7 @@ impl<'a> Parser<'a> { // First character is an integer, attempt to parse it as an integer key b'0'..=b'9' => { let key = self.parse_key(b']', true)?; - let key = - usize::from_str_radix(&key, 10).map_err(Error::from)?; + let key = key.parse().map_err(Error::from)?; self.parse_ord_seq_value(key, node)?; return Ok(true); } -- cgit v1.2.3