Relaxed iterator send and sync bounds.

This commit is contained in:
Acrimon 2020-02-14 01:47:50 +01:00
parent 867eb9097e
commit c17aa50413
No known key found for this signature in database
GPG Key ID: 79B55D369EAD2A06
1 changed files with 26 additions and 8 deletions

View File

@ -34,12 +34,21 @@ pub struct Iter<'a, K, V, S, M> {
current: Option<GuardIter<'a, K, V, S>>,
}
unsafe impl<'a, K: Eq + Hash + Send, V: Send, S: 'a + BuildHasher, M: Map<'a, K, V, S>> Send
for Iter<'a, K, V, S, M>
unsafe impl<'a, 'i, K, V, S, M> Send for Iter<'i, K, V, S, M>
where
K: 'a + Eq + Hash + Send,
V: 'a + Send,
S: 'a + BuildHasher,
M: Map<'a, K, V, S>,
{
}
unsafe impl<'a, K: Eq + Hash + Send + Sync, V: Send + Sync, S: 'a + BuildHasher, M: Map<'a, K, V, S>>
Sync for Iter<'a, K, V, S, M>
unsafe impl<'a, 'i, K, V, S, M> Sync for Iter<'i, K, V, S, M>
where
K: 'a + Eq + Hash + Sync,
V: 'a + Sync,
S: 'a + BuildHasher,
M: Map<'a, K, V, S>,
{
}
@ -99,12 +108,21 @@ pub struct IterMut<'a, K, V, S, M> {
current: Option<GuardIterMut<'a, K, V, S>>,
}
unsafe impl<'a, K: Eq + Hash + Send, V: Send, S: 'a + BuildHasher, M: Map<'a, K, V, S>> Send
for IterMut<'a, K, V, S, M>
unsafe impl<'a, 'i, K, V, S, M> Send for IterMut<'i, K, V, S, M>
where
K: 'a + Eq + Hash + Send,
V: 'a + Send,
S: 'a + BuildHasher,
M: Map<'a, K, V, S>,
{
}
unsafe impl<'a, K: Eq + Hash + Send + Sync, V: Send + Sync, S: 'a + BuildHasher, M: Map<'a, K, V, S>>
Sync for IterMut<'a, K, V, S, M>
unsafe impl<'a, 'i, K, V, S, M> Sync for IterMut<'i, K, V, S, M>
where
K: 'a + Eq + Hash + Sync,
V: 'a + Sync,
S: 'a + BuildHasher,
M: Map<'a, K, V, S>,
{
}