#![no_std] use lock_free_static::OnceMut; use ringbuf::{traits::*, StaticRb}; static RB: OnceMut> = OnceMut::new(); fn main() { RB.set(StaticRb::default()).ok().expect("RB already initialized"); let (mut prod, mut cons) = RB.get_mut().expect("Mutable reference to RB already taken").split_ref(); assert_eq!(prod.try_push(123), Ok(())); assert_eq!(prod.try_push(321), Err(321)); assert_eq!(cons.try_pop(), Some(123)); assert_eq!(cons.try_pop(), None); }