// When we notice something breaks only without validation, we add a test here. // compile-flags: -Zmiri-disable-validation use std::cell::*; fn refcell_unsize() { 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); } } fn main() { refcell_unsize(); }