pub struct AnalysisClock { /* private fields */ }Expand description
The single instant a run measures commit ages and staleness against.
Implementations§
Source§impl AnalysisClock
impl AnalysisClock
Sourcepub fn for_repo(root: &Path) -> Self
pub fn for_repo(root: &Path) -> Self
Resolve the clock for root: the environment override first, then
HEAD’s committer timestamp, then the system wall clock.
Sourcepub const fn pinned(epoch_secs: u64) -> Self
pub const fn pinned(epoch_secs: u64) -> Self
A clock pinned to an explicit epoch. Used by tests and by embedders that already know the instant they want the analysis measured against.
Sourcepub const fn epoch_secs(self) -> u64
pub const fn epoch_secs(self) -> u64
The reference epoch, in unix seconds.
Sourcepub const fn source(self) -> AnalysisClockSource
pub const fn source(self) -> AnalysisClockSource
Where the reference epoch came from.
Sourcepub const fn is_reproducible(self) -> bool
pub const fn is_reproducible(self) -> bool
True when two runs over the same commit resolve the same epoch.
Sourcepub const fn minus_days(self, days: u64) -> u64
pub const fn minus_days(self, days: u64) -> u64
The epoch days days before the clock.
Sourcepub fn minus_months(self, months: u64) -> u64
pub fn minus_months(self, months: u64) -> u64
The epoch months calendar months before the clock, in UTC. A
day-of-month that the earlier month does not have clamps to its last
day, so “1 month before March 31” is February 28 rather than March 3.
Sourcepub fn minus_years(self, years: u64) -> u64
pub fn minus_years(self, years: u64) -> u64
The epoch years years before the clock, in UTC. February 29 clamps to
February 28 in a non-leap year.
Trait Implementations§
Source§impl Clone for AnalysisClock
impl Clone for AnalysisClock
impl Copy for AnalysisClock
Source§impl Debug for AnalysisClock
impl Debug for AnalysisClock
impl Eq for AnalysisClock
Source§impl PartialEq for AnalysisClock
impl PartialEq for AnalysisClock
impl StructuralPartialEq for AnalysisClock
Auto Trait Implementations§
impl Freeze for AnalysisClock
impl RefUnwindSafe for AnalysisClock
impl Send for AnalysisClock
impl Sync for AnalysisClock
impl Unpin for AnalysisClock
impl UnsafeUnpin for AnalysisClock
impl UnwindSafe for AnalysisClock
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more