summaryrefslogtreecommitdiff
path: root/vendor/time/src/error/component_range.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/time/src/error/component_range.rs')
-rw-r--r--vendor/time/src/error/component_range.rs114
1 files changed, 0 insertions, 114 deletions
diff --git a/vendor/time/src/error/component_range.rs b/vendor/time/src/error/component_range.rs
deleted file mode 100644
index dc980234..00000000
--- a/vendor/time/src/error/component_range.rs
+++ /dev/null
@@ -1,114 +0,0 @@
-//! Component range error
-
-use core::{fmt, hash};
-
-use crate::error;
-
-/// An error type indicating that a component provided to a method was out of range, causing a
-/// failure.
-// i64 is the narrowest type fitting all use cases. This eliminates the need for a type parameter.
-#[derive(Debug, Clone, Copy, Eq)]
-pub struct ComponentRange {
- /// Name of the component.
- pub(crate) name: &'static str,
- /// Minimum allowed value, inclusive.
- pub(crate) minimum: i64,
- /// Maximum allowed value, inclusive.
- pub(crate) maximum: i64,
- /// Value that was provided.
- pub(crate) value: i64,
- /// The minimum and/or maximum value is conditional on the value of other
- /// parameters.
- pub(crate) conditional_message: Option<&'static str>,
-}
-
-impl ComponentRange {
- /// Obtain the name of the component whose value was out of range.
- pub const fn name(self) -> &'static str {
- self.name
- }
-
- /// Whether the value's permitted range is conditional, i.e. whether an input with this
- /// value could have succeeded if the values of other components were different.
- pub const fn is_conditional(self) -> bool {
- self.conditional_message.is_some()
- }
-}
-
-impl PartialEq for ComponentRange {
- fn eq(&self, other: &Self) -> bool {
- self.name == other.name
- && self.minimum == other.minimum
- && self.maximum == other.maximum
- && self.value == other.value
- // Skip the contents of the message when comparing for equality.
- && self.conditional_message.is_some() == other.conditional_message.is_some()
- }
-}
-
-impl hash::Hash for ComponentRange {
- fn hash<H: hash::Hasher>(&self, state: &mut H) {
- self.name.hash(state);
- self.minimum.hash(state);
- self.maximum.hash(state);
- self.value.hash(state);
- // Skip the contents of the message when comparing for equality.
- self.conditional_message.is_some().hash(state);
- }
-}
-
-impl fmt::Display for ComponentRange {
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- write!(
- f,
- "{} must be in the range {}..={}",
- self.name, self.minimum, self.maximum
- )?;
-
- if let Some(message) = self.conditional_message {
- write!(f, " {message}")?;
- }
-
- Ok(())
- }
-}
-
-impl From<ComponentRange> for crate::Error {
- fn from(original: ComponentRange) -> Self {
- Self::ComponentRange(original)
- }
-}
-
-impl TryFrom<crate::Error> for ComponentRange {
- type Error = error::DifferentVariant;
-
- fn try_from(err: crate::Error) -> Result<Self, Self::Error> {
- match err {
- crate::Error::ComponentRange(err) => Ok(err),
- _ => Err(error::DifferentVariant),
- }
- }
-}
-
-/// **This trait implementation is deprecated and will be removed in a future breaking release.**
-#[cfg(feature = "serde")]
-impl serde::de::Expected for ComponentRange {
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- write!(
- f,
- "a value in the range {}..={}",
- self.minimum, self.maximum
- )
- }
-}
-
-#[cfg(feature = "serde")]
-impl ComponentRange {
- /// Convert the error to a deserialization error.
- pub(crate) fn into_de_error<E: serde::de::Error>(self) -> E {
- E::invalid_value(serde::de::Unexpected::Signed(self.value), &self)
- }
-}
-
-#[cfg(feature = "std")]
-impl std::error::Error for ComponentRange {}