]> git.lizzy.rs Git - rust.git/blob - src/tools/miri/tests/fail/stacked_borrows/buggy_as_mut_slice.rs
Rollup merge of #104627 - calebzulawski:print-target-features, r=compiler-errors
[rust.git] / src / tools / miri / tests / fail / stacked_borrows / buggy_as_mut_slice.rs
1 mod safe {
2     use std::slice::from_raw_parts_mut;
3
4     pub fn as_mut_slice<T>(self_: &Vec<T>) -> &mut [T] {
5         unsafe { from_raw_parts_mut(self_.as_ptr() as *mut T, self_.len()) }
6     }
7 }
8
9 fn main() {
10     let v = vec![0, 1, 2];
11     let v1 = safe::as_mut_slice(&v);
12     let _v2 = safe::as_mut_slice(&v);
13     v1[1] = 5;
14     //~^ ERROR: /write access .* tag does not exist in the borrow stack/
15 }