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.
Showing the changes to rust/kernel/workqueue.rs (1 of 16 files). Show all
Unified · Split
| @@ -198,7 +198,7 @@ impl Queue { · 197 unmodified lines | |||
| 198 | unsafe { | 198 | unsafe { |
| 199 | w.__enqueue(move |work_ptr| { | 199 | w.__enqueue(move |work_ptr| { |
| 200 | bindings::queue_work_on( | 200 | bindings::queue_work_on( |
| 201 | bindings::wq_misc_consts_WORK_CPU_UNBOUND as _, | 201 | bindings::wq_misc_consts_WORK_CPU_UNBOUND as ffi::c_int, |
| 202 | queue_ptr, | 202 | queue_ptr, |
| 203 | work_ptr, | 203 | work_ptr, |
| 204 | ) | 204 | ) |