lengyijun
fb6fad20c8
[iter_overeager_cloned
]: detect .cloned().all() and .cloned().any()
2023-08-24 08:44:25 +08:00
lengyijun
e440065a0f
[iter_overeager_cloned
]: detect .cloned().map() and .cloned().for_each()
...
key idea:
for `f` in `.map(f)` and `.for_each(f)`:
1. `f` must be a closure with one parameter
2. don't lint if mutable paramter in clsure `f`: `|mut x| ...`
3. don't lint if parameter is moved
2023-08-19 21:18:14 +08:00
lengyijun
fc061890d6
[iter_overeager_cloned
]: detect .cloned().filter() and .cloned().find()
...
Key idea:
```
// before
iter.cloned().filter(|x| unimplemented!() )
// after
iter.filter(|&x| unimplemented!() ).cloned()
// before
iter.cloned().filter( foo )
// after
iter.filter(|&x| foo(x) ).cloned()
```
2023-08-14 09:13:01 +08:00
Oli Scherer
3d88fae050
Update ui test crate
2023-08-11 14:02:28 +00:00
y21
05f78e530a
allow the lint in a bunch of tests
2023-06-06 22:56:57 +02:00
Oli Scherer
def1705a27
Update to a compiletest-rs version that requires //@
for commands
2023-04-20 14:44:03 +00:00
Jason Newcomb
bf3ab592f0
Changes to iter_overeager_cloned
...
* Don't lint on `.cloned().flatten()` when `T::Item` doesn't implement `IntoIterator`
* Reduce verbosity of lint message
* Narrow down the scope of the replacement range
2022-06-07 00:40:32 -04:00
Jason Newcomb
48bcc1d95f
Move let_unit_value
back into style
2022-04-14 21:33:32 -04:00
Takayuki Nakata
c22b7b8814
Fix ICE for iter_overeager_cloned
2022-03-29 21:51:37 +09:00
Piotr Mikulski
1c9b31d350
New line: cloned_next
2022-01-16 09:59:29 -08:00