- это структура из пакета scraper
let favicon: Option<String>;
let for_check = {
let parsed_doc = Html::parse_document(content.as_str());
favicon = get_icon(&url, &parsed_doc);
self.detect_possible_feeds(link, parsed_doc)?
};
если переместить let parsed_doc = Html::parse_document(content.as_str()) за пределы блока, т.е. сразу после let favicon: Option<String>; то получаю Cell<tendril::tendril::PackedUsize> cannot be shared between threads safely` (использую в связке с токио)
значит ли это, что в пределах одного блока, токио никогда не будет таскать future по тредам?
Дело скорее всего не в блоке, а в том что parsed_doc, если его переместить за пределы блока живет между yield-поинтами — между созданием объекта и его дропом есть await
черт, и правда, в шары долбюсь. спасибо :)
Обсуждают сегодня