about summary refs log tree commit diff
path: root/src/libcore/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcore/tests')
-rw-r--r--src/libcore/tests/cell.rs17
-rw-r--r--src/libcore/tests/lib.rs1
2 files changed, 18 insertions, 0 deletions
diff --git a/src/libcore/tests/cell.rs b/src/libcore/tests/cell.rs
index 8585f2f0871..cc0ef6a6f17 100644
--- a/src/libcore/tests/cell.rs
+++ b/src/libcore/tests/cell.rs
@@ -287,3 +287,20 @@ fn refcell_ref_coercion() {
         assert_eq!(&*coerced, comp);
     }
 }
+
+#[test]
+#[should_panic]
+fn refcell_swap_borrows() {
+    let x = RefCell::new(0);
+    let _b = x.borrow();
+    let y = RefCell::new(1);
+    x.swap(&y);
+}
+
+#[test]
+#[should_panic]
+fn refcell_replace_borrows() {
+    let x = RefCell::new(0);
+    let _b = x.borrow();
+    x.replace(1);
+}
diff --git a/src/libcore/tests/lib.rs b/src/libcore/tests/lib.rs
index a85c347146b..84a3be99c27 100644
--- a/src/libcore/tests/lib.rs
+++ b/src/libcore/tests/lib.rs
@@ -31,6 +31,7 @@
 #![feature(ord_max_min)]
 #![feature(rand)]
 #![feature(raw)]
+#![feature(refcell_replace_swap)]
 #![feature(sip_hash_13)]
 #![feature(slice_patterns)]
 #![feature(slice_rotate)]