]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
rust: enable `clippy::as_underscore` lint
authorTamir Duberstein <tamird@gmail.com>
Sun, 15 Jun 2025 20:55:08 +0000 (16:55 -0400)
committerMiguel Ojeda <ojeda@kernel.org>
Sun, 22 Jun 2025 21:09:17 +0000 (23:09 +0200)
commit5e30550558b1eace5fa4af4e2257216fa8a7c90f
treea17a97b04c48375662a7ea64151c770f5f071c75
parent23773bd8da719b83013e66795e990036c4bfe014
rust: enable `clippy::as_underscore` lint

In Rust 1.63.0, Clippy introduced the `as_underscore` lint [1]:

> The conversion might include lossy conversion or a dangerous cast that
> might go undetected due to the type being inferred.
>
> The lint is allowed by default as using `_` is less wordy than always
> specifying the type.

Always specifying the type is especially helpful in function call
contexts where the inferred type may change at a distance. Specifying
the type also allows Clippy to spot more cases of `useless_conversion`.

The primary downside is the need to specify the type in trivial getters.
There are 4 such functions: 3 have become slightly less ergonomic, 1 was
revealed to be a `useless_conversion`.

While this doesn't eliminate unchecked `as` conversions, it makes such
conversions easier to scrutinize.  It also has the slight benefit of
removing a degree of freedom on which to bikeshed. Thus apply the
changes and enable the lint -- no functional change intended.

Link: https://rust-lang.github.io/rust-clippy/master/index.html#as_underscore
Reviewed-by: Benno Lossin <benno.lossin@proton.me>
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Link: https://lore.kernel.org/r/20250615-ptr-as-ptr-v12-4-f43b024581e8@gmail.com
[ Changed `isize` to `c_long`. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
16 files changed:
Makefile
drivers/gpu/nova-core/driver.rs
rust/kernel/block/mq/operations.rs
rust/kernel/block/mq/request.rs
rust/kernel/device_id.rs
rust/kernel/devres.rs
rust/kernel/dma.rs
rust/kernel/drm/device.rs
rust/kernel/error.rs
rust/kernel/io.rs
rust/kernel/miscdevice.rs
rust/kernel/mm/virt.rs
rust/kernel/of.rs
rust/kernel/pci.rs
rust/kernel/str.rs
rust/kernel/workqueue.rs