summaryrefslogtreecommitdiffstats
path: root/library/alloc/src/rc/tests.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/alloc/src/rc/tests.rs')
-rw-r--r--library/alloc/src/rc/tests.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/library/alloc/src/rc/tests.rs b/library/alloc/src/rc/tests.rs
index 32433cfbd..2784108e0 100644
--- a/library/alloc/src/rc/tests.rs
+++ b/library/alloc/src/rc/tests.rs
@@ -152,6 +152,21 @@ fn try_unwrap() {
}
#[test]
+fn into_inner() {
+ let x = Rc::new(3);
+ assert_eq!(Rc::into_inner(x), Some(3));
+
+ let x = Rc::new(4);
+ let y = Rc::clone(&x);
+ assert_eq!(Rc::into_inner(x), None);
+ assert_eq!(Rc::into_inner(y), Some(4));
+
+ let x = Rc::new(5);
+ let _w = Rc::downgrade(&x);
+ assert_eq!(Rc::into_inner(x), Some(5));
+}
+
+#[test]
fn into_from_raw() {
let x = Rc::new(Box::new("hello"));
let y = x.clone();