почему не очень крутая? не в смысле "вы не правы", а в смысле "нубу интересно"
Со ссылками странно работает. Мы как-то использовали, вышля портянка, убрали и заменили на обычный BoxedFuture<> а в реализации писали Box::pin(async move { ... }) и семантически выходило одно и то же
Ясно, я решил "не читать, а сразу отвечать" 😊 Согласен что async_trait не всегда хорошо срабатывает. У меня, например, он не подружился с enum_dispatch. Но я решил, что мне проще один раз руками написать имплементацию enum-диспатчинга, нежели отказаться от async_trait, который гораздо сильнее уменьшил мне бойлерплейт.