### What it does
Check for the usage of `as _` conversion using inferred type.

### Why is this bad?
The conversion might include lossy conversion and dangerous cast that might go
undetected due to the type being inferred.

The lint is allowed by default as using `_` is less wordy than always specifying the type.

### Example
```
fn foo(n: usize) {}
let n: u16 = 256;
foo(n as _);
```
Use instead:
```
fn foo(n: usize) {}
let n: u16 = 256;
foo(n as usize);
```