//! Error types. use core::fmt; /// [`Result`][`core::result::Result`] type with `spake2`'s [`Error`] type. pub type Result = core::result::Result; /// SPAKE2 errors. #[derive(Copy, Clone, Debug, Eq, PartialEq)] pub enum Error { /// Bad side BadSide, /// Corrupt message CorruptMessage, /// Wrong length WrongLength, } impl fmt::Display for Error { fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { match self { Error::BadSide => fmt.write_str("bad side"), Error::CorruptMessage => fmt.write_str("corrupt message"), Error::WrongLength => fmt.write_str("invalid length"), } } } #[cfg(feature = "std")] impl std::error::Error for Error {}