| #![warn(clippy::cmp_null)] | |
| use std::ptr; | |
| fn main() { | |
| let x = 0; | |
| let p: *const usize = &x; | |
| if p.is_null() { | |
| //~^ cmp_null | |
| println!("This is surprising!"); | |
| } | |
| if p.is_null() { | |
| //~^ cmp_null | |
| println!("This is surprising!"); | |
| } | |
| let mut y = 0; | |
| let m: *mut usize = &mut y; | |
| if m.is_null() { | |
| //~^ cmp_null | |
| println!("This is surprising, too!"); | |
| } | |
| if m.is_null() { | |
| //~^ cmp_null | |
| println!("This is surprising, too!"); | |
| } | |
| let _ = (x as *const ()).is_null(); | |
| //~^ cmp_null | |
| } | |
| fn issue15010() { | |
| let f: *mut i32 = std::ptr::null_mut(); | |
| debug_assert!(!f.is_null()); | |
| //~^ cmp_null | |
| } | |
| fn issue16281() { | |
| use std::ptr; | |
| struct Container { | |
| value: *const i32, | |
| } | |
| let x = Container { value: ptr::null() }; | |
| macro_rules! dot_value { | |
| ($obj:expr) => { | |
| $obj.value | |
| }; | |
| } | |
| if dot_value!(x).is_null() { | |
| //~^ cmp_null | |
| todo!() | |
| } | |
| } |