Ссылка на static mut запрещена

Изменения в новых версиях / Rust 2024

// *** before: ***
static mut COUNTER: u32 = 0;

unsafe {
    COUNTER += 1;
    println!("{}", COUNTER);   // a hidden reference to a static mut
}

// *** in version Rust 2024: ***
// such a reference is an error now, not a warning
use std::sync::atomic::{AtomicU32, Ordering};

static COUNTER: AtomicU32 = AtomicU32::new(0);

COUNTER.fetch_add(1, Ordering::Relaxed);
println!("{}", COUNTER.load(Ordering::Relaxed));