Одиночки

Атрибут app знает о библиотеке owned-singleton и её атрибуте Singleton. Когда этот атрибут применяется к одному из ресурсов, рантайм производит для Вас unsafe инициализацию одиночки, проверяя, что только один экземпляр одиночки когда-либо создан.

Заметьте, что когда Вы используете атрибут Singleton, Вым нужно иметь owned_singleton в зависимостях.

В примере ниже атрибутом Singleton аннотирован массив памяти, а экземпляр одиночки использован как фиксированный по размеру пул памяти с помощью одной из абстракций alloc-singleton.


# #![allow(unused_variables)]
#fn main() {
{{#include ../../../../examples/singleton.rs}}
#}
$ cargo run --example singleton
bar(2)
foo(1)