@@ -3,7 +3,7 @@ use core::hash::{BuildHasher, Hash};
3
3
use core:: iter:: { Chain , FusedIterator } ;
4
4
use core:: ops:: { BitAnd , BitAndAssign , BitOr , BitOrAssign , BitXor , BitXorAssign , Sub , SubAssign } ;
5
5
use core:: { fmt, mem} ;
6
- use map:: { equivalent_key , make_hash, make_hasher } ;
6
+ use map:: make_hash;
7
7
8
8
use super :: map:: { self , HashMap , Keys } ;
9
9
use crate :: raw:: { Allocator , Global , RawExtractIf } ;
@@ -911,11 +911,7 @@ where
911
911
#[ cfg_attr( feature = "inline-more" , inline) ]
912
912
pub fn get_or_insert ( & mut self , value : T ) -> & T {
913
913
let hash = make_hash ( & self . map . hash_builder , & value) ;
914
- let bucket = match self . map . table . find_or_find_insert_slot (
915
- hash,
916
- equivalent_key ( & value) ,
917
- make_hasher ( & self . map . hash_builder ) ,
918
- ) {
914
+ let bucket = match self . map . find_or_find_insert_slot ( hash, & value) {
919
915
Ok ( bucket) => bucket,
920
916
Err ( slot) => unsafe { self . map . table . insert_in_slot ( hash, slot, ( value, ( ) ) ) } ,
921
917
} ;
@@ -953,12 +949,8 @@ where
953
949
Q : Hash + Equivalent < T > + ?Sized ,
954
950
F : FnOnce ( & Q ) -> T ,
955
951
{
956
- let hash = make_hash ( & self . map . hash_builder , & value) ;
957
- let bucket = match self . map . table . find_or_find_insert_slot (
958
- hash,
959
- equivalent_key ( value) ,
960
- make_hasher ( & self . map . hash_builder ) ,
961
- ) {
952
+ let hash = make_hash ( & self . map . hash_builder , value) ;
953
+ let bucket = match self . map . find_or_find_insert_slot ( hash, value) {
962
954
Ok ( bucket) => bucket,
963
955
Err ( slot) => {
964
956
let new = f ( value) ;
@@ -1141,11 +1133,7 @@ where
1141
1133
#[ cfg_attr( feature = "inline-more" , inline) ]
1142
1134
pub fn replace ( & mut self , value : T ) -> Option < T > {
1143
1135
let hash = make_hash ( & self . map . hash_builder , & value) ;
1144
- match self . map . table . find_or_find_insert_slot (
1145
- hash,
1146
- equivalent_key ( & value) ,
1147
- make_hasher ( & self . map . hash_builder ) ,
1148
- ) {
1136
+ match self . map . find_or_find_insert_slot ( hash, & value) {
1149
1137
Ok ( bucket) => Some ( mem:: replace ( unsafe { & mut bucket. as_mut ( ) . 0 } , value) ) ,
1150
1138
Err ( slot) => {
1151
1139
unsafe {
@@ -1591,12 +1579,8 @@ where
1591
1579
/// ```
1592
1580
fn bitxor_assign ( & mut self , rhs : & HashSet < T , S , A > ) {
1593
1581
for item in rhs {
1594
- let hash = make_hash ( & self . map . hash_builder , & item) ;
1595
- match self . map . table . find_or_find_insert_slot (
1596
- hash,
1597
- equivalent_key ( item) ,
1598
- make_hasher ( & self . map . hash_builder ) ,
1599
- ) {
1582
+ let hash = make_hash ( & self . map . hash_builder , item) ;
1583
+ match self . map . find_or_find_insert_slot ( hash, item) {
1600
1584
Ok ( bucket) => unsafe {
1601
1585
self . map . table . remove ( bucket) ;
1602
1586
} ,
0 commit comments