Clarify Duration::MAX depends on Instant

Duration is used in std to represent a difference between two Instants.
As such, it has to at least contain that span of time in it. However,
Instant can vary by platform. Thus, we should explain the impl of
Duration::MAX is sensitive to these vagaries of the platform.
This commit is contained in:
Jubilee Young 2021-04-19 16:31:30 -07:00
parent 17234dbb3d
commit a80dbea918

View File

@ -136,16 +136,18 @@ impl Duration {
/// The maximum duration.
///
/// It is roughly equal to a duration of 584,942,417,355 years.
/// May vary by platform. At least equal to the number of seconds
/// difference between the minimum and maximum [`std::time::Instant`].
/// On many platforms this is roughly 584,942,417,355 years.
///
/// # Examples
///
/// ```
/// #![feature(duration_constants)]
/// use std::time::Duration;
///
/// assert_eq!(Duration::MAX, Duration::new(u64::MAX, 1_000_000_000 - 1));
/// ```
/// [`std::time::Instant`]: ../../std/time/struct.Instant.html
#[stable(feature = "duration_saturating_ops", since = "1.53.0")]
pub const MAX: Duration = Duration::new(u64::MAX, NANOS_PER_SEC - 1);