1use {BalancedShiftSplit, NestedArray, RcArray};
2
3pub type CowNestedArray<T, S = BalancedShiftSplit> =
4 NestedArray<T, S, RcArray<RcArray<T>>, RcArray<T>>;
5
6#[cfg(test)]
7mod tests {
8 use {ArrayTests, CowNestedArray, DynamicArrayTests};
9
10 struct T;
11
12 impl ArrayTests for T {
13 type A = CowNestedArray<usize>;
14 }
15
16 delegate_tests!{
17 T,
18 basic_0,
19 basic_001k,
20 basic_100k,
21 clone_001k,
22 clone_100k
23 }
24
25 impl DynamicArrayTests for T {}
26
27 delegate_tests!{
28 T,
29 capacity,
30 push_1k,
31 clone_push
32 }
33
34 #[cfg(all(feature = "nightly", test))]
35 mod benchs {
36 use super::T;
37 use test::Bencher;
38 use ArrayBenchs;
39
40 impl ArrayBenchs for T {}
41
42 delegate_benchs!{
43 T,
44 fold_xor_0001k,
45 fold_xor_0010k,
46 fold_xor_0100k,
47 fold_xor_1000k,
48 clone_change_0001k,
49 clone_change_0010k,
50 clone_change_0100k,
51 clone_change_1000k
52 }
53 }
54}