### What it does Checks for closures which just call another function where the function can be called directly. `unsafe` functions or calls where types get adjusted are ignored. ### Why is this bad? Needlessly creating a closure adds code for no benefit and gives the optimizer more work. ### Known problems If creating the closure inside the closure has a side- effect then moving the closure creation out will change when that side- effect runs. See [#1439](https://github.com/rust-lang/rust-clippy/issues/1439) for more details. ### Example ``` xs.map(|x| foo(x)) ``` Use instead: ``` // where `foo(_)` is a plain function that takes the exact argument type of `x`. xs.map(foo) ```