Skip to content

Commit ccb242a

Browse files
authored
Implement Send and Sync for RwLock{Read,Write,Upgradable}Guard (zesterer#142)
This commit restores the auto trait implementations that have been removed in commit 14ecef6.
1 parent 0facec0 commit ccb242a

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/rwlock.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,15 @@ pub struct RwLockUpgradableGuard<'a, T: 'a + ?Sized, R = Spin> {
111111
unsafe impl<T: ?Sized + Send, R> Send for RwLock<T, R> {}
112112
unsafe impl<T: ?Sized + Send + Sync, R> Sync for RwLock<T, R> {}
113113

114+
unsafe impl<T: ?Sized + Send + Sync, R> Send for RwLockWriteGuard<'_, T, R> {}
115+
unsafe impl<T: ?Sized + Send + Sync, R> Sync for RwLockWriteGuard<'_, T, R> {}
116+
117+
unsafe impl<T: ?Sized + Sync> Send for RwLockReadGuard<'_, T> {}
118+
unsafe impl<T: ?Sized + Sync> Sync for RwLockReadGuard<'_, T> {}
119+
120+
unsafe impl<T: ?Sized + Send + Sync, R> Send for RwLockUpgradableGuard<'_, T, R> {}
121+
unsafe impl<T: ?Sized + Send + Sync, R> Sync for RwLockUpgradableGuard<'_, T, R> {}
122+
114123
impl<T, R> RwLock<T, R> {
115124
/// Creates a new spinlock wrapping the supplied data.
116125
///

0 commit comments

Comments
 (0)