about summary refs log tree commit diff
path: root/src/libstd/sys/windows
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-12-20 14:47:21 +0000
committerbors <bors@rust-lang.org>2017-12-20 14:47:21 +0000
commit81622c6b02536bdcf56145beb317da0d336703c1 (patch)
tree2624499fcf70ff3d8f4072b6aab9a42b9ec9342a /src/libstd/sys/windows
parentdf8dfdeff68e60a68d026a3374cfb8159d0495cb (diff)
parent66e5c790682204d35191dd62332c6f503cdeddbd (diff)
Auto merge of #46874 - kennytm:rollup, r=kennytm
Rollup of 14 pull requests

- Successful merges: #46359, #46517, #46671, #46751, #46760, #46787, #46794, #46828, #46831, #46835, #46851, #46852, #46856, #46870
- Failed merges:
Diffstat (limited to 'src/libstd/sys/windows')
-rw-r--r--src/libstd/sys/windows/time.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libstd/sys/windows/time.rs b/src/libstd/sys/windows/time.rs
index 1be29b5139a..07e64d386a1 100644
--- a/src/libstd/sys/windows/time.rs
+++ b/src/libstd/sys/windows/time.rs
@@ -17,11 +17,12 @@ use sys::cvt;
 use sys_common::mul_div_u64;
 use time::Duration;
 use convert::TryInto;
+use core::hash::{Hash, Hasher};
 
 const NANOS_PER_SEC: u64 = 1_000_000_000;
 const INTERVALS_PER_SEC: u64 = NANOS_PER_SEC / 100;
 
-#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Debug)]
+#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Debug, Hash)]
 pub struct Instant {
     t: c::LARGE_INTEGER,
 }
@@ -173,6 +174,12 @@ impl From<c::FILETIME> for SystemTime {
     }
 }
 
+impl Hash for SystemTime {
+    fn hash<H : Hasher>(&self, state: &mut H) {
+        self.intervals().hash(state)
+    }
+}
+
 fn dur2intervals(d: &Duration) -> i64 {
     d.as_secs()
         .checked_mul(INTERVALS_PER_SEC)