Initializing a vector with a chain of push invocations is less efficient than making the initialization with a single vector literal.
Each invocation has a cost in itself.
On top of the performance argument, the vector literal is more concise and easier to read.
Introduce a single vector literal that includes all the elements that are added to the vector as arguments of the push
invocations.
let mut v = Vec::new(); v.push(0); v.push(1); v.push(2);
let v = vec![0, 1, 2];