Function std::rc::try_unwrapExperimental
[-]
[+]
[src]
pub fn try_unwrap<T>(rc: Rc<T>) -> Result<T, Rc<T>>
Unwraps the contained value if the Rc<T>
is unique.
If the Rc<T>
is not unique, an Err
is returned with the same Rc<T>
.
Example
fn main() { use std::rc::{mod, Rc}; let x = Rc::new(3u); assert_eq!(rc::try_unwrap(x), Ok(3u)); let x = Rc::new(4u); let _y = x.clone(); assert_eq!(rc::try_unwrap(x), Err(Rc::new(4u))); }use std::rc::{mod, Rc}; let x = Rc::new(3u); assert_eq!(rc::try_unwrap(x), Ok(3u)); let x = Rc::new(4u); let _y = x.clone(); assert_eq!(rc::try_unwrap(x), Err(Rc::new(4u)));