diff --git a/src/libstd/cell.rs b/src/libstd/cell.rs index 102b87a3733f3..eb114e895103a 100644 --- a/src/libstd/cell.rs +++ b/src/libstd/cell.rs @@ -61,9 +61,9 @@ impl Eq for Cell { } } -impl fmt::Show for Cell { +impl fmt::Show for Cell { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f.buf, r"Cell \{ value: {} \}", unsafe{*&self.value.get()}) + write!(f.buf, r"Cell \{ value: {} \}", self.get()) } } @@ -265,6 +265,17 @@ mod test { assert_eq!(y.get(), (30, 40)); } + #[test] + fn cell_has_sensible_show() { + use str::StrSlice; + + let x = Cell::new("foo bar"); + assert!(format!("{}", x).contains(x.get())); + + x.set("baz qux"); + assert!(format!("{}", x).contains(x.get())); + } + #[test] fn double_imm_borrow() { let x = RefCell::new(0);