#![allow(invalid_reference_casting)] | |
fn main() { | |
let target = 42; | |
// Make sure raw ptr with raw tag cannot mutate frozen location without breaking the shared ref. | |
let r#ref = ⌖ // freeze | |
let ptr = r#ref as *const _ as *mut _; // raw ptr, with raw tag | |
unsafe { *ptr = 42 }; //~ ERROR: /write access .* only grants SharedReadOnly permission/ | |
let _val = *r#ref; | |
} |