Auto merge of #116949 - hamza1311:stablize-arc_unwrap_or_clone, r=dtolnay
Stablize arc_unwrap_or_clone Fixes: #93610 This likely needs FCP. I created this PR as it's stabilization is trivial and FCP can be just conducted here. Not sure how to ping the libs API team (last attempt didn't work apparently according to GH UI)
This commit is contained in:
commit
61afc9c928
@ -1748,7 +1748,6 @@ impl<T: Clone, A: Allocator + Clone> Rc<T, A> {
|
|||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
/// #![feature(arc_unwrap_or_clone)]
|
|
||||||
/// # use std::{ptr, rc::Rc};
|
/// # use std::{ptr, rc::Rc};
|
||||||
/// let inner = String::from("test");
|
/// let inner = String::from("test");
|
||||||
/// let ptr = inner.as_ptr();
|
/// let ptr = inner.as_ptr();
|
||||||
@ -1769,7 +1768,7 @@ impl<T: Clone, A: Allocator + Clone> Rc<T, A> {
|
|||||||
/// assert!(ptr::eq(ptr, inner.as_ptr()));
|
/// assert!(ptr::eq(ptr, inner.as_ptr()));
|
||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[unstable(feature = "arc_unwrap_or_clone", issue = "93610")]
|
#[stable(feature = "arc_unwrap_or_clone", since = "CURRENT_RUSTC_VERSION")]
|
||||||
pub fn unwrap_or_clone(this: Self) -> T {
|
pub fn unwrap_or_clone(this: Self) -> T {
|
||||||
Rc::try_unwrap(this).unwrap_or_else(|rc| (*rc).clone())
|
Rc::try_unwrap(this).unwrap_or_else(|rc| (*rc).clone())
|
||||||
}
|
}
|
||||||
|
@ -2174,7 +2174,6 @@ impl<T: Clone, A: Allocator + Clone> Arc<T, A> {
|
|||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
/// #![feature(arc_unwrap_or_clone)]
|
|
||||||
/// # use std::{ptr, sync::Arc};
|
/// # use std::{ptr, sync::Arc};
|
||||||
/// let inner = String::from("test");
|
/// let inner = String::from("test");
|
||||||
/// let ptr = inner.as_ptr();
|
/// let ptr = inner.as_ptr();
|
||||||
@ -2195,7 +2194,7 @@ impl<T: Clone, A: Allocator + Clone> Arc<T, A> {
|
|||||||
/// assert!(ptr::eq(ptr, inner.as_ptr()));
|
/// assert!(ptr::eq(ptr, inner.as_ptr()));
|
||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[unstable(feature = "arc_unwrap_or_clone", issue = "93610")]
|
#[stable(feature = "arc_unwrap_or_clone", since = "CURRENT_RUSTC_VERSION")]
|
||||||
pub fn unwrap_or_clone(this: Self) -> T {
|
pub fn unwrap_or_clone(this: Self) -> T {
|
||||||
Arc::try_unwrap(this).unwrap_or_else(|arc| (*arc).clone())
|
Arc::try_unwrap(this).unwrap_or_else(|arc| (*arc).clone())
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user