Skip to main content

deep_time/
error.rs

1//! [`DtErrKind`] and main error type [`DtErr`].
2//! [`DtErr`] is a type alias to [`AnErr`].
3
4use crate::AnErr;
5
6#[non_exhaustive]
7#[repr(u8)]
8#[derive(Debug, Clone, Copy, PartialEq, Eq)]
9pub enum DtErrKind {
10    UnexpectedEnd,
11    TruncatedDirective,
12    UnknownItem,
13    MissingFeature,
14    MissingRefTimeOrStd,
15    MustStartWith,
16    UnsupportedItem,
17    MismatchedLiteral,
18    ExpectedUnit,
19    ExpectedValue,
20    ExpectedYear,
21    ExpectedCentury,
22    ExpectedMonth,
23    ExpectedDay,
24    ExpectedDayOfYear,
25    ExpectedHour,
26    ExpectedMinute,
27    ExpectedSecond,
28    ExpectedFractional,
29    ExpectedTimestamp,
30    ExpectedWeekNumber,
31    ExpectedWeekdayNumber,
32    ExpectedDigits,
33    ExpectedMonWeekday,
34    ExpectedSunWeekday,
35    ExpectedMonWeek,
36    ExpectedSunWeek,
37    MonWeekdayOutOfRange,
38    SunWeekdayOutOfRange,
39    InvalidCodeId,
40    NonMonotonic,
41    TFieldTooShort,
42    PFieldTooShort,
43    InvalidSubmillisecond,
44    InvalidWeekdayName,
45    InvalidMonthName,
46    InvalidMeridiem,
47    InvalidScale,
48    InvalidDate,
49    InvalidTime,
50    InvalidYear,
51    InvalidMonth,
52    InvalidDay,
53    InvalidDayOfYear,
54    InvalidIsoWeekYear,
55    InvalidIsoWeek,
56    InvalidSunWeek,
57    InvalidMonWeek,
58    InvalidHour,
59    InvalidMinute,
60    InvalidSecond,
61    InvalidFractional,
62    InvalidTimestamp,
63    InvalidName,
64    InvalidTimeZone,
65    OffsetMissingSign,
66    InvalidOffsetHour,
67    InvalidOffsetMinute,
68    InvalidOffsetSecond,
69    InvalidOffsetColons,
70    InvalidOffset,
71    InvalidNumber,
72    InvalidItem,
73    InvalidBytes,
74    InvalidSyntax,
75    OutOfRange,
76    MonthOutOfRange,
77    DayOutOfRange,
78    DayOfYearOutOfRange,
79    HourOutOfRange,
80    MinuteOutOfRange,
81    SecondOutOfRange,
82    WeekOutOfRange,
83    IsoWeekOutOfRange,
84    YearOutOfRange,
85    FracOutOfRange,
86    MjdOutOfRange,
87    TrailingCharacters,
88    Incomplete,
89    InvalidInput,
90    InvalidLen,
91    InternalErr,
92    ConversionFail,
93    IOErr,
94    Empty,
95}
96
97/// Wrapper around [`AnErr`].
98///
99/// A [`DtErr`] object is 16 bytes.
100pub type DtErr = AnErr<DtErrKind, 15>;