@@ -4,7 +4,7 @@ use std::fmt;
4
4
use std:: hash:: { DefaultHasher , Hash , Hasher } ;
5
5
use std:: mem:: MaybeUninit ;
6
6
use std:: slice:: Iter as SliceIter ;
7
- use std:: sync:: atomic:: { AtomicUsize , Ordering } ;
7
+ use std:: sync:: atomic:: { AtomicU16 , AtomicUsize , Ordering } ;
8
8
9
9
use ahash:: RandomState ;
10
10
use bitvec:: order:: Lsb0 ;
@@ -144,6 +144,8 @@ where
144
144
}
145
145
146
146
mod index_map_vec {
147
+ use std:: sync:: atomic:: AtomicU16 ;
148
+
147
149
use super :: * ;
148
150
149
151
pub ( super ) struct LazyIndexMapArray < K , V > {
@@ -153,7 +155,7 @@ mod index_map_vec {
153
155
duplicates_mask : DuplicatesMask ,
154
156
}
155
157
156
- type DuplicatesMask = bitvec:: BitArr !( for HASHMAP_THRESHOLD , in Cell < u16 > ) ;
158
+ type DuplicatesMask = bitvec:: BitArr !( for HASHMAP_THRESHOLD , in AtomicU16 ) ;
157
159
158
160
impl < K , V > LazyIndexMapArray < K , V > {
159
161
pub fn new ( ) -> Self {
@@ -321,7 +323,7 @@ enum LazyIndexMapIter<'a, K, V> {
321
323
Vec {
322
324
iter : SliceIter < ' a , ( K , V ) > ,
323
325
// to mask duplicate entries
324
- mask : <bitvec:: BitArr !( for HASHMAP_THRESHOLD , in Cell < u16 > ) as IntoIterator >:: IntoIter ,
326
+ mask : <bitvec:: BitArr !( for HASHMAP_THRESHOLD , in AtomicU16 ) as IntoIterator >:: IntoIter ,
325
327
} ,
326
328
Map ( indexmap:: map:: Iter < ' a , K , V > ) ,
327
329
}
0 commit comments