fixed-queue 0.5.1

no_std, no_alloc, use [T; N]. support `Vec`/`VecDeque`/`History`
Documentation
use fixed_queue::LinearSet;

#[test]
fn test_base() {
    let mut set: LinearSet<usize, 3> = LinearSet::new();
    assert_eq!(set.capacity(), 3);
    assert!(set.is_empty());

    assert_eq!(set.insert(1), Ok(true));
    assert_eq!(set.insert(1), Ok(false));
    assert!(set.contains(&1));
    assert!(set.insert(2).is_ok());
    assert!(set.contains(&2));
    assert!(set.insert(3).is_ok());
    assert!(set.contains(&3));
    assert!(set.insert(4).is_err());
    assert!(!set.contains(&4));
    assert!(set.remove(&1));
    assert!(!set.remove(&1));
    assert!(!set.contains(&1));
    assert!(set.insert(5).is_ok());
    assert!(set.contains(&5));
}

#[test]
fn test_drop() {
    use on_drop::OnDrop;

    let mut set: LinearSet<_, 3> = LinearSet::new();
    let (item, token) = OnDrop::token(1);
    assert!(set.insert(item).is_ok());
    drop(set);
    assert!(token.is_droped());
}