Size: a a a

Rust — русскоговорящее сообществo

2020 November 11

a

antuan in Rust — русскоговорящее сообществo
polunin.ai
async_trait в принципе не очень крутая вещь, если можешь то выкинь его
почему не очень крутая? не в смысле "вы не правы", а в смысле "нубу интересно"
источник

p

polunin.ai in Rust — русскоговорящее сообществo
antuan
почему не очень крутая? не в смысле "вы не правы", а в смысле "нубу интересно"
Со ссылками странно работает. Мы как-то использовали, вышля портянка, убрали и заменили на обычный BoxedFuture<> а в реализации писали Box::pin(async move { ... }) и семантически выходило одно и то же
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
antuan
почему не очень крутая? не в смысле "вы не правы", а в смысле "нубу интересно"
он постоянно генерирует проблемы вроде тех, на которые вы наткнулись и делает документацию нечитаемой
источник

a

antuan in Rust — русскоговорящее сообществo
вафель 🧇
он постоянно генерирует проблемы вроде тех, на которые вы наткнулись и делает документацию нечитаемой
это не я наткнулся :)
лично я пока что с проблемами не сталкивался
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
antuan
это не я наткнулся :)
лично я пока что с проблемами не сталкивался
упс)
источник

a

antuan in Rust — русскоговорящее сообществo
а есть другие варианты сделать асинхронные трейты? ну кроме как сделать их синхронными, а внутри у реализаций делать block_on
источник

KK

Kirill (Cykooz) Kuzm... in Rust — русскоговорящее сообществo
antuan
а есть другие варианты сделать асинхронные трейты? ну кроме как сделать их синхронными, а внутри у реализаций делать block_on
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
antuan
а есть другие варианты сделать асинхронные трейты? ну кроме как сделать их синхронными, а внутри у реализаций делать block_on
Делать руками тоже, что делает async_trait — возвращать из методов Pin<Box<dyn ...>>
источник

a

antuan in Rust — русскоговорящее сообществo
про него и говорим)
источник

a

antuan in Rust — русскоговорящее сообществo
вафель 🧇
Делать руками тоже, что делает async_trait — возвращать из методов Pin<Box<dyn ...>>
спасибо, интересно, попробую
источник

KK

Kirill (Cykooz) Kuzm... in Rust — русскоговорящее сообществo
antuan
спасибо, интересно, попробую
А какой в этом профит, если вы будете делать то же самое что async-trait, только руками?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Kirill (Cykooz) Kuzminykh
А какой в этом профит, если вы будете делать то же самое что async-trait, только руками?
Не будет странных ошибок
источник

a

antuan in Rust — русскоговорящее сообществo
Kirill (Cykooz) Kuzminykh
А какой в этом профит, если вы будете делать то же самое что async-trait, только руками?
собственно, потому я и задал этот вопрос
https://t.me/rustlang_ru/340617
источник

KK

Kirill (Cykooz) Kuzm... in Rust — русскоговорящее сообществo
Ясно, я решил "не читать, а сразу отвечать" 😊
Согласен что async_trait не всегда хорошо срабатывает. У меня, например, он не подружился с enum_dispatch. Но я решил, что мне проще один раз руками написать имплементацию enum-диспатчинга, нежели отказаться от async_trait, который гораздо сильнее уменьшил мне бойлерплейт.
источник

AD

Andrew Demonov in Rust — русскоговорящее сообществo
вафель 🧇
Делать руками тоже, что делает async_trait — возвращать из методов Pin<Box<dyn ...>>
О, бой!
источник

AD

Andrew Demonov in Rust — русскоговорящее сообществo
А есть вообще надежды на более органичный фикс?

асинк_трейт и так выглядит как костыль
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Andrew Demonov
А есть вообще надежды на более органичный фикс?

асинк_трейт и так выглядит как костыль
#blocked-on-gat
источник

R

Roman in Rust — русскоговорящее сообществo
Andrew Demonov
А есть вообще надежды на более органичный фикс?

асинк_трейт и так выглядит как костыль
Это и есть костыль
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Пока не будет GAT и экзистенциальных типов (aka feature(type_alias_impl_trait)), ничего глобально лучшего не будет
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
А гаты кто блакирует? Чалк?
источник