diff options
Diffstat (limited to '')
-rw-r--r-- | dhall/src/error.rs | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/dhall/src/error.rs b/dhall/src/error.rs deleted file mode 100644 index 8497a91..0000000 --- a/dhall/src/error.rs +++ /dev/null @@ -1,60 +0,0 @@ -use std::io::Error as IOError; - -use dhall_syntax::ParseError; - -use crate::phase::binary::DecodeError; -use crate::phase::resolve::ImportError; -use crate::phase::typecheck::TypeError; - -pub type Result<T> = std::result::Result<T, Error>; - -#[derive(Debug)] -#[non_exhaustive] -pub enum Error { - IO(IOError), - Parse(ParseError), - Decode(DecodeError), - Resolve(ImportError), - Typecheck(TypeError), - Deserialize(String), -} - -impl std::fmt::Display for Error { - fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match self { - Error::IO(err) => write!(f, "{}", err), - Error::Parse(err) => write!(f, "{}", err), - Error::Decode(err) => write!(f, "{:?}", err), - Error::Resolve(err) => write!(f, "{:?}", err), - Error::Typecheck(err) => write!(f, "{:?}", err), - Error::Deserialize(err) => write!(f, "{}", err), - } - } -} - -impl std::error::Error for Error {} -impl From<IOError> for Error { - fn from(err: IOError) -> Error { - Error::IO(err) - } -} -impl From<ParseError> for Error { - fn from(err: ParseError) -> Error { - Error::Parse(err) - } -} -impl From<DecodeError> for Error { - fn from(err: DecodeError) -> Error { - Error::Decode(err) - } -} -impl From<ImportError> for Error { - fn from(err: ImportError) -> Error { - Error::Resolve(err) - } -} -impl From<TypeError> for Error { - fn from(err: TypeError) -> Error { - Error::Typecheck(err) - } -} |