use alloc::string::String;
use core::fmt;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum KhamError {
InvalidUtf8,
DictLoadError(String),
CorruptDict,
EmptyInput,
}
impl fmt::Display for KhamError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
KhamError::InvalidUtf8 => f.write_str("invalid UTF-8 sequence"),
KhamError::DictLoadError(msg) => write!(f, "dictionary load error: {msg}"),
KhamError::CorruptDict => {
f.write_str("dictionary data is corrupt or has wrong version")
}
KhamError::EmptyInput => f.write_str("input must not be empty"),
}
}
}
#[cfg(feature = "std")]
extern crate std;
#[cfg(feature = "std")]
impl std::error::Error for KhamError {}