diff --git a/serde_json/src/de.rs b/serde_json/src/de.rs index c66b5007..6940f94f 100644 --- a/serde_json/src/de.rs +++ b/serde_json/src/de.rs @@ -54,8 +54,14 @@ impl Deserializer match self.ch { Some(ch) => Ok(Some(ch)), None => { - self.ch = try!(self.next_char()); - Ok(self.ch) + match self.rdr.next() { + Some(Err(err)) => Err(Error::IoError(err)), + Some(Ok(ch)) => { + self.ch = Some(ch); + Ok(self.ch) + } + None => Ok(None), + } } } }