diff options
author | Bryant Mairs <bryant@mai.rs> | 2019-01-21 19:49:48 -0800 |
---|---|---|
committer | Bryant Mairs <bryant@mai.rs> | 2019-02-02 16:32:00 -0800 |
commit | cd1e16d1afb70ed510565c52d053b40a9f7c6975 (patch) | |
tree | 5be45908a71355a5c4f8f387af2cddb30c84676b /src/unix/bsd/mod.rs | |
parent | 79ae1217c2a1a220b1c3f39283ba1ab812350cdc (diff) | |
download | rust-libc-cd1e16d1afb70ed510565c52d053b40a9f7c6975.tar.gz |
Implement Hash for all types
Diffstat (limited to 'src/unix/bsd/mod.rs')
-rw-r--r-- | src/unix/bsd/mod.rs | 18 |
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; |