diff --git a/src/de.rs b/src/de.rs index efa9c05b..f608a788 100644 --- a/src/de.rs +++ b/src/de.rs @@ -204,11 +204,7 @@ pub trait Deserializer: Iterator> { #[inline] fn expect_token(&mut self) -> Result { - match self.next() { - Some(Ok(token)) => Ok(token), - Some(Err(err)) => Err(err), - None => Err(self.end_of_stream_error()), - } + self.next().unwrap_or_else(|| Err(self.end_of_stream_error())) } #[inline] @@ -1216,10 +1212,7 @@ mod tests { impl> Iterator> for TokenDeserializer { #[inline] fn next(&mut self) -> option::Option> { - match self.tokens.next() { - None => None, - Some(token) => Some(Ok(token)), - } + self.tokens.next().map(|token| Ok(token)) } }