From 045208d6bdb655af2e86431970c8072d0ac5609b Mon Sep 17 00:00:00 2001 From: Paul Dicker Date: Fri, 2 Feb 2024 16:39:12 +0100 Subject: [PATCH 1/2] Make `Duration::new` public --- src/duration.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/duration.rs b/src/duration.rs index 7c371b1740..6b1fb6d940 100644 --- a/src/duration.rs +++ b/src/duration.rs @@ -80,7 +80,7 @@ impl Duration { /// # Errors /// /// Returns `None` when the duration is out of bounds, or if `nanos` ≥ 1,000,000,000. - pub(crate) const fn new(secs: i64, nanos: u32) -> Option { + pub const fn new(secs: i64, nanos: u32) -> Option { if secs < MIN.secs || secs > MAX.secs || nanos > 1_000_000_000 From 67277ebfcf1f9e38881da10e791aaf24dd8ea606 Mon Sep 17 00:00:00 2001 From: Paul Dicker Date: Fri, 2 Feb 2024 16:40:09 +0100 Subject: [PATCH 2/2] Fix check for `nanos` in `Duration::new` --- src/duration.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/duration.rs b/src/duration.rs index 6b1fb6d940..c7d6ee9b9a 100644 --- a/src/duration.rs +++ b/src/duration.rs @@ -83,7 +83,7 @@ impl Duration { pub const fn new(secs: i64, nanos: u32) -> Option { if secs < MIN.secs || secs > MAX.secs - || nanos > 1_000_000_000 + || nanos >= 1_000_000_000 || (secs == MAX.secs && nanos > MAX.nanos as u32) || (secs == MIN.secs && nanos < MIN.nanos as u32) {