I've noticed that for a large majority of the projects I've coded in Rust, I've needed to use shared globals statics data.
And the only way to do this safely is to use Crate lazy_static .
Also note that there is no need to use Arc in static, and Mutex::new() and VecDeque::new() are already const, so the second static can be a normal static: