arc_vec 0.1.2

Expensive but experimental project created for parallel execution.
Documentation
#[macro_export]
macro_rules! arc_vec {
    () => {
        $crate::alloc::arc_vec::ArcVec::new()
    };
    ($elem:expr; $n:expr) => {{
        let arc_vec = $crate::alloc::arc_vec::ArcVec::with_capacity($n);
        for _ in 0..$n {
            arc_vec.push($elem.clone());
        }
        arc_vec
    }};
    ($($x:expr),+ $(,)?) => {{
        let count = $crate::count_exprs!($($x),*);
        let arc_vec = $crate::alloc::arc_vec::ArcVec::with_capacity(count);
        $(
            arc_vec.push($x);
        )*
        arc_vec
    }};
}

#[macro_export]
macro_rules! count_exprs {
    () => { 0 };
    ($head:expr $(, $tail:expr)*) => { 1 + $crate::count_exprs!($($tail),*) };
}