time/error/
different_variant.rs1use core::fmt;
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq)]
8pub struct DifferentVariant;
9
10impl fmt::Display for DifferentVariant {
11 #[inline]
12 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
13 write!(f, "value was of a different variant than required")
14 }
15}
16
17impl core::error::Error for DifferentVariant {}
18
19impl From<DifferentVariant> for crate::Error {
20 #[inline]
21 fn from(err: DifferentVariant) -> Self {
22 Self::DifferentVariant(err)
23 }
24}
25
26impl TryFrom<crate::Error> for DifferentVariant {
27 type Error = Self;
28
29 #[inline]
30 fn try_from(err: crate::Error) -> Result<Self, Self::Error> {
31 match err {
32 crate::Error::DifferentVariant(err) => Ok(err),
33 _ => Err(Self),
34 }
35 }
36}