diff options
| author | Corey Farwell <coreyf@rwell.org> | 2017-03-17 08:49:03 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-03-17 08:49:03 -0400 |
| commit | f47a377c6ebf9aafb079f9d33771a70995d5a551 (patch) | |
| tree | dfec2c5299c557ed8ee0cdc2d941cd9a44c08ee9 | |
| parent | d7a09d4e655871671a6c94c05a506ae3626ce528 (diff) | |
| parent | 5cc056a744d1fbdacbdeed65ee62c76362bd68cf (diff) | |
| download | rust-f47a377c6ebf9aafb079f9d33771a70995d5a551.tar.gz rust-f47a377c6ebf9aafb079f9d33771a70995d5a551.zip | |
Rollup merge of #40505 - frewsxcv:hash-docs, r=alexcrichton
A few improvements to the `core::hash` top-level docs. Primarily opened to address the concerns brought up in https://github.com/rust-lang/rust/issues/40498. * run rustfmt on code blocks * use `DefaultHasher` instead of deprecated `SipHasher` * rename `hash` to `calculate_hash` to prevent confusion with the `hash` method
| -rw-r--r-- | src/libcore/hash/mod.rs | 44 |
1 files changed, 31 insertions, 13 deletions
diff --git a/src/libcore/hash/mod.rs b/src/libcore/hash/mod.rs index aadeaac83d5..756d472eca8 100644 --- a/src/libcore/hash/mod.rs +++ b/src/libcore/hash/mod.rs @@ -16,7 +16,8 @@ //! # Examples //! //! ```rust -//! use std::hash::{Hash, SipHasher, Hasher}; +//! use std::collections::hash_map::DefaultHasher; +//! use std::hash::{Hash, Hasher}; //! //! #[derive(Hash)] //! struct Person { @@ -25,13 +26,21 @@ //! phone: u64, //! } //! -//! let person1 = Person { id: 5, name: "Janet".to_string(), phone: 555_666_7777 }; -//! let person2 = Person { id: 5, name: "Bob".to_string(), phone: 555_666_7777 }; +//! let person1 = Person { +//! id: 5, +//! name: "Janet".to_string(), +//! phone: 555_666_7777, +//! }; +//! let person2 = Person { +//! id: 5, +//! name: "Bob".to_string(), +//! phone: 555_666_7777, +//! }; //! -//! assert!(hash(&person1) != hash(&person2)); +//! assert!(calculate_hash(&person1) != calculate_hash(&person2)); //! -//! fn hash<T: Hash>(t: &T) -> u64 { -//! let mut s = SipHasher::new(); +//! fn calculate_hash<T: Hash>(t: &T) -> u64 { +//! let mut s = DefaultHasher::new(); //! t.hash(&mut s); //! s.finish() //! } @@ -43,11 +52,12 @@ //! [`Hash`]: trait.Hash.html //! //! ```rust -//! use std::hash::{Hash, Hasher, SipHasher}; +//! use std::collections::hash_map::DefaultHasher; +//! use std::hash::{Hash, Hasher}; //! //! struct Person { //! id: u32, -//! # #[allow(dead_code)] +//! # #[allow(dead_code)] //! name: String, //! phone: u64, //! } @@ -59,13 +69,21 @@ //! } //! } //! -//! let person1 = Person { id: 5, name: "Janet".to_string(), phone: 555_666_7777 }; -//! let person2 = Person { id: 5, name: "Bob".to_string(), phone: 555_666_7777 }; +//! let person1 = Person { +//! id: 5, +//! name: "Janet".to_string(), +//! phone: 555_666_7777, +//! }; +//! let person2 = Person { +//! id: 5, +//! name: "Bob".to_string(), +//! phone: 555_666_7777, +//! }; //! -//! assert_eq!(hash(&person1), hash(&person2)); +//! assert_eq!(calculate_hash(&person1), calculate_hash(&person2)); //! -//! fn hash<T: Hash>(t: &T) -> u64 { -//! let mut s = SipHasher::new(); +//! fn calculate_hash<T: Hash>(t: &T) -> u64 { +//! let mut s = DefaultHasher::new(); //! t.hash(&mut s); //! s.finish() //! } |
