smallvectune 0.0.1

Wrapper for SmallVec that writes out capacity information
Documentation
extern crate smallvectune;
extern crate rand;

use rand::Rng;
use smallvectune::SmallVec;

fn main() {
    let mut x: SmallVec<[SmallVec<[u8; 2]>; 1]> = SmallVec::new();
    let mut rng = rand::thread_rng();
    for _ in 0..1000 {
        match rng.gen_range(0, 3) {
            0 => x.push(SmallVec::new()),
            1 => {
                let len = { x.len() };
                if len > 0 {
                    x[rng.gen_range(0, len)].push(0u8)
                } else {
                    x.push(SmallVec::new())
                }
            }
            2 => {
                if x.is_empty() { continue; }
                let idx = { rng.gen_range(0, x.len()) };
                if x[idx].pop().is_none() {
                    x.pop();
                }
            }
            _ => unreachable!()
        }
    }
}