use std::fmt;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Error {
OutOfBounds,
NonUtf8String,
RequiredFieldMissing(&'static str),
NonNullTerminatedString,
UnknownEnumVariant,
UnknownUnionVariant,
NoTypeDefaultValue,
}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Error::OutOfBounds => write!(f, "flatbuffer access is out of bounds"),
Error::RequiredFieldMissing(m) => write!(f, "required field is missing: {}", m),
Error::NonUtf8String => write!(f, "string is not UTF8 encoded"),
Error::NonNullTerminatedString => write!(f, "string is not terminated with null"),
Error::UnknownEnumVariant => write!(f, "unknown enum variant"),
Error::UnknownUnionVariant => write!(f, "unknown union variant"),
Error::NoTypeDefaultValue => write!(f, "type does not have a default value"),
}
}
}
impl std::error::Error for Error {}