]> git.lizzy.rs Git - rust.git/commit
std: Stabilize the `hash` module
authorAlex Crichton <alex@alexcrichton.com>
Wed, 18 Feb 2015 04:48:07 +0000 (20:48 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Wed, 18 Feb 2015 16:26:20 +0000 (08:26 -0800)
commitf83e23ad7c464c242c2d7ace7212d323980b2bca
tree4af495be32288f7af75d660173a19e412c9a29d8
parentdfc5c0f1e8799f47f9033bdcc8a7cd8a217620a5
std: Stabilize the `hash` module

This commit is an implementation of [RFC 823][rfc] which is another pass over
the `std::hash` module for stabilization. The contents of the module were not
entirely marked stable, but some portions which remained quite similar to the
previous incarnation are now marked `#[stable]`. Specifically:

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0823-hash-simplification.md

* `std::hash` is now stable (the name)
* `Hash` is now stable
* `Hash::hash` is now stable
* `Hasher` is now stable
* `SipHasher` is now stable
* `SipHasher::new` and `new_with_keys` are now stable
* `Hasher for SipHasher` is now stable
* Many `Hash` implementations are now stable

All other portions of the `hash` module remain `#[unstable]` as they are less
commonly used and were recently redesigned.

This commit is a breaking change due to the modifications to the `std::hash` API
and more details can be found on the [RFC][rfc].

Closes #22467
[breaking-change]
54 files changed:
src/liballoc/arc.rs
src/liballoc/boxed.rs
src/liballoc/lib.rs
src/liballoc/rc.rs
src/libcollections/bit.rs
src/libcollections/btree/map.rs
src/libcollections/dlist.rs
src/libcollections/lib.rs
src/libcollections/ring_buf.rs
src/libcollections/string.rs
src/libcollections/vec.rs
src/libcollections/vec_map.rs
src/libcore/array.rs
src/libcore/hash/mod.rs
src/libcore/hash/sip.rs
src/libcoretest/hash/mod.rs
src/librustc/lint/mod.rs
src/librustc/metadata/encoder.rs
src/librustc/middle/ty.rs
src/librustc/util/common.rs
src/librustc/util/nodemap.rs
src/librustc/util/ppaux.rs
src/librustc_borrowck/lib.rs
src/librustc_llvm/lib.rs
src/librustc_resolve/lib.rs
src/librustc_trans/lib.rs
src/librustdoc/lib.rs
src/libserialize/collection_impls.rs
src/libserialize/lib.rs
src/libstd/collections/hash/map.rs
src/libstd/collections/hash/map_stage0.rs [new file with mode: 0644]
src/libstd/collections/hash/mod.rs
src/libstd/collections/hash/set.rs
src/libstd/collections/hash/set_stage0.rs [new file with mode: 0644]
src/libstd/collections/hash/table.rs
src/libstd/ffi/os_str.rs
src/libstd/net/addr.rs
src/libstd/net/ip.rs
src/libstd/old_path/posix.rs
src/libstd/old_path/windows.rs
src/libstd/sys/common/wtf8.rs
src/libstd/sys/unix/process.rs
src/libstd/sys/unix/process2.rs
src/libsyntax/ext/deriving/hash.rs
src/libsyntax/lib.rs
src/libsyntax/ptr.rs
src/libsyntax/util/interner.rs
src/libtest/lib.rs
src/libtest/stats.rs
src/test/bench/core-set.rs
src/test/compile-fail/issue-21160.rs
src/test/run-pass/deriving-hash.rs
src/test/run-pass/deriving-meta-multiple.rs
src/test/run-pass/deriving-meta.rs