summaryrefslogtreecommitdiffstats
path: root/vendor/uuid/src/builder/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/uuid/src/builder/error.rs')
-rw-r--r--vendor/uuid/src/builder/error.rs52
1 files changed, 52 insertions, 0 deletions
diff --git a/vendor/uuid/src/builder/error.rs b/vendor/uuid/src/builder/error.rs
new file mode 100644
index 000000000..ec7c2ac88
--- /dev/null
+++ b/vendor/uuid/src/builder/error.rs
@@ -0,0 +1,52 @@
+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 {}
+}