use std::io;
use thiserror::Error;
#[derive(Debug, Error)]
#[non_exhaustive]
pub enum Error {
#[error("Dependency {0:?} not found")]
DependencyNotFound(String),
#[error("Workspace member {0:?} not found")]
WorkspaceMemberNotFound(String),
#[error("Unknown lockfile version: {0}")]
UnknownLockVersion(u8),
#[error("Chaste error: {0:?}")]
ChasteError(#[from] chaste_types::Error),
#[error("I/O error: {0:?}")]
IoError(#[from] io::Error),
#[error("Serde error: {0:?}")]
SerdeError(#[from] serde_json::Error),
#[error("SSRI error: {0:?}")]
SSRIError(#[from] chaste_types::SSRIError),
}
pub type Result<T, E = Error> = std::result::Result<T, E>;