#![cfg(feature = "loom")]
use loom::thread;
use smallring::generic::RingBuf;
#[test]
fn test_generic_ringbuf_send_loom() {
loom::model(|| {
let mut buf = RingBuf::<usize, 4, false>::new(2);
buf.push(10).unwrap();
let t = thread::spawn(move || {
assert_eq!(buf.pop().unwrap(), 10);
buf.push(20).unwrap();
buf
});
let mut buf_returned = t.join().unwrap();
assert_eq!(buf_returned.pop().unwrap(), 20);
});
}