rust/tests/ui/cmp_null.fixed
2025-12-25 23:24:43 +01:00

60 lines
1,018 B
Rust

#![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!()
}
}