1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
use trackable::error::ErrorKind as TrackableErrorKind;
use trackable::error::TrackableError;

/// This crate specific error type.
#[derive(Debug, Clone, TrackableError)]
pub struct Error(TrackableError<ErrorKind>);

/// The list of the possible error kinds
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ErrorKind {
    /// Input data is invalid.
    InvalidInput,

    /// Other errors (e.g., I/O error).
    Other,
}
impl TrackableErrorKind for ErrorKind {}