### 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)
```