Skip to content

Commit efa5af9

Browse files
authored
Rollup merge of #131261 - clarfonthey:unsafe-cell-from-mut, r=m-ou-se
Stabilize `UnsafeCell::from_mut` Closes #111645. FCP: #111645 (comment) Note that because `const_mut_refs` and `const_refs_to_cell` was stabilized, it's okay to const-stabilize this method as well.
2 parents bc5cf99 + 6828a1e commit efa5af9

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

library/core/src/cell.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -2122,7 +2122,6 @@ impl<T: ?Sized> UnsafeCell<T> {
21222122
/// # Examples
21232123
///
21242124
/// ```
2125-
/// # #![feature(unsafe_cell_from_mut)]
21262125
/// use std::cell::UnsafeCell;
21272126
///
21282127
/// let mut val = 42;
@@ -2132,7 +2131,9 @@ impl<T: ?Sized> UnsafeCell<T> {
21322131
/// assert_eq!(*uc.get_mut(), 41);
21332132
/// ```
21342133
#[inline(always)]
2135-
#[unstable(feature = "unsafe_cell_from_mut", issue = "111645")]
2134+
#[stable(feature = "unsafe_cell_from_mut", since = "CURRENT_RUSTC_VERSION")]
2135+
#[rustc_const_stable(feature = "unsafe_cell_from_mut", since = "CURRENT_RUSTC_VERSION")]
2136+
#[cfg_attr(bootstrap, rustc_allow_const_fn_unstable(const_mut_refs))]
21362137
pub const fn from_mut(value: &mut T) -> &mut UnsafeCell<T> {
21372138
// SAFETY: `UnsafeCell<T>` has the same memory layout as `T` due to #[repr(transparent)].
21382139
unsafe { &mut *(value as *mut T as *mut UnsafeCell<T>) }

0 commit comments

Comments
 (0)