| //@ check-pass | |
| use std::ptr; | |
| // see https://github.com/rust-lang/rust/issues/125833 | |
| // notionally, taking the address of a static mut is a safe operation, | |
| // as we only point at it instead of generating a true reference to it | |
| static mut NOWHERE: usize = 0; | |
| fn main() { | |
| let p2nowhere = ptr::addr_of!(NOWHERE); | |
| let p2nowhere = ptr::addr_of_mut!(NOWHERE); | |
| // testing both addr_of and the expression it directly expands to | |
| let raw2nowhere = &raw const NOWHERE; | |
| let raw2nowhere = &raw mut NOWHERE; | |
| } |