Re: [PATCH] drm/panic: clean new `clippy::needless_range_loop` lint for Rust 1.100.0
"Alexandre Courbot" <[email protected]>
| Newsgroups | org.kernel.vger.rust-for-linux,org.freedesktop.lists.dri-devel,org.kernel.vger.stable |
|---|---|
| Message-ID | <[email protected]> |
On Wed Aug 26, 2026 at 11:56 PM JST, Miguel Ojeda wrote:
> Starting with Rust 1.100.0 (expected 2026-11-12), Clippy warns:
>
> warning: the loop variable `i` is only used to index `self.decimals`
> --> drivers/gpu/drm/drm_panic_qr.rs:410:18
> |
> 410 | for i in 0..len {
> | ^^^^^^
> |
> note: for this index operation
> --> drivers/gpu/drm/drm_panic_qr.rs:411:13
> |
> 411 | self.decimals[i] = (chunk % 10) as u8;
> | ^^^^^^^^^^^^^^^^
> = help: for further information visit https://rust-lang.github.io/rust-clippy/main/index.html#needless_range_loop
> = note: `-W clippy::needless-range-loop` implied by `-W clippy::all`
> = help: to override `-W clippy::all` add `#[allow(clippy::needless_range_loop)]`
> help: consider using an iterator
> |
> 410 - for i in 0..len {
> 410 + for <item> in self.decimals.iter_mut().take(len) {
> |
>
> The lint did not trigger here before because it could not handle arrays
> behind a field access such as `self.decimals` -- Clippy was improved to
> catch those cases [1][2].
>
> Thus clean the warning by iterating over a slice rather than using
> `take()` so that an out-of-range `len` still triggers the same bounds
> check as the indexed loop.
>
> Cc: [email protected] # Needed in 6.18.y and later.
> Link: https://github.com/rust-lang/rust-clippy/issues/16631 [1]
> Link: https://github.com/rust-lang/rust-clippy/pull/16634 [2]
> Assisted-by: LLM
> Signed-off-by: Miguel Ojeda <[email protected]>
Reviewed-by: Alexandre Courbot <[email protected]>