about summary refs log tree commit diff
path: root/src/libcore/cell.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcore/cell.rs')
-rw-r--r--src/libcore/cell.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libcore/cell.rs b/src/libcore/cell.rs
index eef133181e1..7ab2ae307d4 100644
--- a/src/libcore/cell.rs
+++ b/src/libcore/cell.rs
@@ -385,6 +385,7 @@ impl<'b, T> DerefMut<T> for RefMut<'b, T> {
 #[cfg(test)]
 mod test {
     use super::*;
+    use mem::drop;
 
     #[test]
     fn smoketest_cell() {
@@ -413,6 +414,22 @@ mod test {
     }
 
     #[test]
+    fn ref_and_refmut_have_sensible_show() {
+        use str::StrSlice;
+        use realstd::str::Str;
+
+        let refcell = RefCell::new("foo");
+
+        let refcell_refmut = refcell.borrow_mut();
+        assert!(format!("{}", refcell_refmut).as_slice().contains("foo"));
+        drop(refcell_refmut);
+
+        let refcell_ref = refcell.borrow();
+        assert!(format!("{}", refcell_ref).as_slice().contains("foo"));
+        drop(refcell_ref);
+    }
+
+    #[test]
     fn double_imm_borrow() {
         let x = RefCell::new(0);
         let _b1 = x.borrow();