array-vec 0.1.3

A library that provides a minimal Vec<T> that is backed by an array, instead of on the heap
use super::{ArrayVec, IntoIter};

#[test]
fn iter() {
    let a = ArrayVec::<_, { 5 }>::from([10, 20, 30, 40, 50]);

    let mut iter = a.clone().into_iter();

    assert_eq!(iter.next(), Some(10));

    assert_eq!(iter.nth(0), Some(20));
    assert_eq!(iter.nth(2), Some(50));

    let mut iter = a.into_iter();

    assert_eq!(iter.next_back(), Some(50));

    assert_eq!(iter.nth_back(0), Some(40));
    assert_eq!(iter.nth_back(2), Some(10));

    let mut a = ArrayVec::<i32, { 5 }>::default();

    let x = a.insert_array([0, 1], 0);

    assert_eq!(x, Ok(()));

    let x = a.insert_array([2, 3, 4], 1);

    assert_eq!(x, Ok(()));

    let x = a.insert_array([2, 3, 4], 1);

    assert_eq!(x, Err([2, 3, 4]));

    assert_eq!(a.as_slice(), &[0, 2, 3, 4, 1] as &[_]);
}