Replace unneeded unsafe calls to .get() with calls to .get_mut()

This commit is contained in:
Daniel Henry-Mantilla
2020-09-19 21:33:40 +02:00
parent 8169989507
commit 5886c38112
5 changed files with 7 additions and 16 deletions
+2 -6
View File
@@ -496,10 +496,7 @@ pub const fn as_ptr(&self) -> *mut T {
#[inline]
#[stable(feature = "cell_get_mut", since = "1.11.0")]
pub fn get_mut(&mut self) -> &mut T {
// SAFETY: This can cause data races if called from a separate thread,
// but `Cell` is `!Sync` so this won't happen, and `&mut` guarantees
// unique access.
unsafe { &mut *self.value.get() }
self.value.get_mut()
}
/// Returns a `&Cell<T>` from a `&mut T`
@@ -945,8 +942,7 @@ pub fn as_ptr(&self) -> *mut T {
#[inline]
#[stable(feature = "cell_get_mut", since = "1.11.0")]
pub fn get_mut(&mut self) -> &mut T {
// SAFETY: `&mut` guarantees unique access.
unsafe { &mut *self.value.get() }
self.value.get_mut()
}
/// Undo the effect of leaked guards on the borrow state of the `RefCell`.
+2 -4
View File
@@ -838,8 +838,7 @@ pub const fn new(p: *mut T) -> AtomicPtr<T> {
#[inline]
#[stable(feature = "atomic_access", since = "1.15.0")]
pub fn get_mut(&mut self) -> &mut *mut T {
// SAFETY: the mutable reference guarantees unique ownership.
unsafe { &mut *self.p.get() }
self.p.get_mut()
}
/// Get atomic access to a pointer.
@@ -1275,8 +1274,7 @@ pub const fn new(v: $int_type) -> Self {
#[inline]
#[$stable_access]
pub fn get_mut(&mut self) -> &mut $int_type {
// SAFETY: the mutable reference guarantees unique ownership.
unsafe { &mut *self.v.get() }
self.v.get_mut()
}
}
+1
View File
@@ -315,6 +315,7 @@
#![feature(try_reserve)]
#![feature(unboxed_closures)]
#![feature(unsafe_block_in_unsafe_fn)]
#![feature(unsafe_cell_get_mut)]
#![feature(unsafe_cell_raw_get)]
#![feature(untagged_unions)]
#![feature(unwind_attributes)]
+1 -3
View File
@@ -406,9 +406,7 @@ pub fn into_inner(self) -> LockResult<T>
/// ```
#[stable(feature = "mutex_get_mut", since = "1.6.0")]
pub fn get_mut(&mut self) -> LockResult<&mut T> {
// We know statically that there are no other references to `self`, so
// there's no need to lock the inner mutex.
let data = unsafe { &mut *self.data.get() };
let data = self.data.get_mut();
poison::map_result(self.poison.borrow(), |_| data)
}
}
+1 -3
View File
@@ -404,9 +404,7 @@ pub fn into_inner(self) -> LockResult<T>
/// ```
#[stable(feature = "rwlock_get_mut", since = "1.6.0")]
pub fn get_mut(&mut self) -> LockResult<&mut T> {
// We know statically that there are no other references to `self`, so
// there's no need to lock the inner lock.
let data = unsafe { &mut *self.data.get() };
let data = self.data.get_mut();
poison::map_result(self.poison.borrow(), |_| data)
}
}