summaryrefslogtreecommitdiff
path: root/dhall/src/error.rs
blob: eba7ff5a56a8f01592a9fa538338bdc2cc4629b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use quick_error::quick_error;

pub type Result<T> = std::result::Result<T, Error>;

quick_error! {
    #[derive(Debug)]
    pub enum Error {
        IO(err: std::io::Error) {
            from()
        }
        Parse(err: dhall_core::ParseError) {
            from()
        }
        Decode(err: crate::binary::DecodeError) {
            from()
        }
        Resolve(err: crate::imports::ImportError) {
            from()
        }
        Typecheck(err: crate::typecheck::TypeError<dhall_core::X>) {
            from()
        }
    }
}