about summary refs log tree commit diff
path: root/src/libstd/sys/windows
diff options
context:
space:
mode:
authorLinus Färnstrand <faern@faern.net>2019-03-22 22:14:35 +0100
committerLinus Färnstrand <faern@faern.net>2019-03-22 23:56:40 +0100
commit1ccad16231f58b09f127e679d54162acbc2f0dae (patch)
tree3063eeccdb21cb5810661ebecd4f689bee1c1c86 /src/libstd/sys/windows
parentd56b1fd0e7c09445574bae34332eeefa93713e44 (diff)
downloadrust-1ccad16231f58b09f127e679d54162acbc2f0dae.tar.gz
rust-1ccad16231f58b09f127e679d54162acbc2f0dae.zip
Update sys::time impls to have checked_sub_instant
Diffstat (limited to 'src/libstd/sys/windows')
-rw-r--r--src/libstd/sys/windows/time.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libstd/sys/windows/time.rs b/src/libstd/sys/windows/time.rs
index 2c99bca7009..aa53f1194fd 100644
--- a/src/libstd/sys/windows/time.rs
+++ b/src/libstd/sys/windows/time.rs
@@ -49,17 +49,17 @@ impl Instant {
         Instant { t: Duration::from_secs(0) }
     }
 
-    pub fn sub_instant(&self, other: &Instant) -> Duration {
+    pub fn checked_sub_instant(&self, other: &Instant) -> Option<Duration> {
         // On windows there's a threshold below which we consider two timestamps
         // equivalent due to measurement error. For more details + doc link,
         // check the docs on epsilon.
         let epsilon =
             perf_counter::PerformanceCounterInstant::epsilon();
         if other.t > self.t && other.t - self.t <= epsilon {
-            return Duration::new(0, 0)
+            Some(Duration::new(0, 0))
+        } else {
+            self.t.checked_sub(other.t)
         }
-        self.t.checked_sub(other.t)
-              .expect("specified instant was later than self")
     }
 
     pub fn checked_add_duration(&self, other: &Duration) -> Option<Instant> {