From 9db1f42fa2ac096771ff956d89bcc148842859b6 Mon Sep 17 00:00:00 2001 From: Ellen Date: Sat, 28 Nov 2020 00:30:26 +0000 Subject: [PATCH 1/2] Stabilize unsafe_cell_get_mut --- library/core/src/cell.rs | 4 +--- library/std/src/lib.rs | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/library/core/src/cell.rs b/library/core/src/cell.rs index e1b6307613b73..2d01a26df6168 100644 --- a/library/core/src/cell.rs +++ b/library/core/src/cell.rs @@ -1618,7 +1618,6 @@ impl fmt::Display for RefMut<'_, T> { /// implies exclusive access to its `T`: /// /// ```rust -/// #![feature(unsafe_cell_get_mut)] /// #![forbid(unsafe_code)] // with exclusive accesses, /// // `UnsafeCell` is a transparent no-op wrapper, /// // so no need for `unsafe` here. @@ -1722,7 +1721,6 @@ impl UnsafeCell { /// # Examples /// /// ``` - /// #![feature(unsafe_cell_get_mut)] /// use std::cell::UnsafeCell; /// /// let mut c = UnsafeCell::new(5); @@ -1731,7 +1729,7 @@ impl UnsafeCell { /// assert_eq!(*c.get_mut(), 6); /// ``` #[inline] - #[unstable(feature = "unsafe_cell_get_mut", issue = "76943")] + #[stable(feature = "unsafe_cell_get_mut", since = "1.50.0")] pub fn get_mut(&mut self) -> &mut T { &mut self.value } diff --git a/library/std/src/lib.rs b/library/std/src/lib.rs index f33804c988a1a..5fcfee711ec72 100644 --- a/library/std/src/lib.rs +++ b/library/std/src/lib.rs @@ -320,7 +320,6 @@ #![feature(try_reserve)] #![feature(unboxed_closures)] #![feature(unsafe_block_in_unsafe_fn)] -#![feature(unsafe_cell_get_mut)] #![feature(unsafe_cell_raw_get)] #![feature(unwind_attributes)] #![feature(vec_into_raw_parts)] From 1a1a99ccb7be53c0a14d52ef825caf0fb9fa01a5 Mon Sep 17 00:00:00 2001 From: Ellen Date: Sun, 29 Nov 2020 20:27:01 +0000 Subject: [PATCH 2/2] Change "non-unsafe" to "safe" in UnsafeCell docs --- library/core/src/cell.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/core/src/cell.rs b/library/core/src/cell.rs index 2d01a26df6168..cec40aebd74f8 100644 --- a/library/core/src/cell.rs +++ b/library/core/src/cell.rs @@ -1580,7 +1580,7 @@ impl fmt::Display for RefMut<'_, T> { /// `&UnsafeCell<_>` reference); there is no magic whatsoever when dealing with _exclusive_ /// accesses (_e.g._, through an `&mut UnsafeCell<_>`): neither the cell nor the wrapped value /// may be aliased for the duration of that `&mut` borrow. -/// This is showcased by the [`.get_mut()`] accessor, which is a non-`unsafe` getter that yields +/// This is showcased by the [`.get_mut()`] accessor, which is a _safe_ getter that yields /// a `&mut T`. /// /// [`.get_mut()`]: `UnsafeCell::get_mut`