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 27 28 29 30 31 32 33
use std::error::Error; use std::fmt; /// The enum `CodeError` defines the possible errors from constructor Code. #[derive(Clone, Copy, Debug)] pub enum CodeError { /// The pattern isn't defined. NotImplemented, } impl fmt::Display for CodeError { /// The function `fmt` formats the value using the given formatter. fn fmt(&self, _: &mut fmt::Formatter) -> fmt::Result { Ok(()) } } impl Error for CodeError { /// The function `description` returns a short description of the error. fn description(&self) -> &str { match *self { CodeError::NotImplemented => "The pattern isn't defined.", } } /// The function `cause` returns the lower-level cause of this error, if any. fn cause(&self) -> Option<&Error> { None } }