Rollup merge of #129382 - tgross35:once-cell-const-into-inner, r=Noratrieb
Add `const_cell_into_inner` to `OnceCell` `Cell` and `RefCell` have their `into_inner` methods const unstable. `OnceCell` has the same logic, so add it under the same gate. Tracking issue: https://github.com/rust-lang/rust/issues/78729
This commit is contained in:
commit
28d4b8248e
@ -309,7 +309,8 @@ fn try_init<F, E>(&self, f: F) -> Result<&T, E>
|
|||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[stable(feature = "once_cell", since = "1.70.0")]
|
#[stable(feature = "once_cell", since = "1.70.0")]
|
||||||
pub fn into_inner(self) -> Option<T> {
|
#[rustc_const_unstable(feature = "const_cell_into_inner", issue = "78729")]
|
||||||
|
pub const fn into_inner(self) -> Option<T> {
|
||||||
// Because `into_inner` takes `self` by value, the compiler statically verifies
|
// Because `into_inner` takes `self` by value, the compiler statically verifies
|
||||||
// that it is not currently borrowed. So it is safe to move out `Option<T>`.
|
// that it is not currently borrowed. So it is safe to move out `Option<T>`.
|
||||||
self.inner.into_inner()
|
self.inner.into_inner()
|
||||||
|
Loading…
Reference in New Issue
Block a user