Size: a a a

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

2020 September 10

KK

Kirill (Cykooz) Kuzm... in Rust — русскоговорящее сообществo
Эрик
Асинк трейт разве не возвращает Box<Future>?
В текущем воркэраунде через макрос - да.
источник

Э

Эрик in Rust — русскоговорящее сообществo
То, что ты цитируешь переводится как "enum_dispatch не превращает твой трейт во что-то другое, но требует определения трейта: название трейта и сигнатуры функций этого трейта".
источник

Э

Эрик in Rust — русскоговорящее сообществo
Оно в закреплённом уже есть вроде, нет?
источник

KK

Kirill (Cykooz) Kuzm... in Rust — русскоговорящее сообществo
Эрик
То, что ты цитируешь переводится как "enum_dispatch не превращает твой трейт во что-то другое, но требует определения трейта: название трейта и сигнатуры функций этого трейта".
Хм, видимо мой английский совсем плох.
enum_dispatch doesn't actually process annotated traits!
Разве это не переводится как "enum_dispatch не  обрабатывает аннотированые трейты"?
источник

A

Andrew in Rust — русскоговорящее сообществo
Эрик
Оно в закреплённом уже есть вроде, нет?
O_o меня опередили =)
источник

Э

Эрик in Rust — русскоговорящее сообществo
Kirill (Cykooz) Kuzminykh
Хм, видимо мой английский совсем плох.
enum_dispatch doesn't actually process annotated traits!
Разве это не переводится как "enum_dispatch не  обрабатывает аннотированые трейты"?
Аннотированные макросом enum_dispatch имеется в виду.
источник

KK

Kirill (Cykooz) Kuzm... in Rust — русскоговорящее сообществo
Аа, понял - спасибо. Тогда буду пробовать на живую, как он сработает с #[async_trait]
источник

A

Andrew in Rust — русскоговорящее сообществo
Nick Linker
Пятница, 11 Сентября, 19:00 ‐ 21:00 по Московскому времени
Rust-онлайн митап при поддержке Fluence Labs и Skyeng!
http://meetu.ps/e/Jj70H/Fjc3K/d

Информационная поддержка: https://itmeeting.ru/ - телеграм-канал с анонсами бесплатных мероприятий по разработке.

Информацию по возможным изменениям и новостям смотрите в http://t.me/ruRust_msk

FAQ:
1. Ссылка на трансляцию:
https://www.youtube.com/watch?v=GQ020NlPOec

2. Запись трансляции будет, останется по этому же адресу, можете посмотреть её позже (если на то будет воля Коннекта), но в реальном времени есть шанс задать вопросы и пообщаться с докладчиками.
тут есть более короткая ссылка
http://meetu.ps/e/Jj70H/Fjc3K/d
может она будет по эстетичнее? :)
источник

Э

Эрик in Rust — русскоговорящее сообществo
Kirill (Cykooz) Kuzminykh
Хм, видимо мой английский совсем плох.
enum_dispatch doesn't actually process annotated traits!
Разве это не переводится как "enum_dispatch не  обрабатывает аннотированые трейты"?
"doesn't actually process" — имеется в виду, что макрос, если его повесить на трейт, только читает трейт, а не делает TokenStream -> TokenStream.
источник

NL

Nick Linker in Rust — русскоговорящее сообществo
Определённо! 👍
источник

A

Andrew in Rust — русскоговорящее сообществo
Nick Linker
Определённо! 👍
а вот еще предложил бы написать до ссылки что-то, а то в приклепленном виде видно ссылку и не понятно о чем она. =)
источник

NL

Nick Linker in Rust — русскоговорящее сообществo
Andrew
а вот еще предложил бы написать до ссылки что-то, а то в приклепленном виде видно ссылку и не понятно о чем она. =)
И то верно. Сейчас допишу.
источник

T1

Tony 123 in Rust — русскоговорящее сообществo
Kirill (Cykooz) Kuzminykh
Может просто где-то есть бенчмарки? А то мне вот не очень очевидно что вот такое
func_ptr = vtable[2];
func_ptr(...);
сильно медленнее чем:
discr = enum.0
if discr == 0 { func_a(enum.1) }
else if discr == 1 { func_b(enum.1) }
else if discr == 2 { func_c(enum.1) }
...
Дада, так и есть
источник

T1

Tony 123 in Rust — русскоговорящее сообществo
Современные компьютеры очень быстро if делают
источник

T1

Tony 123 in Rust — русскоговорящее сообществo
И к тому же инлайн и оптимизация идёт
источник

T1

Tony 123 in Rust — русскоговорящее сообществo
А это уже охуеть сколько
источник

AT

Alexander Tchitchigi... in Rust — русскоговорящее сообществo
Kirill (Cykooz) Kuzminykh
Может просто где-то есть бенчмарки? А то мне вот не очень очевидно что вот такое
func_ptr = vtable[2];
func_ptr(...);
сильно медленнее чем:
discr = enum.0
if discr == 0 { func_a(enum.1) }
else if discr == 1 { func_b(enum.1) }
else if discr == 2 { func_c(enum.1) }
...
Вы недооцениваете branch (jump) misprediction penalty с одной стороны, и способность компилятора оптимизировать свитчи по енаму с другой. 😉
источник

AT

Alexander Tchitchigi... in Rust — русскоговорящее сообществo
Учитывая, что virtual call prediction по сути теперь отключают, благодаря Spectre, то и вообще...
источник

X

XÆA-XII in Rust — русскоговорящее сообществo
Переслано от XÆA-XII
С помощью чего можно проверить в stdin, нажата ли конкретная клавиша?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
XÆA-XII
Переслано от XÆA-XII
С помощью чего можно проверить в stdin, нажата ли конкретная клавиша?
источник