From c99409b332a2bee95e1139c6786c99a06cca9d3b Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Mon, 22 Apr 2013 13:01:32 -0400 Subject: [PATCH] cell: public field is unsafe use core::cell; fn main() { let x = cell::Cell(Some(~"foo")); let y = x.value.get_ref().get_ref(); do x.with_mut_ref |z| { *z = None; } println(*y) // boom! } --- src/libcore/cell.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcore/cell.rs b/src/libcore/cell.rs index 1707bddc2b9d4..8c2175eeaca2d 100644 --- a/src/libcore/cell.rs +++ b/src/libcore/cell.rs @@ -20,7 +20,7 @@ Similar to a mutable option type, but friendlier. */ pub struct Cell { - value: Option + priv value: Option } impl cmp::Eq for Cell {