rust/tests/pass/without-validation.rs
2022-06-01 10:53:38 -04:00

25 lines
680 B
Rust

// 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();
}