2018-10-19 18:38:23 +02:00
|
|
|
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
|
2022-06-21 11:38:02 -07:00
|
|
|
unsafe {
|
2022-06-21 11:40:02 -07:00
|
|
|
*ptr = 42; //~ ERROR only grants SharedReadOnly permission
|
|
|
|
}
|
2018-11-22 16:26:06 +01:00
|
|
|
let _val = *r#ref;
|
2018-10-19 18:38:23 +02:00
|
|
|
}
|