about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src/coverage/debug.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-08-14 11:15:45 +0000
committerbors <bors@rust-lang.org>2023-08-14 11:15:45 +0000
commitb5bfd1176b3d0de03e63c8d0b244ef61b30067d8 (patch)
tree197f15165b465fab2c4b37277fcb6101d904c06a /compiler/rustc_mir_transform/src/coverage/debug.rs
parent344ae115dbd75120d26fc49f79e6a19eb5c73db4 (diff)
parentfc061890d6b1a2715d30e99e36ae4305f473c43c (diff)
downloadrust-b5bfd1176b3d0de03e63c8d0b244ef61b30067d8.tar.gz
rust-b5bfd1176b3d0de03e63c8d0b244ef61b30067d8.zip
Auto merge of #11289 - lengyijun:filter_find, r=blyxyas
 [iter_overeager_cloned]: detect `.cloned().filter()` and `.cloned().find()`

changelog: [`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
// notice `iter` must be `Iterator<Item= &T>` (callee of `cloned()`)
// so the parameter in the closure of `filter` must be `&&T`
// so the deref is safe
iter.filter(|&x| foo(x) ).cloned()
```
Diffstat (limited to 'compiler/rustc_mir_transform/src/coverage/debug.rs')
0 files changed, 0 insertions, 0 deletions