about summary refs log tree commit diff
path: root/src/libcoretest
diff options
context:
space:
mode:
authorStepan Koltsov <stepan.koltsov@gmail.com>2014-11-14 22:22:42 +0300
committerStepan Koltsov <stepan.koltsov@gmail.com>2014-11-14 22:22:42 +0300
commit7eae5b458993b8a030ed9bb6e65c12babc4bbe4b (patch)
tree866ebbfb319455358f74e8a89163c5d01fd5c9ce /src/libcoretest
parent1bf06495443584539b958873e04cc2f864ab10e4 (diff)
downloadrust-7eae5b458993b8a030ed9bb6e65c12babc4bbe4b.tar.gz
rust-7eae5b458993b8a030ed9bb6e65c12babc4bbe4b.zip
impl Default for Cell and RefCell
It is necessary to have #[deriving(Default)] for struct containing
cells like Cell<u32>.
Diffstat (limited to 'src/libcoretest')
-rw-r--r--src/libcoretest/cell.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libcoretest/cell.rs b/src/libcoretest/cell.rs
index 59365045f43..6444cf7ee0e 100644
--- a/src/libcoretest/cell.rs
+++ b/src/libcoretest/cell.rs
@@ -9,6 +9,7 @@
 // except according to those terms.
 
 use core::cell::*;
+use core::default::Default;
 use std::mem::drop;
 
 #[test]
@@ -146,3 +147,15 @@ fn as_unsafe_cell() {
     unsafe { *r2.as_unsafe_cell().get() = 1u; }
     assert_eq!(1u, *r2.borrow());
 }
+
+#[test]
+fn cell_default() {
+    let cell: Cell<u32> = Default::default();
+    assert_eq!(0, cell.get());
+}
+
+#[test]
+fn refcell_default() {
+    let cell: RefCell<u64> = Default::default();
+    assert_eq!(0, *cell.borrow());
+}