From a80dbea918d6dd0516439f399a62512753276da5 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Mon, 19 Apr 2021 16:31:30 -0700 Subject: [PATCH] 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. --- library/core/src/time.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/library/core/src/time.rs b/library/core/src/time.rs index 7db03367fd53..d7fa5f9bf0a7 100644 --- a/library/core/src/time.rs +++ b/library/core/src/time.rs @@ -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);