pipecircuit 0.0.18

Correct. Robust. Fast. Portable. Pick four.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use super::*;
use crate::storage::warp_table::Capacity;
use core::num::{NonZeroU32, NonZeroU64};
#[test]
fn exhausted_local_session_returns_definition_without_reusing_a_generation() {
    let mut client =
        SubscribedView::<u32, u32>::new(ContinuousView::new(Capacity::new(NonZeroU32::MIN)));
    client.generation = u64::MAX;
    assert!(matches!(
        client.subscribe::<(), u32, _>(RequestId(NonZeroU64::MIN), (), Guarantee::Accepted),
        Err(((), Error::Exhausted))
    ));
    assert_eq!(client.generation, u64::MAX);
    assert_eq!(client.phase, Phase::Disconnected);
}