1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
use thiserror::Error;
/// General coding errors.
#[derive(Debug, Error)]
pub enum Error {
/// Invalid input data.
#[error("Invalid Data")]
InvalidData,
/// A coding operation needs more data to be completed.
#[error("Additional data needed")]
MoreDataNeeded,
/// Incomplete input configuration.
#[error("Configuration Incomplete")]
ConfigurationIncomplete,
/// Invalid input configuration.
#[error("Configuration Invalid")]
ConfigurationInvalid,
/// Unsupported requested feature.
#[error("Unsupported feature {0}")]
Unsupported(String),
// TODO add support for dependency-specific errors here
// Inner(failure::Context)
}
/// A specialized `Result` type for coding operations.
pub type Result<T> = ::std::result::Result<T, Error>;