feat(metadata): remove manual Send + Sync impls for metadata types (#640)

This commit is contained in:
David Pedersen
2021-05-12 18:21:12 +02:00
committed by GitHub
parent 57509d321b
commit e97f518025
+14 -12
View File
@@ -1244,9 +1244,6 @@ impl<'a> Iterator for Iter<'a> {
}
}
unsafe impl<'a> Sync for Iter<'a> {}
unsafe impl<'a> Send for Iter<'a> {}
// ===== impl IterMut =====
impl<'a> Iterator for IterMut<'a> {
@@ -1274,9 +1271,6 @@ impl<'a> Iterator for IterMut<'a> {
}
}
unsafe impl<'a> Sync for IterMut<'a> {}
unsafe impl<'a> Send for IterMut<'a> {}
// ===== impl ValueDrain =====
impl<'a, VE: ValueEncoding> Iterator for ValueDrain<'a, VE> {
@@ -1293,9 +1287,6 @@ impl<'a, VE: ValueEncoding> Iterator for ValueDrain<'a, VE> {
}
}
unsafe impl<'a, VE: ValueEncoding> Sync for ValueDrain<'a, VE> {}
unsafe impl<'a, VE: ValueEncoding> Send for ValueDrain<'a, VE> {}
// ===== impl Keys =====
impl<'a> Iterator for Keys<'a> {
@@ -1425,9 +1416,6 @@ where
}
}
unsafe impl<'a, VE: ValueEncoding> Sync for ValueIterMut<'a, VE> {}
unsafe impl<'a, VE: ValueEncoding> Send for ValueIterMut<'a, VE> {}
// ===== impl Entry =====
impl<'a, VE: ValueEncoding> Entry<'a, VE> {
@@ -2725,4 +2713,18 @@ mod tests {
}
assert!(found_x_word_bin);
}
#[allow(dead_code)]
fn value_drain_is_send_sync() {
fn is_send_sync<T: Send + Sync>() {}
is_send_sync::<Iter<'_>>();
is_send_sync::<IterMut<'_>>();
is_send_sync::<ValueDrain<'_, Ascii>>();
is_send_sync::<ValueDrain<'_, Binary>>();
is_send_sync::<ValueIterMut<'_, Ascii>>();
is_send_sync::<ValueIterMut<'_, Binary>>();
}
}