diff options
| author | Jorge Aparicio <japaricious@gmail.com> | 2015-01-19 15:16:48 -0500 |
|---|---|---|
| committer | Jorge Aparicio <japaricious@gmail.com> | 2015-01-19 15:29:27 -0500 |
| commit | a09df2cb9d1e6025a9565f3ef7983cb743b421a3 (patch) | |
| tree | 0a5cab1f52175a81851a49ac10996b77f18cfa29 /src/libcore/array.rs | |
| parent | 54c9a4655b8c662b5ce3a7ad8a47a4d4d12e78b7 (diff) | |
| download | rust-a09df2cb9d1e6025a9565f3ef7983cb743b421a3.tar.gz rust-a09df2cb9d1e6025a9565f3ef7983cb743b421a3.zip | |
impl Hash for arrays
closes #21402 cc #15294
Diffstat (limited to 'src/libcore/array.rs')
| -rw-r--r-- | src/libcore/array.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libcore/array.rs b/src/libcore/array.rs index c07fac108d6..0cc31bf70de 100644 --- a/src/libcore/array.rs +++ b/src/libcore/array.rs @@ -17,6 +17,7 @@ use clone::Clone; use cmp::{PartialEq, Eq, PartialOrd, Ord, Ordering}; use fmt; +use hash::{Hash, Hasher, self}; use marker::Copy; use ops::{Deref, FullRange}; use option::Option; @@ -32,6 +33,12 @@ macro_rules! array_impls { } } + impl<S: hash::Writer + Hasher, T: Hash<S>> Hash<S> for [T; $N] { + fn hash(&self, state: &mut S) { + Hash::hash(&self[], state) + } + } + #[unstable = "waiting for Show to stabilize"] impl<T:fmt::Show> fmt::Show for [T; $N] { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { |
