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]>

Reply via email to