cabal_foreign_library/
error.rs

1use std::io;
2
3/// Type for errors that may occur.
4#[derive(Debug, thiserror::Error)]
5pub enum Error {
6    #[error("cabal invocation error")]
7    CabalError(#[source] InvocationError),
8    #[error("ghc-pkg invocation error")]
9    GHCPkgError(#[source] InvocationError),
10
11    #[error("build error")]
12    BuildError(#[source] Option<io::Error>),
13}
14
15/// An error that occurs when invoking `cabal` or `ghc-pkg`.
16#[derive(Debug, thiserror::Error)]
17pub enum InvocationError {
18    #[error("resolution error")]
19    ResolutionError(#[from] which::Error),
20    #[error("i/o error")]
21    IoError(#[from] io::Error),
22}