simple/
simple.rs

1extern crate ringbuf_basedrop;
2
3use basedrop::Collector;
4use ringbuf_basedrop::RingBuffer;
5
6fn main() {
7    let collector = Collector::new();
8
9    let rb = RingBuffer::<i32>::new(2);
10    let (mut prod, mut cons) = rb.split(&collector.handle());
11
12    prod.push(0).unwrap();
13    prod.push(1).unwrap();
14    assert_eq!(prod.push(2), Err(2));
15
16    assert_eq!(cons.pop().unwrap(), 0);
17
18    prod.push(2).unwrap();
19
20    assert_eq!(cons.pop().unwrap(), 1);
21    assert_eq!(cons.pop().unwrap(), 2);
22    assert_eq!(cons.pop(), None);
23}