mirror of
https://github.com/rust-lang/rust.git
synced 2025-12-30 19:45:33 +00:00
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.
27 lines
624 B
Rust
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
|
|
}
|