diff options
| author | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2014-02-21 21:33:23 -0800 |
|---|---|---|
| committer | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2014-02-21 21:33:23 -0800 |
| commit | d223dd1e57cc412aa2eff28e6604f86b9f013083 (patch) | |
| tree | aa8d3f01f77b0a74c024d1632df29d5a95f4724e /src/librustc/metadata | |
| parent | 0135b521ad38615e9a07aac54d9c22627af57ca4 (diff) | |
| download | rust-d223dd1e57cc412aa2eff28e6604f86b9f013083.tar.gz rust-d223dd1e57cc412aa2eff28e6604f86b9f013083.zip | |
std: rewrite Hash to make it more generic
This patch merges IterBytes and Hash traits, which clears up the confusion of using `#[deriving(IterBytes)]` to support hashing. Instead, it now is much easier to use the new `#[deriving(Hash)]` for making a type hashable with a stream hash. Furthermore, it supports custom non-stream-based hashers, such as if a value's hash was cached in a database. This does not yet replace the old IterBytes-hash with this new version.
Diffstat (limited to 'src/librustc/metadata')
| -rw-r--r-- | src/librustc/metadata/decoder.rs | 1 | ||||
| -rw-r--r-- | src/librustc/metadata/encoder.rs | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/librustc/metadata/decoder.rs b/src/librustc/metadata/decoder.rs index 47fcc453489..88aff133fb0 100644 --- a/src/librustc/metadata/decoder.rs +++ b/src/librustc/metadata/decoder.rs @@ -27,6 +27,7 @@ use middle::typeck; use middle::astencode::vtable_decoder_helpers; use std::u64; +use std::hash_old::Hash; use std::io; use std::io::extensions::u64_from_be_bytes; use std::option; diff --git a/src/librustc/metadata/encoder.rs b/src/librustc/metadata/encoder.rs index d2b843cdcf7..7b7f45b2d2d 100644 --- a/src/librustc/metadata/encoder.rs +++ b/src/librustc/metadata/encoder.rs @@ -26,6 +26,7 @@ use middle; use serialize::Encodable; use std::cast; use std::cell::{Cell, RefCell}; +use std::hash_old::Hash; use std::hashmap::{HashMap, HashSet}; use std::io::MemWriter; use std::str; |
