use crate::std::fmt; /// The error that can occur when creating a [`Uuid`]. /// /// [`Uuid`]: struct.Uuid.html #[derive(Clone, Debug, Eq, Hash, PartialEq)] pub(crate) struct Error { expected: usize, found: usize, } impl Error { /// The expected number of bytes. #[inline] const fn expected(&self) -> usize { self.expected } /// The number of bytes found. #[inline] const fn found(&self) -> usize { self.found } /// Create a new [`UuidError`]. /// /// [`UuidError`]: struct.UuidError.html #[inline] pub(crate) const fn new(expected: usize, found: usize) -> Self { Error { expected, found } } } impl fmt::Display for Error { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!( f, "invalid bytes length: expected {}, found {}", self.expected(), self.found() ) } } #[cfg(feature = "std")] mod std_support { use super::*; use crate::std::error; impl error::Error for Error {} }