1use core::fmt;
2
3pub type Result<T> = std::result::Result<T, HuffmanError<'static>>;
4
5#[derive(Debug)]
6pub enum HuffmanError<'a> {
7 TreeError(&'a str),
8 ByteStringConversionError(&'a str),
9}
10
11impl fmt::Display for HuffmanError<'_> {
12 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
13 match self {
14 HuffmanError::ByteStringConversionError(e) => {
15 write!(f, "Binary String Conversion Error: {}", e)
16 }
17 HuffmanError::TreeError(e) => write!(f, "Tree Error: {}", e),
18 }
19 }
20}