aboutsummaryrefslogtreecommitdiff
path: root/book/ru/src/by-example/singletons.md
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2019-02-11 20:41:49 +0000
committerbors[bot] <bors[bot]@users.noreply.github.com>2019-02-11 20:41:49 +0000
commit672886a67a80136f5620115772ceec1a628d8ee6 (patch)
tree98361d6d3dfced4b068771c31163b324573294b7 /book/ru/src/by-example/singletons.md
parent1d52964df7abf9fba09933470d5c3dcce96760c4 (diff)
parent0007a35a274ab2d07eb937e41971ea5e2c1cb5ff (diff)
Merge #139
139: russian translation r=japaric a=japaric Co-authored-by: Jorge Aparicio <jorge@japaric.io> Co-authored-by: Andrey Zgarbul <zgarbul.andrey@gmail.com>
Diffstat (limited to 'book/ru/src/by-example/singletons.md')
-rw-r--r--book/ru/src/by-example/singletons.md26
1 files changed, 26 insertions, 0 deletions
diff --git a/book/ru/src/by-example/singletons.md b/book/ru/src/by-example/singletons.md
new file mode 100644
index 0000000..d6d60ef
--- /dev/null
+++ b/book/ru/src/by-example/singletons.md
@@ -0,0 +1,26 @@
+# Одиночки
+
+Атрибут `app` знает о библиотеке [`owned-singleton`] и её атрибуте [`Singleton`].
+Когда этот атрибут применяется к одному из ресурсов, рантайм производит для Вас
+`unsafe` инициализацию одиночки, проверяя, что только один экземпляр одиночки
+когда-либо создан.
+
+[`owned-singleton`]: ../../api/owned_singleton/index.html
+[`Singleton`]: ../../api/owned_singleton_macros/attr.Singleton.html
+
+Заметьте, что когда Вы используете атрибут `Singleton`, Вым нужно иметь
+`owned_singleton` в зависимостях.
+
+В примере ниже атрибутом `Singleton` аннотирован массив памяти,
+а экземпляр одиночки использован как фиксированный по размеру пул памяти
+с помощью одной из абстракций [`alloc-singleton`].
+
+[`alloc-singleton`]: https://crates.io/crates/alloc-singleton
+
+``` rust
+{{#include ../../../../examples/singleton.rs}}
+```
+
+``` console
+$ cargo run --example singleton
+{{#include ../../../../ci/expected/singleton.run}}```