diff options
| author | Daniel Micay <danielmicay@gmail.com> | 2013-04-22 13:01:32 -0400 |
|---|---|---|
| committer | Daniel Micay <danielmicay@gmail.com> | 2013-04-22 13:01:32 -0400 |
| commit | c99409b332a2bee95e1139c6786c99a06cca9d3b (patch) | |
| tree | 79bca5400a8bd628054813ae4c9929cbb2f2ce48 | |
| parent | d0451eebc41d4eaddcc299c868b5ad983e8c8eb9 (diff) | |
| download | rust-c99409b332a2bee95e1139c6786c99a06cca9d3b.tar.gz rust-c99409b332a2bee95e1139c6786c99a06cca9d3b.zip | |
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!
}
| -rw-r--r-- | src/libcore/cell.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libcore/cell.rs b/src/libcore/cell.rs index 1707bddc2b9..8c2175eeaca 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<T> { - value: Option<T> + priv value: Option<T> } impl<T:cmp::Eq> cmp::Eq for Cell<T> { |
