RS.CLIPPY.VEC_INIT_THEN_PUSH
`push` immediately after `Vec` creation
This checker is a Clippy lint created by The Rust Project Contributors. The documentation shown here is a copy of the original documentation for: vec_init_then_push. Copyright ©2025 The Rust Team. All rights reserved.
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);
v.push(1);
v.push(2);
Use instead:
let v = vec![0, 1, 2];