Tracking Issue for SystemTime::MIN and SystemTime::MAX (original) (raw)
Feature gate: #![feature(time_systemtime_limits)]
This is a tracking issue for rust-lang/libs-team#692
Public API
use std::time::{Duration, SystemTime};
// Adding the smallest possible Duration to SystemTime::MAX shall fail ... assert!(SystemTime::MAX.checked_add(Duration::new(0, 1)).is_none());
// ... whereas subtracting it shall be fine. assert!(SystemTime::MAX.checked_sub(Duration::new(0, 1)).is_some());
// Subtracting the smallest possible Duration from SystemTime::MIN shall fail ... assert!(SystemTime::MIN.checked_sub(Duration::new(0, 1)).is_none());
// ... whereas adding it shall be fine. assert!(SystemTime::MIN.checked_add(Duration::new(0, 1)).is_some());
Steps / History
(Remember to update the S-tracking-* label when checking boxes.)
- ACP: ACP: Add SystemTime::MIN and SystemTime::MAX libs-team#692
- Implementation: Add SystemTime::{MIN, MAX} #148825
- Final comment period (FCP)1
- Stabilization PR
Unresolved Questions
- What should the bounds be on 32-bit platforms? See discussion in Add SystemTime::{MIN, MAX} #148825 (comment). Maybe better resolved by using 64-bit wide APIs on 32-bit platforms (such as
__clock_gettime64orclock_gettime_nsec_np)