#[stable(feature = "rust1", since = "1.0.0")]
#[clippy::has_significant_drop]
pub struct RwLockReadGuard<'a, T: ?Sized + 'a> {
+ data: *const T,
inner_lock: &'a sys::MovableRwLock,
- data: &'a T,
}
#[stable(feature = "rust1", since = "1.0.0")]
unsafe fn new(lock: &'rwlock RwLock<T>) -> LockResult<RwLockReadGuard<'rwlock, T>> {
poison::map_result(lock.poison.borrow(), |()| RwLockReadGuard {
inner_lock: &lock.inner,
- data: &*lock.data.get(),
+ data: lock.data.get(),
})
}
}
type Target = T;
fn deref(&self) -> &T {
- self.data
+ unsafe { &*self.data }
}
}