Merge pull request #162 from skade/std-error

Have serde::de::Error require std::error::Error
This commit is contained in:
Erick Tryzelaar
2015-12-08 14:10:45 -05:00
8 changed files with 131 additions and 1 deletions
+17
View File
@@ -1,5 +1,6 @@
use std::fmt;
use std::iter;
use std::error;
use serde::{ser, de};
use serde::de::value::{self, ValueDeserializer};
@@ -333,6 +334,22 @@ impl de::Error for Error {
}
}
impl fmt::Display for Error {
fn fmt(&self, formatter: &mut fmt::Formatter) -> Result<(), fmt::Error> {
formatter.write_str(format!("{:?}", self).as_ref())
}
}
impl error::Error for Error {
fn description(&self) -> &str {
"Serde Deserialization Error"
}
fn cause(&self) -> Option<&error::Error> {
None
}
}
impl From<value::Error> for Error {
fn from(error: value::Error) -> Error {
Error::ValueError(error)