about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libcore/time.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libcore/time.rs b/src/libcore/time.rs
index 56e45146f59..4777b435637 100644
--- a/src/libcore/time.rs
+++ b/src/libcore/time.rs
@@ -30,6 +30,7 @@ const NANOS_PER_MILLI: u32 = 1_000_000;
 const NANOS_PER_MICRO: u32 = 1_000;
 const MILLIS_PER_SEC: u64 = 1_000;
 const MICROS_PER_SEC: u64 = 1_000_000;
+const MAX_NANOS_F64: f64 = ((u64::MAX as u128)*(NANOS_PER_SEC as u128)) as f64;
 
 /// A `Duration` type to represent a span of time, typically used for system
 /// timeouts.
@@ -523,7 +524,7 @@ impl Mul<f64> for Duration {
         if !nanos_f64.is_finite() {
             panic!("got non-finite value when multiplying duration by float");
         }
-        if nanos_f64 > ((u64::MAX as u128)*(NANOS_PER_SEC as u128)) as f64 {
+        if nanos_f64 > MAX_NANOS_F64 {
             panic!("overflow when multiplying duration by float");
         };
         let nanos_u128 = nanos_f64 as u128;
@@ -547,7 +548,7 @@ impl Mul<Duration> for f64 {
         if !nanos_f64.is_finite() {
             panic!("got non-finite value when multiplying float by duration");
         }
-        if nanos_f64 > ((u64::MAX as u128)*(NANOS_PER_SEC as u128)) as f64 {
+        if nanos_f64 > MAX_NANOS_F64 {
             panic!("overflow when multiplying float by duration");
         };
         let nanos_u128 = nanos_f64 as u128;
@@ -594,7 +595,7 @@ impl Div<f64> for Duration {
         if !nanos_f64.is_finite() {
             panic!("got non-finite value when dividing duration by float");
         }
-        if nanos_f64 > ((u64::MAX as u128)*(NANOS_PER_SEC as u128)) as f64 {
+        if nanos_f64 > MAX_NANOS_F64 {
             panic!("overflow when dividing duration by float");
         };
         let nanos_u128 = nanos_f64 as u128;