fera-array 0.1.0

Arrays traits and implementations (prefixed, copy on write, nested, etc)
Documentation
use {BalancedShiftSplit, NestedArray, RcArray};

pub type CowNestedArray<T, S = BalancedShiftSplit> =
    NestedArray<T, S, RcArray<RcArray<T>>, RcArray<T>>;

#[cfg(test)]
mod tests {
    use {ArrayTests, CowNestedArray, DynamicArrayTests};

    struct T;

    impl ArrayTests for T {
        type A = CowNestedArray<usize>;
    }

    delegate_tests!{
        T,
        basic_0,
        basic_001k,
        basic_100k,
        clone_001k,
        clone_100k
    }

    impl DynamicArrayTests for T {}

    delegate_tests!{
        T,
        capacity,
        push_1k,
        clone_push
    }

    #[cfg(all(feature = "nightly", test))]
    mod benchs {
        use super::T;
        use test::Bencher;
        use ArrayBenchs;

        impl ArrayBenchs for T {}

        delegate_benchs!{
            T,
            fold_xor_0001k,
            fold_xor_0010k,
            fold_xor_0100k,
            fold_xor_1000k,
            clone_change_0001k,
            clone_change_0010k,
            clone_change_0100k,
            clone_change_1000k
        }
    }
}