use thiserror::Error;
#[derive(Debug, Error)]
pub enum ToolchainError {
#[error("Registry error: {message}")]
RegistryError {
message: String,
},
#[error("Cache error: {message}")]
CacheError {
message: String,
},
#[error("not implemented: {0}")]
NotImplemented(String),
#[error("digest mismatch for {tool}: expected {expected}, got {actual}")]
DigestMismatch {
tool: String,
expected: String,
actual: String,
},
#[error("IO error: {0}")]
IoError(#[from] std::io::Error),
}
pub type Result<T, E = ToolchainError> = std::result::Result<T, E>;