deep-time 0.1.0-beta.10

High-precision, no-std, no-alloc date-time library, leap-seconds, time scales, relativistic time, and a powerful date & duration parser
Documentation
//! [`DtErrKind`] and main error type [`DtErr`].
//!
//! [`DtErr`] is a type alias to [`AnErr`] — a compact,
//! zero-allocation error that supports chaining with
//! source locations and short per-level reasons.

use crate::AnErr;

#[non_exhaustive]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum DtErrKind {
    UnexpectedEnd,
    UnexpectedInputEnd,
    TruncatedDirective,
    UnknownItem,
    UnsupportedItem,
    BadFractional,
    MismatchedLiteral,
    ExpectedValue,
    ExpectedYear,
    ExpectedMonth,
    ExpectedDay,
    ExpectedDayOfYear,
    ExpectedHour,
    ExpectedMinute,
    ExpectedSecond,
    ExpectedFractionalSeconds,
    ExpectedTimestamp,
    ExpectedWeekNumber,
    ExpectedWeekdayNumber,
    InvalidName,
    InvalidTimezoneOffset,
    MustStartWith,
    InvalidNumber,
    InvalidItem,
    InvalidBytes,
    InvalidSyntax,
    OutOfRange,
    TrailingCharacters,
    Incomplete,
    InvalidInput,
    InternalErr,
    IOErr,
}

// 120 bytes
pub type DtErr = AnErr<DtErrKind, 2, 49>;