Co jest nie tak z tym kodem?const fns są niestabilną funkcją podczas korzystania z AtomicUsize :: new
use std::sync::atomic::AtomicUsize;
static mut counter: AtomicUsize = AtomicUsize::new(0);
fn main() {}
otrzymuję ten błąd:
error: const fns are an unstable feature
--> src/main.rs:3:35
|>
3 |> static mut counter: AtomicUsize = AtomicUsize::new(0);
|> ^^^^^^^^^^^^^^^^^^^
help: in Nightly builds, add `#![feature(const_fn)]` to the crate attributes to enable
Docs wspomnieć, że inne atomowe int rozmiary są niestabilne, ale AtomicUsize
jest pozornie stabilny.
Celem tego jest uzyskanie atomowego licznika na proces.
Atomowy nie musi i nie powinien być w "statycznej mutacji", powinien być w zwykłym 'statycznym'. Operacje atomowe wykorzystują zmienność wewnętrzną podczas ich modyfikowania. Widzisz, że wszystkie ich mutujące metody używają '& self' jako pierwszego argumentu (dzielonego odniesienia). – bluss
Ach, tak, to ma sens, ponieważ nie muszą polegać na kontrolerze pożyczek. – Timmmm