summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/src/docs/redundant_closure.txt
blob: 0faa9513f97f2dd5862d45f413d22c2d4a09cb6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
### 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)
```