Refactoring identity function lints
I've noticed that we have several lints that all check for identity functions and each used their own check implementation. I moved the `is_expr_identity_function` function to `clippy_utils` and adapted all lints to reuse that one function. This should make the addition of new lints like this also easier in the future.
I've also moved the `map_identity` lint into the `methods` module. It's probably the best to review this PR by checking each commit individually. And that's it, have a great day 🙃
changelog: none
fix `while_let_on_iterator` suggestion in a closure
fixes: #7249
A future improvement would be to check if the closure is being used as `FnOnce`, in which case the original suggestion would be correct.
changelog: Suggest `&mut iter` inside a closure for `while_let_on_iterator`
Don't warn about `cfg!(..)` as a constant in assertions
This makes clippy understand that `cfg!(..)` is not just a hardcoded `true` or `false` (even though it expands to one of those).
cc `@khyperia`
changelog: Don't treat `cfg!(..)` as a constant in [`assertions-on-constants`]
Revert "CI: update rustup before installing the toolchain on windows"
This reverts commit 716d03f86bc9d72e56c2d803fd76ff44f29c9b3a.
This is no longer necessary, since rustup 1.24.2 is now the default
version on the windows runner.
changelog: none
This reverts commit 716d03f86bc9d72e56c2d803fd76ff44f29c9b3a.
This is no longer necessary, since rustup 1.24.2 is now the default
version on the windows runner.
Add lint `manual_str_repeat`
fixes: #7260
There's a similar function for slices. Should this be renamed to include it, or should that be a separate lint? If we are going to have them as one lint a better name will be needed. `manual_repeat` isn't exactly clear as it's replacing a call to `iter::repeat`.
changelog: Add new lint `manual_str_repeat`
Fix ICE in `too_many_lines`
fixes: #7272fixes: #7286#7272 looks like it's caused by a bug in rust-c. The span it's giving for the closure is:
```rust
$crate:: $lower($d arg) }
}
}
}
```
The correct span would be `$crate:: $lower($d arg)` without all the closing braces.
#7286 is definitely a clippy bug
changelog: none