если придумаешь - пингани плиз. я от ровно такой же проблемы тоже страдаю с телоксидом (понятно, что сам телоксид тут не особо виноват)
let ts = &TagSearcher::new(); move || { f(ts.clone()) } move || { f(ts.clone()) } Такое?
Там создаётся асинк-блок с 'static временем жизни
а если в Arc обернуть?
Оно уже в Arc, считай
.messages_handler({ let tagsearch = tagsearch.clone(); move || ... }) ...
Это не работает.
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=08c5fc2635f5c93f2f13786b6c3a7f85 читай внимательно
Это другая ситуация. Наша выглядит так. https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=aae571a3fc3157fa53e4ef916d45b0b7
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=30135e44af50de00887c01d16100b9f8 все работает
На реальном коде всё равно выходит can't move out Сейчас пойму, в чём разница
Обсуждают сегодня