Re[20]: Развитие Rust
От: cl-user  
Дата: 29.01.14 14:04
Оценка:
Здравствуйте, 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-а. В твоем случае без глобальных данных обойтись можно.


Пытаюсь перестроится, но это не легко
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.