### What it does
Checks for calls to `push` immediately after creating a new `Vec`.

If the `Vec` is created using `with_capacity` this will only lint if the capacity is a
constant and the number of pushes is greater than or equal to the initial capacity.

If the `Vec` is extended after the initial sequence of pushes and it was default initialized
then this will only lint after there were at least four pushes. This number may change in
the future.

### Why is this bad?
The `vec![]` macro is both more performant and easier to read than
multiple `push` calls.

### Example
```
let mut v = Vec::new();
v.push(0);
```
Use instead:
```
let v = vec![0];
```