about summary refs log tree commit diff
path: root/src/libstd/lib.rs
diff options
context:
space:
mode:
authorErick Tryzelaar <erick.tryzelaar@gmail.com>2014-02-21 21:33:23 -0800
committerErick Tryzelaar <erick.tryzelaar@gmail.com>2014-02-21 21:33:23 -0800
commitd223dd1e57cc412aa2eff28e6604f86b9f013083 (patch)
treeaa8d3f01f77b0a74c024d1632df29d5a95f4724e /src/libstd/lib.rs
parent0135b521ad38615e9a07aac54d9c22627af57ca4 (diff)
downloadrust-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/libstd/lib.rs')
-rw-r--r--src/libstd/lib.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs
index d3ddd9ae783..6996cba42b4 100644
--- a/src/libstd/lib.rs
+++ b/src/libstd/lib.rs
@@ -54,6 +54,10 @@
 
 #[feature(macro_rules, globs, asm, managed_boxes, thread_local, link_args, simd)];
 
+// Turn on default type parameters.
+#[feature(default_type_params)];
+#[allow(default_type_param_usage)];
+
 // Don't link to std. We are std.
 #[no_std];
 
@@ -141,6 +145,7 @@ pub mod iter;
 pub mod to_str;
 pub mod to_bytes;
 pub mod clone;
+pub mod hash_old;
 pub mod hash;
 pub mod container;
 pub mod default;
@@ -213,6 +218,7 @@ mod std {
     pub use cmp;
     pub use comm;
     pub use fmt;
+    pub use hash;
     pub use io;
     pub use kinds;
     pub use local_data;