Skip to content

Timestamp adds 1 day panic #90

@tisonkun

Description

@tisonkun
let current_date = Timestamp::now();
current_date + 1.day()

panic:

adding span to timestamp overflowed: Error { inner: ErrorInner { kind: Range(RangeError(Negative { what: "days", given: 1, min: -7304484, max: 7304484 })), cause: None } }
thread 'append::rolling_file::rotation::tests::test_next_date_timestamp' panicked at /Users/tison/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jiff-0.1.5/src/timestamp.rs:2233:31:
adding span to timestamp overflowed: Error { inner: ErrorInner { kind: Range(RangeError(Negative { what: "days", given: 1, min: -7304484, max: 7304484 })), cause: None } }
stack backtrace:

Code:

// Span
    #[inline(always)]
    pub(crate) fn smallest_non_time_non_zero_unit_error(
        &self,
    ) -> Option<Error> {
        if self.days != 0 {
            Some(t::SpanDays::error("days", self.days.get()))
        } else if self.weeks != 0 {
            Some(t::SpanWeeks::error("weeks", self.weeks.get()))
        } else if self.months != 0 {
            Some(t::SpanMonths::error("months", self.months.get()))
        } else if self.years != 0 {
            Some(t::SpanYears::error("years", self.years.get()))
        } else {
            None
        }
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions