Состояние асинхронности в Rust
Асинхронная экосистема Rust претерпела большую эволюцию с течением времени,
поэтому может быть трудно понять, какие инструменты использовать, в какие библиотеки инвестировать,
или какую документацию читать. Однако типаж Future
внутри стандартной библиотеке и async
/await
в языке последнее время стабилизировалась.
Таким образом, экосистема в целом находится в процессе миграции
к недавно стабилизированному API, после чего точка оттока будет значительно
уменьшена.
Тем не менее, сейчас экосистема всё ещё находится в стадии
активной разработки и асинхронный опыт в Rust не отполирован.
Многие библиотеки до сих пор используют пакет
futures
версии 0.1, а это значит, что для
взаимодействия с ними разработчикам часто требуется
функциональность compat
из пакета
futures
версии 0.3. async
/await
до сих пор новы. Важное расширение
синтаксиса, как async fn
, для методов типажей до
сих пор не реализовано, и текущие сообщения компилятора об
ошибках могут быть сложны для восприятия.
Это говорит о том, что Rust на пути к более эффективной и эргономичной поддержке асинхронного программирования и если вы не боитесь изменений, наслаждайтесь погружением в мир асинхронного программирования в Rust!