From 423fdeebe9247b16744fae4b50df415bbd08be04 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Mon, 6 May 2019 22:09:55 +0200 Subject: Reorganize dhall into a phase structure --- dhall/src/error.rs | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) (limited to 'dhall/src/error.rs') diff --git a/dhall/src/error.rs b/dhall/src/error.rs index 6ed0bfb..8497a91 100644 --- a/dhall/src/error.rs +++ b/dhall/src/error.rs @@ -1,13 +1,21 @@ +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 = std::result::Result; #[derive(Debug)] #[non_exhaustive] pub enum Error { - IO(std::io::Error), - Parse(dhall_syntax::ParseError), - Decode(crate::binary::DecodeError), - Resolve(crate::imports::ImportError), - Typecheck(crate::typecheck::TypeError), + IO(IOError), + Parse(ParseError), + Decode(DecodeError), + Resolve(ImportError), + Typecheck(TypeError), Deserialize(String), } @@ -25,28 +33,28 @@ impl std::fmt::Display for Error { } impl std::error::Error for Error {} -impl From for Error { - fn from(err: std::io::Error) -> Error { +impl From for Error { + fn from(err: IOError) -> Error { Error::IO(err) } } -impl From for Error { - fn from(err: dhall_syntax::ParseError) -> Error { +impl From for Error { + fn from(err: ParseError) -> Error { Error::Parse(err) } } -impl From for Error { - fn from(err: crate::binary::DecodeError) -> Error { +impl From for Error { + fn from(err: DecodeError) -> Error { Error::Decode(err) } } -impl From for Error { - fn from(err: crate::imports::ImportError) -> Error { +impl From for Error { + fn from(err: ImportError) -> Error { Error::Resolve(err) } } -impl From for Error { - fn from(err: crate::typecheck::TypeError) -> Error { +impl From for Error { + fn from(err: TypeError) -> Error { Error::Typecheck(err) } } -- cgit v1.2.3 From 60129b7d1c0ea8bdf2ec666fa51957e97465e88f Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Mon, 6 May 2019 23:17:26 +0200 Subject: Consolidate errors in the error module --- dhall/src/error.rs | 60 ------------------------------------------------------ 1 file changed, 60 deletions(-) delete mode 100644 dhall/src/error.rs (limited to 'dhall/src/error.rs') 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 = std::result::Result; - -#[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 for Error { - fn from(err: IOError) -> Error { - Error::IO(err) - } -} -impl From for Error { - fn from(err: ParseError) -> Error { - Error::Parse(err) - } -} -impl From for Error { - fn from(err: DecodeError) -> Error { - Error::Decode(err) - } -} -impl From for Error { - fn from(err: ImportError) -> Error { - Error::Resolve(err) - } -} -impl From for Error { - fn from(err: TypeError) -> Error { - Error::Typecheck(err) - } -} -- cgit v1.2.3