diff options
Diffstat (limited to 'src/libcore/cell.rs')
| -rw-r--r-- | src/libcore/cell.rs | 17 |
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(); |
