| //@ run-rustfix |
| |
| // Suggest providing a std::ptr::null{,_mut}() to a function that takes in a raw |
| // pointer if a literal 0 was provided by the user. |
| |
| extern "C" { |
| fn foo(ptr: *const u8); |
| |
| fn foo_mut(ptr: *mut u8); |
| |
| fn usize(ptr: *const usize); |
| |
| fn usize_mut(ptr: *mut usize); |
| } |
| |
| fn main() { |
| unsafe { |
| foo(std::ptr::null()); |
| //~^ mismatched types [E0308] |
| //~| if you meant to create a null pointer, use `std::ptr::null()` |
| foo_mut(std::ptr::null_mut()); |
| //~^ mismatched types [E0308] |
| //~| if you meant to create a null pointer, use `std::ptr::null_mut()` |
| usize(std::ptr::null()); |
| //~^ mismatched types [E0308] |
| //~| if you meant to create a null pointer, use `std::ptr::null()` |
| usize_mut(std::ptr::null_mut()); |
| //~^ mismatched types [E0308] |
| //~| if you meant to create a null pointer, use `std::ptr::null_mut()` |
| } |
| } |