use core::fmt;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[non_exhaustive]
pub enum Error {
InvalidFieldName,
InvalidTypeName,
InvalidInterfaceName,
}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let msg = match self {
Self::InvalidFieldName => "Invalid Varlink field name",
Self::InvalidTypeName => "Invalid Varlink type name",
Self::InvalidInterfaceName => "Invalid Varlink interface name",
};
f.write_str(msg)
}
}
impl core::error::Error for Error {}
#[cfg(test)]
mod tests {
use super::*;
use alloc::string::ToString;
#[test]
fn display() {
assert_eq!(
Error::InvalidFieldName.to_string(),
"Invalid Varlink field name"
);
assert_eq!(
Error::InvalidTypeName.to_string(),
"Invalid Varlink type name"
);
assert_eq!(
Error::InvalidInterfaceName.to_string(),
"Invalid Varlink interface name"
);
}
}