держится между авейтами, но стоит ли так рисковать что кто-нибудь на проекте передвинет две строчки и все развалится? Каждый сам решает конеш
мне кажется, что мутексы чаще всего используют в многопоточных приложениях, поэтому если одна футура заблочит поток попыткой взять лок, то другая футура, которая этот лок держит, будет перемещена в другой поток и выполнена там. Для дедлока нужно сразу несколько условий * удержание лока между вызовами .await * попадание двух футур в один поток * жесткое закрепление рантаймом выполнения футуры в конкретном потоке
напомню что у токио есть flavor=current_thread
Вроде варнинг где-то был если держать обычный мьютекс между await
https://rust-lang.github.io/rust-clippy/master/#await_holding_lock
у клиппи есть линт, да
Обсуждают сегодня