summaryrefslogtreecommitdiff
path: root/src/unix/bsd/mod.rs
diff options
context:
space:
mode:
authorBryant Mairs <bryant@mai.rs>2019-01-21 19:49:48 -0800
committerBryant Mairs <bryant@mai.rs>2019-02-02 16:32:00 -0800
commitcd1e16d1afb70ed510565c52d053b40a9f7c6975 (patch)
tree5be45908a71355a5c4f8f387af2cddb30c84676b /src/unix/bsd/mod.rs
parent79ae1217c2a1a220b1c3f39283ba1ab812350cdc (diff)
downloadrust-libc-cd1e16d1afb70ed510565c52d053b40a9f7c6975.tar.gz
Implement Hash for all types
Diffstat (limited to 'src/unix/bsd/mod.rs')
-rw-r--r--src/unix/bsd/mod.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/unix/bsd/mod.rs b/src/unix/bsd/mod.rs
index 74bbaf75e7..0541c5a005 100644
--- a/src/unix/bsd/mod.rs
+++ b/src/unix/bsd/mod.rs
@@ -162,6 +162,14 @@ impl std::fmt::Debug for sockaddr_un {
}
}
#[cfg(feature = "extra_traits")]
+impl std::hash::Hash for sockaddr_un {
+ fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
+ self.sun_len.hash(state);
+ self.sun_family.hash(state);
+ self.sun_path.hash(state);
+ }
+}
+#[cfg(feature = "extra_traits")]
impl PartialEq for utsname {
fn eq(&self, other: &utsname) -> bool {
self.sysname
@@ -204,6 +212,16 @@ impl std::fmt::Debug for utsname {
.finish()
}
}
+#[cfg(feature = "extra_traits")]
+impl std::hash::Hash for utsname {
+ fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
+ self.sysname.hash(state);
+ self.nodename.hash(state);
+ self.release.hash(state);
+ self.version.hash(state);
+ self.machine.hash(state);
+ }
+}
pub const LC_ALL: ::c_int = 0;
pub const LC_COLLATE: ::c_int = 1;