Here is one way to populate a Vec with some data:

```
let mut vector = Vec::new();
for n in 0..COUNT {
vector.push(n);
};
```

Alternatively, one can simply do this:

```
let vector = (0..COUNT).collect::<Vec<_>>()
```

The function is also about twice as fast, according to the following benchmark:

```
#![feature(test)]
extern crate test;
static COUNT: i32 = 100;
#[bench]
fn collect(b: &mut test::Bencher) {
b.iter(|| {
(0..COUNT).collect::<Vec<_>>()
});
}
#[bench]
fn no_collect(b: &mut test::Bencher) {
b.iter(|| {
let mut vector = Vec::new();
for n in (0..COUNT) {
vector.push(n);
};
vector
});
}
```

Here is the output of `cargo bench`

:

```
test collect ... bench: 164 ns/iter (+/- 7)
test no_collect ... bench: 346 ns/iter (+/- 8)
```