Egyébként ha már a Basic és Pascal O'Caml és Haskell szerelemgyermekről beszélünk, ott külön eszköztár van erre.
- ha nem kell thread-eken átívelni: https://doc.rust-lang.org/std/collections/struct.VecDeque.html
- ha thread-ek között kell: https://crates.io/crates/ringbuf (spawn indít új thread-et)
Csak hogy ne kelljen gondolkozni és ne a saját fejed után vigyél be itt napokig debugolandó hibát.
Megjegyzem, a Rust fránya jószág, érdekesen optimalizál. Nézd meg az assembly kódját ennek az egyszerű példának: https://rust.godbolt.org/z/ocv19GhnW
Futásidejű ellenőrzést alkalmaz a függvényben, de ha rájön hogy ahonnan hívták, ott tuti nem áll fenn, akkor képes fordításidőben validálni és kihagyni a lefordítás során a futásidejű ellenőrzés részt.