Skip to content

Commit e2b6b85

Browse files
committed
Use DefaultHashBuilder instead of AHasher in docs and examples
1 parent 369ad20 commit e2b6b85

File tree

8 files changed

+142
-174
lines changed

8 files changed

+142
-174
lines changed

benches/bench.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ extern crate test;
88

99
use test::{black_box, Bencher};
1010

11-
use hashbrown::hash_map::DefaultHashBuilder;
11+
use hashbrown::DefaultHashBuilder;
1212
use hashbrown::{HashMap, HashSet};
1313
use std::{
1414
collections::hash_map::RandomState,

src/external_trait_impls/rayon/table.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -215,10 +215,7 @@ mod test_par_table {
215215

216216
use rayon::prelude::*;
217217

218-
use crate::{
219-
hash_map::{make_hash, DefaultHashBuilder},
220-
hash_table::HashTable,
221-
};
218+
use crate::{hash_map::make_hash, hash_table::HashTable, DefaultHashBuilder};
222219

223220
#[test]
224221
fn test_iterate() {

src/lib.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@
3939
#![cfg_attr(feature = "nightly", warn(fuzzy_provenance_casts))]
4040
#![cfg_attr(feature = "nightly", allow(internal_features))]
4141

42+
/// Default hasher for [`HashMap`], [`HashSet`] and [`HashTable`].
43+
#[cfg(feature = "default-hasher")]
44+
pub type DefaultHashBuilder = core::hash::BuildHasherDefault<ahash::AHasher>;
45+
46+
/// Dummy default hasher for [`HashMap`], [`HashSet`] and [`HashTable`].
47+
#[cfg(not(feature = "default-hasher"))]
48+
pub enum DefaultHashBuilder {}
49+
4250
#[cfg(test)]
4351
#[macro_use]
4452
extern crate std;

src/map.rs

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::raw::{
22
Allocator, Bucket, Global, RawDrain, RawExtractIf, RawIntoIter, RawIter, RawTable,
33
};
4-
use crate::{Equivalent, TryReserveError};
4+
use crate::{DefaultHashBuilder, Equivalent, TryReserveError};
55
use core::borrow::Borrow;
66
use core::fmt::{self, Debug};
77
use core::hash::{BuildHasher, Hash};
@@ -10,14 +10,6 @@ use core::marker::PhantomData;
1010
use core::mem;
1111
use core::ops::Index;
1212

13-
/// Default hasher for `HashMap`.
14-
#[cfg(feature = "default-hasher")]
15-
pub type DefaultHashBuilder = core::hash::BuildHasherDefault<ahash::AHasher>;
16-
17-
/// Dummy default hasher for `HashMap`.
18-
#[cfg(not(feature = "default-hasher"))]
19-
pub enum DefaultHashBuilder {}
20-
2113
/// A hash map implemented with quadratic probing and SIMD lookup.
2214
///
2315
/// The default hashing algorithm is currently [`AHash`], though this is
@@ -447,7 +439,7 @@ impl<K, V, S> HashMap<K, V, S> {
447439
///
448440
/// ```
449441
/// use hashbrown::HashMap;
450-
/// use hashbrown::hash_map::DefaultHashBuilder;
442+
/// use hashbrown::DefaultHashBuilder;
451443
///
452444
/// let s = DefaultHashBuilder::default();
453445
/// let mut map = HashMap::with_hasher(s);
@@ -489,7 +481,7 @@ impl<K, V, S> HashMap<K, V, S> {
489481
///
490482
/// ```
491483
/// use hashbrown::HashMap;
492-
/// use hashbrown::hash_map::DefaultHashBuilder;
484+
/// use hashbrown::DefaultHashBuilder;
493485
///
494486
/// let s = DefaultHashBuilder::default();
495487
/// let mut map = HashMap::with_capacity_and_hasher(10, s);
@@ -535,7 +527,7 @@ impl<K, V, S, A: Allocator> HashMap<K, V, S, A> {
535527
///
536528
/// ```
537529
/// use hashbrown::HashMap;
538-
/// use hashbrown::hash_map::DefaultHashBuilder;
530+
/// use hashbrown::DefaultHashBuilder;
539531
///
540532
/// let s = DefaultHashBuilder::default();
541533
/// let mut map = HashMap::with_hasher(s);
@@ -570,7 +562,7 @@ impl<K, V, S, A: Allocator> HashMap<K, V, S, A> {
570562
///
571563
/// ```
572564
/// use hashbrown::HashMap;
573-
/// use hashbrown::hash_map::DefaultHashBuilder;
565+
/// use hashbrown::DefaultHashBuilder;
574566
///
575567
/// let s = DefaultHashBuilder::default();
576568
/// let mut map = HashMap::with_capacity_and_hasher(10, s);
@@ -592,7 +584,7 @@ impl<K, V, S, A: Allocator> HashMap<K, V, S, A> {
592584
///
593585
/// ```
594586
/// use hashbrown::HashMap;
595-
/// use hashbrown::hash_map::DefaultHashBuilder;
587+
/// use hashbrown::DefaultHashBuilder;
596588
///
597589
/// let hasher = DefaultHashBuilder::default();
598590
/// let map: HashMap<i32, i32> = HashMap::with_hasher(hasher);

src/raw/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ impl<T> Bucket<T> {
483483
/// use core::hash::{BuildHasher, Hash};
484484
/// use hashbrown::raw::{Bucket, RawTable};
485485
///
486-
/// type NewHashBuilder = core::hash::BuildHasherDefault<ahash::AHasher>;
486+
/// type NewHashBuilder = hashbrown::DefaultHashBuilder;
487487
///
488488
/// fn make_hash<K: Hash + ?Sized, S: BuildHasher>(hash_builder: &S, key: &K) -> u64 {
489489
/// use core::hash::Hasher;
@@ -649,7 +649,7 @@ impl<T> Bucket<T> {
649649
/// use core::hash::{BuildHasher, Hash};
650650
/// use hashbrown::raw::{Bucket, RawTable};
651651
///
652-
/// type NewHashBuilder = core::hash::BuildHasherDefault<ahash::AHasher>;
652+
/// type NewHashBuilder = hashbrown::DefaultHashBuilder;
653653
///
654654
/// fn make_hash<K: Hash + ?Sized, S: BuildHasher>(hash_builder: &S, key: &K) -> u64 {
655655
/// use core::hash::Hasher;
@@ -708,7 +708,7 @@ impl<T> Bucket<T> {
708708
/// use core::hash::{BuildHasher, Hash};
709709
/// use hashbrown::raw::{Bucket, RawTable};
710710
///
711-
/// type NewHashBuilder = core::hash::BuildHasherDefault<ahash::AHasher>;
711+
/// type NewHashBuilder = hashbrown::DefaultHashBuilder;
712712
///
713713
/// fn make_hash<K: Hash + ?Sized, S: BuildHasher>(hash_builder: &S, key: &K) -> u64 {
714714
/// use core::hash::Hasher;

src/set.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ use core::hash::{BuildHasher, Hash};
77
use core::iter::{Chain, FusedIterator};
88
use core::ops::{BitAnd, BitOr, BitXor, Sub};
99

10-
use super::map::{self, DefaultHashBuilder, HashMap, Keys};
10+
use super::map::{self, HashMap, Keys};
1111
use crate::raw::{Allocator, Global, RawExtractIf};
12+
use crate::DefaultHashBuilder;
1213

1314
// Future Optimization (FIXME!)
1415
// =============================
@@ -459,7 +460,7 @@ impl<T, S> HashSet<T, S, Global> {
459460
///
460461
/// ```
461462
/// use hashbrown::HashSet;
462-
/// use hashbrown::hash_map::DefaultHashBuilder;
463+
/// use hashbrown::DefaultHashBuilder;
463464
///
464465
/// let s = DefaultHashBuilder::default();
465466
/// let mut set = HashSet::with_hasher(s);
@@ -497,7 +498,7 @@ impl<T, S> HashSet<T, S, Global> {
497498
///
498499
/// ```
499500
/// use hashbrown::HashSet;
500-
/// use hashbrown::hash_map::DefaultHashBuilder;
501+
/// use hashbrown::DefaultHashBuilder;
501502
///
502503
/// let s = DefaultHashBuilder::default();
503504
/// let mut set = HashSet::with_capacity_and_hasher(10, s);
@@ -546,7 +547,7 @@ where
546547
///
547548
/// ```
548549
/// use hashbrown::HashSet;
549-
/// use hashbrown::hash_map::DefaultHashBuilder;
550+
/// use hashbrown::DefaultHashBuilder;
550551
///
551552
/// let s = DefaultHashBuilder::default();
552553
/// let mut set = HashSet::with_hasher(s);
@@ -584,7 +585,7 @@ where
584585
///
585586
/// ```
586587
/// use hashbrown::HashSet;
587-
/// use hashbrown::hash_map::DefaultHashBuilder;
588+
/// use hashbrown::DefaultHashBuilder;
588589
///
589590
/// let s = DefaultHashBuilder::default();
590591
/// let mut set = HashSet::with_capacity_and_hasher(10, s);
@@ -605,7 +606,7 @@ where
605606
///
606607
/// ```
607608
/// use hashbrown::HashSet;
608-
/// use hashbrown::hash_map::DefaultHashBuilder;
609+
/// use hashbrown::DefaultHashBuilder;
609610
///
610611
/// let hasher = DefaultHashBuilder::default();
611612
/// let set: HashSet<i32> = HashSet::with_hasher(hasher);
@@ -2497,8 +2498,8 @@ fn assert_covariance() {
24972498

24982499
#[cfg(test)]
24992500
mod test_set {
2500-
use super::super::map::DefaultHashBuilder;
25012501
use super::HashSet;
2502+
use crate::DefaultHashBuilder;
25022503
use std::vec::Vec;
25032504

25042505
#[test]

0 commit comments

Comments
 (0)