// *** before: ***
static mut COUNTER: u32 = 0;
unsafe {
COUNTER += 1;
println!("{}", COUNTER); // здесь скрыта ссылка на static mut
}
// *** in version Rust 2024: ***
// такая ссылка теперь ошибка, а не предупреждение
use std::sync::atomic::{AtomicU32, Ordering};
static COUNTER: AtomicU32 = AtomicU32::new(0);
COUNTER.fetch_add(1, Ordering::Relaxed);
println!("{}", COUNTER.load(Ordering::Relaxed));