use crate::std::result::Result as StdResult;
#[cfg(feature = "std")]
use crate::std::{error::Error as StdError, fmt};
pub type Result<T> = StdResult<T, Error>;
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
#[non_exhaustive]
pub enum ErrorKind {
InvalidCoordinate,
}
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub struct Error {
pub(crate) kind: ErrorKind,
}
impl Error {
pub fn is_invalid(&self) -> bool { self.kind == ErrorKind::InvalidCoordinate }
}
#[cfg(feature = "std")]
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self.kind {
ErrorKind::InvalidCoordinate => write!(f, "invalid coordinate"),
}
}
}
#[cfg(feature = "std")]
impl StdError for Error {}