Merge pull request #3846 from wackazong/patch-4

Add saturating_add and saturating_sub to Instant
This commit is contained in:
Ulf Lilleengen 2025-02-04 11:40:57 +00:00 committed by GitHub
commit e0eefbb81f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -115,6 +115,18 @@ impl Instant {
pub fn checked_sub(&self, duration: Duration) -> Option<Instant> {
self.ticks.checked_sub(duration.ticks).map(|ticks| Instant { ticks })
}
/// Adds a Duration to self. In case of overflow, the maximum value is returned.
pub fn saturating_add(mut self, duration: Duration) -> Self {
self.ticks = self.ticks.saturating_add(duration.ticks);
self
}
/// Subtracts a Duration from self. In case of overflow, the minimum value is returned.
pub fn saturating_sub(mut self, duration: Duration) -> Self {
self.ticks = self.ticks.saturating_sub(duration.ticks);
self
}
}
impl Add<Duration> for Instant {