Add saturating_add and saturating_sub to Instant

This commit is contained in:
wackazong 2025-02-04 11:03:17 +01:00 committed by GitHub
parent 2c8a550410
commit b7fbf6d519
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -115,6 +115,16 @@ 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.ticks = self.ticks.saturating_add(duration.ticks);
}
/// Subtracts a Duration from self. In case of overflow, the minimum value is returned.
pub fn saturating_sub(&mut self, duration: Duration) {
self.ticks = self.ticks.saturating_sub(duration.ticks);
}
}
impl Add<Duration> for Instant {