// Verify that unreachable code undergoes unsafety checks. | |
fn main() { | |
return; | |
*(1 as *mut u32) = 42; | |
//~^ ERROR dereference of raw pointer is unsafe | |
} | |
fn panic() -> ! { | |
panic!(); | |
} | |
fn f(a: *mut u32) { | |
panic(); | |
*a = 1; | |
//~^ ERROR dereference of raw pointer is unsafe | |
} | |
enum Void {} | |
fn uninhabited() -> Void { | |
panic!(); | |
} | |
fn g(b: *mut u32) { | |
uninhabited(); | |
*b = 1; | |
//~^ ERROR dereference of raw pointer is unsafe | |
} |