Что не так с этим кодом?const fns - неустойчивая функция при использовании AtomicUsize :: new
use std::sync::atomic::AtomicUsize;
static mut counter: AtomicUsize = AtomicUsize::new(0);
fn main() {}
Я получаю эту ошибку:
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
Документов отметить, что другие атомные ИНТЫ размеров являются нестабильными, но, по-видимому AtomicUsize
стабильный.
Целью этого является получение атомарного счетчика для каждого процесса.
Атомный не нужно и не должен находиться в «статическом муте», он должен быть в простой «статической». При их модификации при использовании атомных операций используется внутренняя изменчивость. Вы видите, что все их мутирующие методы используют '& self' в качестве первого аргумента (общая ссылка). – bluss
Ах да, это имеет смысл, потому что им не нужно полагаться на проверку чека. – Timmmm