### 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]; ```