added missing refcell ref/refmut coercions to unsized
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user