rust/tests/ui/unsafe/issue-45087-unreachable-unsafe.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

32 lines
528 B
Rust
Raw Normal View History

// Verify that unreachable code undergoes unsafety checks.
// revisions: mir thir
// [thir]compile-flags: -Z thir-unsafeck
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
}