Skip to content

Commit a2cc3c7

Browse files
committed
Rename insert_unchecked to insert_unique
1 parent 52745d1 commit a2cc3c7

File tree

2 files changed

+61
-43
lines changed

2 files changed

+61
-43
lines changed

src/external_trait_impls/rayon/table.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ mod test_par_table {
225225
let hasher = DefaultHashBuilder::default();
226226
let mut a = HashTable::new();
227227
for i in 0..32 {
228-
a.insert_unchecked(make_hash(&hasher, &i), i, |x| make_hash(&hasher, x));
228+
a.insert_unique(make_hash(&hasher, &i), i, |x| make_hash(&hasher, x));
229229
}
230230
let observed = AtomicUsize::new(0);
231231
a.par_iter().for_each(|k| {
@@ -240,8 +240,8 @@ mod test_par_table {
240240
let hs = {
241241
let mut hs = HashTable::new();
242242

243-
hs.insert_unchecked(make_hash(&hasher, &'a'), 'a', |x| make_hash(&hasher, x));
244-
hs.insert_unchecked(make_hash(&hasher, &'b'), 'b', |x| make_hash(&hasher, x));
243+
hs.insert_unique(make_hash(&hasher, &'a'), 'a', |x| make_hash(&hasher, x));
244+
hs.insert_unique(make_hash(&hasher, &'b'), 'b', |x| make_hash(&hasher, x));
245245

246246
hs
247247
};

src/table.rs

Lines changed: 58 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ where
120120
/// assert_eq!(table.capacity(), 0);
121121
///
122122
/// // Now we insert element inside created HashTable
123-
/// table.insert_unchecked(hasher(&"One"), "One", hasher);
123+
/// table.insert_unique(hasher(&"One"), "One", hasher);
124124
/// // We can see that the HashTable holds 1 element
125125
/// assert_eq!(table.len(), 1);
126126
/// // And it also allocates some capacity
@@ -164,11 +164,11 @@ where
164164
/// assert!(empty_map_capacity >= 5);
165165
///
166166
/// // Now we insert some 5 elements inside created HashTable
167-
/// table.insert_unchecked(hasher(&"One"), "One", hasher);
168-
/// table.insert_unchecked(hasher(&"Two"), "Two", hasher);
169-
/// table.insert_unchecked(hasher(&"Three"), "Three", hasher);
170-
/// table.insert_unchecked(hasher(&"Four"), "Four", hasher);
171-
/// table.insert_unchecked(hasher(&"Five"), "Five", hasher);
167+
/// table.insert_unique(hasher(&"One"), "One", hasher);
168+
/// table.insert_unique(hasher(&"Two"), "Two", hasher);
169+
/// table.insert_unique(hasher(&"Three"), "Three", hasher);
170+
/// table.insert_unique(hasher(&"Four"), "Four", hasher);
171+
/// table.insert_unique(hasher(&"Five"), "Five", hasher);
172172
///
173173
/// // We can see that the HashTable holds 5 elements
174174
/// assert_eq!(table.len(), 5);
@@ -210,9 +210,9 @@ where
210210
/// let mut table = HashTable::new();
211211
/// let hasher = BuildHasherDefault::<AHasher>::default();
212212
/// let hasher = |val: &_| hasher.hash_one(val);
213-
/// table.insert_unchecked(hasher(&1), 1, hasher);
214-
/// table.insert_unchecked(hasher(&2), 2, hasher);
215-
/// table.insert_unchecked(hasher(&3), 3, hasher);
213+
/// table.insert_unique(hasher(&1), 1, hasher);
214+
/// table.insert_unique(hasher(&2), 2, hasher);
215+
/// table.insert_unique(hasher(&3), 3, hasher);
216216
/// assert_eq!(table.find(hasher(&2), |&val| val == 2), Some(&2));
217217
/// assert_eq!(table.find(hasher(&4), |&val| val == 4), None);
218218
/// # }
@@ -250,7 +250,7 @@ where
250250
/// let mut table = HashTable::new();
251251
/// let hasher = BuildHasherDefault::<AHasher>::default();
252252
/// let hasher = |val: &_| hasher.hash_one(val);
253-
/// table.insert_unchecked(hasher(&1), (1, "a"), |val| hasher(&val.0));
253+
/// table.insert_unique(hasher(&1), (1, "a"), |val| hasher(&val.0));
254254
/// if let Some(val) = table.find_mut(hasher(&1), |val| val.0 == 1) {
255255
/// val.1 = "b";
256256
/// }
@@ -291,7 +291,7 @@ where
291291
/// let mut table = HashTable::new();
292292
/// let hasher = BuildHasherDefault::<AHasher>::default();
293293
/// let hasher = |val: &_| hasher.hash_one(val);
294-
/// table.insert_unchecked(hasher(&1), (1, "a"), |val| hasher(&val.0));
294+
/// table.insert_unique(hasher(&1), (1, "a"), |val| hasher(&val.0));
295295
/// if let Ok(entry) = table.find_entry(hasher(&1), |val| val.0 == 1) {
296296
/// entry.remove();
297297
/// }
@@ -346,7 +346,7 @@ where
346346
/// let mut table = HashTable::new();
347347
/// let hasher = BuildHasherDefault::<AHasher>::default();
348348
/// let hasher = |val: &_| hasher.hash_one(val);
349-
/// table.insert_unchecked(hasher(&1), (1, "a"), |val| hasher(&val.0));
349+
/// table.insert_unique(hasher(&1), (1, "a"), |val| hasher(&val.0));
350350
/// if let Entry::Occupied(entry) = table.entry(hasher(&1), |val| val.0 == 1, |val| hasher(&val.0))
351351
/// {
352352
/// entry.remove();
@@ -386,11 +386,29 @@ where
386386
/// without checking whether an equivalent element already exists within the
387387
/// table.
388388
///
389-
/// This is
390-
///
391389
/// `hasher` is called if entries need to be moved or copied to a new table.
392390
/// This must return the same hash value that each entry was inserted with.
393-
pub fn insert_unchecked(
391+
///
392+
/// # Examples
393+
///
394+
/// ```
395+
/// # #[cfg(feature = "nightly")]
396+
/// # fn test() {
397+
/// use ahash::AHasher;
398+
/// use hashbrown::HashTable;
399+
/// use std::hash::{BuildHasher, BuildHasherDefault};
400+
///
401+
/// let mut v = HashTable::new();
402+
/// let hasher = BuildHasherDefault::<AHasher>::default();
403+
/// let hasher = |val: &_| hasher.hash_one(val);
404+
/// v.insert_unique(hasher(&1), 1, hasher);
405+
/// # }
406+
/// # fn main() {
407+
/// # #[cfg(feature = "nightly")]
408+
/// # test()
409+
/// # }
410+
/// ```
411+
pub fn insert_unique(
394412
&mut self,
395413
hash: u64,
396414
value: T,
@@ -418,7 +436,7 @@ where
418436
/// let mut v = HashTable::new();
419437
/// let hasher = BuildHasherDefault::<AHasher>::default();
420438
/// let hasher = |val: &_| hasher.hash_one(val);
421-
/// v.insert_unchecked(hasher(&1), 1, hasher);
439+
/// v.insert_unique(hasher(&1), 1, hasher);
422440
/// v.clear();
423441
/// assert!(v.is_empty());
424442
/// # }
@@ -450,8 +468,8 @@ where
450468
/// let mut table = HashTable::with_capacity(100);
451469
/// let hasher = BuildHasherDefault::<AHasher>::default();
452470
/// let hasher = |val: &_| hasher.hash_one(val);
453-
/// table.insert_unchecked(hasher(&1), 1, hasher);
454-
/// table.insert_unchecked(hasher(&2), 2, hasher);
471+
/// table.insert_unique(hasher(&1), 1, hasher);
472+
/// table.insert_unique(hasher(&2), 2, hasher);
455473
/// assert!(table.capacity() >= 100);
456474
/// table.shrink_to_fit(hasher);
457475
/// assert!(table.capacity() >= 2);
@@ -487,8 +505,8 @@ where
487505
/// let mut table = HashTable::with_capacity(100);
488506
/// let hasher = BuildHasherDefault::<AHasher>::default();
489507
/// let hasher = |val: &_| hasher.hash_one(val);
490-
/// table.insert_unchecked(hasher(&1), 1, hasher);
491-
/// table.insert_unchecked(hasher(&2), 2, hasher);
508+
/// table.insert_unique(hasher(&1), 1, hasher);
509+
/// table.insert_unique(hasher(&2), 2, hasher);
492510
/// assert!(table.capacity() >= 100);
493511
/// table.shrink_to(10, hasher);
494512
/// assert!(table.capacity() >= 10);
@@ -613,7 +631,7 @@ where
613631
/// let hasher = |val: &_| hasher.hash_one(val);
614632
/// let mut v = HashTable::new();
615633
/// assert_eq!(v.len(), 0);
616-
/// v.insert_unchecked(hasher(&1), 1, hasher);
634+
/// v.insert_unique(hasher(&1), 1, hasher);
617635
/// assert_eq!(v.len(), 1);
618636
/// # }
619637
/// # fn main() {
@@ -640,7 +658,7 @@ where
640658
/// let hasher = |val: &_| hasher.hash_one(val);
641659
/// let mut v = HashTable::new();
642660
/// assert!(v.is_empty());
643-
/// v.insert_unchecked(hasher(&1), 1, hasher);
661+
/// v.insert_unique(hasher(&1), 1, hasher);
644662
/// assert!(!v.is_empty());
645663
/// # }
646664
/// # fn main() {
@@ -667,8 +685,8 @@ where
667685
/// let mut table = HashTable::new();
668686
/// let hasher = BuildHasherDefault::<AHasher>::default();
669687
/// let hasher = |val: &_| hasher.hash_one(val);
670-
/// table.insert_unchecked(hasher(&"a"), "b", hasher);
671-
/// table.insert_unchecked(hasher(&"b"), "b", hasher);
688+
/// table.insert_unique(hasher(&"a"), "b", hasher);
689+
/// table.insert_unique(hasher(&"b"), "b", hasher);
672690
///
673691
/// // Will print in an arbitrary order.
674692
/// for x in table.iter() {
@@ -703,9 +721,9 @@ where
703721
/// let mut table = HashTable::new();
704722
/// let hasher = BuildHasherDefault::<AHasher>::default();
705723
/// let hasher = |val: &_| hasher.hash_one(val);
706-
/// table.insert_unchecked(hasher(&1), 1, hasher);
707-
/// table.insert_unchecked(hasher(&2), 2, hasher);
708-
/// table.insert_unchecked(hasher(&3), 3, hasher);
724+
/// table.insert_unique(hasher(&1), 1, hasher);
725+
/// table.insert_unique(hasher(&2), 2, hasher);
726+
/// table.insert_unique(hasher(&3), 3, hasher);
709727
///
710728
/// // Update all values
711729
/// for val in table.iter_mut() {
@@ -756,7 +774,7 @@ where
756774
/// let hasher = BuildHasherDefault::<AHasher>::default();
757775
/// let hasher = |val: &_| hasher.hash_one(val);
758776
/// for x in 1..=6 {
759-
/// table.insert_unchecked(hasher(&x), x, hasher);
777+
/// table.insert_unique(hasher(&x), x, hasher);
760778
/// }
761779
/// table.retain(|&mut x| x % 2 == 0);
762780
/// assert_eq!(table.len(), 3);
@@ -792,7 +810,7 @@ where
792810
/// let hasher = BuildHasherDefault::<AHasher>::default();
793811
/// let hasher = |val: &_| hasher.hash_one(val);
794812
/// for x in 1..=3 {
795-
/// table.insert_unchecked(hasher(&x), x, hasher);
813+
/// table.insert_unique(hasher(&x), x, hasher);
796814
/// }
797815
/// assert!(!table.is_empty());
798816
///
@@ -837,7 +855,7 @@ where
837855
/// let hasher = BuildHasherDefault::<AHasher>::default();
838856
/// let hasher = |val: &_| hasher.hash_one(val);
839857
/// for x in 0..8 {
840-
/// table.insert_unchecked(hasher(&x), x, hasher);
858+
/// table.insert_unique(hasher(&x), x, hasher);
841859
/// }
842860
/// let drained: Vec<i32> = table.extract_if(|&mut v| v % 2 == 0).collect();
843861
///
@@ -895,7 +913,7 @@ where
895913
/// ("Herzogin-Anna-Amalia-Bibliothek", 1691),
896914
/// ("Library of Congress", 1800),
897915
/// ] {
898-
/// libraries.insert_unchecked(hasher(&k), (k, v), |(k, _)| hasher(&k));
916+
/// libraries.insert_unique(hasher(&k), (k, v), |(k, _)| hasher(&k));
899917
/// }
900918
///
901919
/// let keys = ["Athenæum", "Library of Congress"];
@@ -965,7 +983,7 @@ where
965983
/// ("Herzogin-Anna-Amalia-Bibliothek", 1691),
966984
/// ("Library of Congress", 1800),
967985
/// ] {
968-
/// libraries.insert_unchecked(hasher(&k), (k, v), |(k, _)| hasher(&k));
986+
/// libraries.insert_unique(hasher(&k), (k, v), |(k, _)| hasher(&k));
969987
/// }
970988
///
971989
/// let keys = ["Athenæum", "Library of Congress"];
@@ -1090,7 +1108,7 @@ where
10901108
/// let hasher = BuildHasherDefault::<AHasher>::default();
10911109
/// let hasher = |val: &_| hasher.hash_one(val);
10921110
/// for x in ["a", "b", "c"] {
1093-
/// table.insert_unchecked(hasher(&x), x, hasher);
1111+
/// table.insert_unique(hasher(&x), x, hasher);
10941112
/// }
10951113
/// assert_eq!(table.len(), 3);
10961114
///
@@ -1142,7 +1160,7 @@ where
11421160
/// let hasher = BuildHasherDefault::<AHasher>::default();
11431161
/// let hasher = |val: &_| hasher.hash_one(val);
11441162
/// for x in ["a", "b"] {
1145-
/// table.insert_unchecked(hasher(&x), x, hasher);
1163+
/// table.insert_unique(hasher(&x), x, hasher);
11461164
/// }
11471165
///
11481166
/// match table.entry(hasher(&"a"), |&x| x == "a", hasher) {
@@ -1394,7 +1412,7 @@ where
13941412
/// let hasher = BuildHasherDefault::<AHasher>::default();
13951413
/// let hasher = |val: &_| hasher.hash_one(val);
13961414
/// for x in ["a", "b", "c"] {
1397-
/// table.insert_unchecked(hasher(&x), x, hasher);
1415+
/// table.insert_unique(hasher(&x), x, hasher);
13981416
/// }
13991417
/// assert_eq!(table.len(), 3);
14001418
///
@@ -1480,7 +1498,7 @@ where
14801498
/// // The table is empty
14811499
/// assert!(table.is_empty() && table.capacity() == 0);
14821500
///
1483-
/// table.insert_unchecked(hasher(&"poneyland"), "poneyland", hasher);
1501+
/// table.insert_unique(hasher(&"poneyland"), "poneyland", hasher);
14841502
/// let capacity_before_remove = table.capacity();
14851503
///
14861504
/// if let Entry::Occupied(o) = table.entry(hasher(&"poneyland"), |&x| x == "poneyland", hasher) {
@@ -1525,7 +1543,7 @@ where
15251543
/// let mut table: HashTable<&str> = HashTable::new();
15261544
/// let hasher = BuildHasherDefault::<AHasher>::default();
15271545
/// let hasher = |val: &_| hasher.hash_one(val);
1528-
/// table.insert_unchecked(hasher(&"poneyland"), "poneyland", hasher);
1546+
/// table.insert_unique(hasher(&"poneyland"), "poneyland", hasher);
15291547
///
15301548
/// match table.entry(hasher(&"poneyland"), |&x| x == "poneyland", hasher) {
15311549
/// Entry::Vacant(_) => panic!(),
@@ -1561,7 +1579,7 @@ where
15611579
/// let mut table: HashTable<(&str, u32)> = HashTable::new();
15621580
/// let hasher = BuildHasherDefault::<AHasher>::default();
15631581
/// let hasher = |val: &_| hasher.hash_one(val);
1564-
/// table.insert_unchecked(hasher(&"poneyland"), ("poneyland", 12), |(k, _)| hasher(&k));
1582+
/// table.insert_unique(hasher(&"poneyland"), ("poneyland", 12), |(k, _)| hasher(&k));
15651583
///
15661584
/// assert_eq!(
15671585
/// table.find(hasher(&"poneyland"), |&(x, _)| x == "poneyland",),
@@ -1614,7 +1632,7 @@ where
16141632
/// let mut table: HashTable<(&str, u32)> = HashTable::new();
16151633
/// let hasher = BuildHasherDefault::<AHasher>::default();
16161634
/// let hasher = |val: &_| hasher.hash_one(val);
1617-
/// table.insert_unchecked(hasher(&"poneyland"), ("poneyland", 12), |(k, _)| hasher(&k));
1635+
/// table.insert_unique(hasher(&"poneyland"), ("poneyland", 12), |(k, _)| hasher(&k));
16181636
///
16191637
/// assert_eq!(
16201638
/// table.find(hasher(&"poneyland"), |&(x, _)| x == "poneyland",),
@@ -1786,7 +1804,7 @@ where
17861804
/// let entry_v: AbsentEntry<_, _> = table.find_entry(hasher(&"a"), |&x| x == "a").unwrap_err();
17871805
/// entry_v
17881806
/// .into_table()
1789-
/// .insert_unchecked(hasher(&"a"), "a", hasher);
1807+
/// .insert_unique(hasher(&"a"), "a", hasher);
17901808
/// assert!(table.find(hasher(&"a"), |&x| x == "a").is_some() && table.len() == 1);
17911809
///
17921810
/// // Nonexistent key (insert)

0 commit comments

Comments
 (0)