On 31/08/2026 19:54, Miguel Ojeda wrote:
On Wed, Aug 26, 2026 at 4:56 PM Miguel Ojeda <[email protected]> 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]>
---
One may want to keep the loop in a shape similar to e.g. the one above,
though.

Jocelyn: I will likely send another rust-fixes PR during this cycle,
so I can put this one there if you agree with it.

Sorry for replying late.
That looks good to me, and you can take this patch in the rust-fixes tree.

Reviewed-by: Jocelyn Falempe <[email protected]>

Thanks!

Cheers,
Miguel


Reply via email to