rust/tests/ui/zero_ptr.fixed
Samuel Tardieu 9117cb0223
zero_ptr: lint in const context as well
The lint was extra restrictive, and didn't suggest using
`core::ptr::null` and `core::ptr::null_mut` in `const` contexts although
they have been const-stabilized since Rust 1.24.
2025-06-26 23:09:37 +02:00

27 lines
624 B
Rust

pub fn foo(_const: *const f32, _mut: *mut i64) {}
fn main() {
let _ = std::ptr::null::<usize>();
//~^ zero_ptr
let _ = std::ptr::null_mut::<f64>();
//~^ zero_ptr
let _: *const u8 = std::ptr::null();
//~^ zero_ptr
foo(0 as _, 0 as _);
foo(std::ptr::null(), std::ptr::null_mut());
//~^ zero_ptr
//~| zero_ptr
let z = 0;
let _ = z as *const usize; // this is currently not caught
}
const fn in_const_context() {
#[clippy::msrv = "1.23"]
let _: *const usize = 0 as *const _;
#[clippy::msrv = "1.24"]
let _: *const usize = std::ptr::null();
//~^ zero_ptr
}