Здравствуйте, kaa.python, Вы писали:
KP>Без статика все получится замечательно, просто сделай переменную не статической, а принадлежащей какой-то задаче. В крайнем случае, запихай ее в RWARC, или как его там сейчас звать.
Если просто оставлять "в цепочке вызовов" — угу, работает! С ARC-ом и подобным не так всё просто (мне): замыкания не клонируются, а как указывать, что надо оперировать исключительно ссылками на замыкания, я ещё "не догоняю"
Есть структура, которая "живёт" на всём протяжении жизни программы. Пытаюсь хранить там — опять приходится задавать lifetime parameter. Остановился вот на таком:
lib.rs:38:15: 38:17 error: use of undeclared lifetime name `'a`
lib.rs:38 impl Drop<'a> for MyStruct {
Вот теперь ищу как в объявлении
impl Drop for MyStruct {
fn drop(&mut self) {
задать этот самый lifetime parameter.
KP>В Rust не должно быть глобальных данных кроме тех случаев, когда без них ну совсем при совсем никак. И если уж совсем никак, то стоит взять готовые механизмы типа ARC-а. В твоем случае без глобальных данных обойтись можно.
Пытаюсь перестроится, но это не легко