diff options
| author | Stepan Koltsov <stepan.koltsov@gmail.com> | 2014-11-14 22:22:42 +0300 |
|---|---|---|
| committer | Stepan Koltsov <stepan.koltsov@gmail.com> | 2014-11-14 22:22:42 +0300 |
| commit | 7eae5b458993b8a030ed9bb6e65c12babc4bbe4b (patch) | |
| tree | 866ebbfb319455358f74e8a89163c5d01fd5c9ce /src/libcoretest | |
| parent | 1bf06495443584539b958873e04cc2f864ab10e4 (diff) | |
| download | rust-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.rs | 13 |
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()); +} |
