use std::result;
use failure::Fail;
use super::types;
pub type Result<T> = result::Result<T, Error>;
#[derive(Debug, Fail)]
pub enum Error {
#[fail(display = "Invalid index: {}", 0)]
InvalidIndex(usize),
#[fail(display = "Invalid lenght data: {}", 0)]
InvalidLengthData(usize),
#[fail(display = "Invalid address: {}", 0)]
InvalidAddress(String),
#[fail(display = "type error: {}", 0)]
TypeError(types::TypeError),
}
impl From<types::TypeError> for Error {
fn from(err: types::TypeError) -> Error {
Error::TypeError(err)
}
}