// test the deref_nullptr lint #![deny(deref_nullptr)] use std::ptr; struct Struct { field: u8, } fn f() { unsafe { let a = 1; let ub = *(a as *const i32); let ub = *(0 as *const i32); //~^ ERROR dereferencing a null pointer let ub = *ptr::null::<i32>(); //~^ ERROR dereferencing a null pointer let ub = *ptr::null_mut::<i32>(); //~^ ERROR dereferencing a null pointer let ub = *(ptr::null::<i16>() as *const i32); //~^ ERROR dereferencing a null pointer let ub = *(ptr::null::<i16>() as *mut i32 as *mut usize as *const u8); //~^ ERROR dereferencing a null pointer let ub = &*ptr::null::<i32>(); //~^ ERROR dereferencing a null pointer let ub = &*ptr::null_mut::<i32>(); //~^ ERROR dereferencing a null pointer ptr::addr_of!(*ptr::null::<i32>()); //~^ ERROR dereferencing a null pointer ptr::addr_of_mut!(*ptr::null_mut::<i32>()); //~^ ERROR dereferencing a null pointer let offset = ptr::addr_of!((*ptr::null::<Struct>()).field); //~^ ERROR dereferencing a null pointer } } fn main() {}