diff options
| author | Валерий Лашманов <vflashm@gmail.com> | 2016-03-31 10:11:59 -0400 |
|---|---|---|
| committer | Валерий Лашманов <vflashm@gmail.com> | 2016-03-31 10:11:59 -0400 |
| commit | 33db2d65ffd5b988fdedc8ed91b395abaa57f777 (patch) | |
| tree | 5327b837607866485c43669a0667668598e0ef23 /src/libcoretest | |
| parent | 102a5be7126ef8f1e79086b98d1d9faf47ba8ece (diff) | |
| download | rust-33db2d65ffd5b988fdedc8ed91b395abaa57f777.tar.gz rust-33db2d65ffd5b988fdedc8ed91b395abaa57f777.zip | |
added missing refcell ref/refmut coercions to unsized
Diffstat (limited to 'src/libcoretest')
| -rw-r--r-- | src/libcoretest/cell.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/libcoretest/cell.rs b/src/libcoretest/cell.rs index cafffb5266f..c0b22274ee9 100644 --- a/src/libcoretest/cell.rs +++ b/src/libcoretest/cell.rs @@ -261,3 +261,23 @@ fn refcell_unsized() { let comp: &mut [i32] = &mut [4, 2, 5]; assert_eq!(&*cell.borrow(), comp); } + +#[test] +fn refcell_ref_coercion() { + let cell: RefCell<[i32; 3]> = RefCell::new([1, 2, 3]); + { + let mut cellref: RefMut<[i32; 3]> = cell.borrow_mut(); + cellref[0] = 4; + let mut coerced: RefMut<[i32]> = cellref; + coerced[2] = 5; + } + { + let comp: &mut [i32] = &mut [4, 2, 5]; + let cellref: Ref<[i32; 3]> = cell.borrow(); + assert_eq!(&*cellref, comp); + let coerced: Ref<[i32]> = cellref; + assert_eq!(&*coerced, comp); + } +} + + |
