Size: a a a

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

2020 April 11

ML

Mike Lubinets in Rust — русскоговорящее сообществo
В чем преимущество перед блокированием на фьюче?
источник

АГ

Алексей Герасимов in Rust — русскоговорящее сообществo
Mike Lubinets
В чем преимущество перед блокированием на фьюче?
ну тогда это было дико удобно: в блокирующий актор пришел Sink, ты его wait и вот у тебя уже блокирующий «Sink», на котором просто пишешь send и оно блочится под капотом. я понимаю что это то же самое что сейчас писать block_on(send()), просто раньше было так
источник

S

Sergey in Rust — русскоговорящее сообществo
Sergey
хуяси там роутинг продвинутый
Я не знал, что тут не принято
источник

S

Sergey in Rust — русскоговорящее сообществo
Сорян
источник

A

Adv0cat in Rust — русскоговорящее сообществo
Sergey
На чем по дефолту обычно делают всякие rest apis на расте?
По дефолту асинхронное это в большинстве своём tokio.rs, и над ним есть несколько высокоуровневых фреймворков, и вот тут уже мнения очень сильно расходятся, мне actix-web (http://actix.rs/) зашел, херак херак и у вас уже сервис сделан, еще и производительно))
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Есть кто-то, кто разбирается в Nom?
У меня в моём «главном» парсере примерно такой код:
alt((
   map(ident, ValueKind::Ident),
   map(list, ValueKind::List),
   map(string, ValueKind::String),
   ...
))

Если распарсить не удалось, он всегда выдаёт ошибку на последнем варианте этого alt(), а я хочу на том варианте, от которого получилось больше всего распарсить.
Я пробовал сделать так:
alt((
   preceded(peek(char('"')), map(string, ValueKind::String)),
   preceded(peek(char('(')), map(list, ValueKind::List)),
   map(ident, ValueKind::Ident),
))

Теперь он просто всегда выдаёт ошибки без контекста, на уровне самого alt.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Я пробовал прикручивать nom-greedyerror, но перестаёт компилироваться вообще всё
источник

ML

Mike Lubinets in Rust — русскоговорящее сообществo
Ты можешь написать свой alt
источник

ML

Mike Lubinets in Rust — русскоговорящее сообществo
В номе вообще очень легко свои функции и комбинаторы докидывать
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Я пробовал прикручивать nom-greedyerror, но перестаёт компилироваться вообще всё
Уже не перестаёт, внезапно, ща попробую ещё раз
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Mike Lubinets
В номе вообще очень легко свои функции и комбинаторы докидывать
Я пробовал и утонул в дженериках
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Уже не перестаёт, внезапно, ща попробую ещё раз
GreedyError справляется с простейшим случаем, но уже для двух вложенных токенов он выводит всегда внешний, а не внутренний
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Mike Lubinets
Ты можешь написать свой alt
Окей, даже если я напишу свой alt, я не представляю себе, что он будет делать
источник

AT

Alexander Tchitchigin in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Окей, даже если я напишу свой alt, я не представляю себе, что он будет делать
Очевидно, то же что и обычный -- пробовать варианты по очереди -- плюс, хранить который скушал больше всех чтобы возвращать ошибку для него.
источник

∅ч

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

∅ч

∅ ч in Rust — русскоговорящее сообществo
типо каналы передает?
источник

∅ч

∅ ч in Rust — русскоговорящее сообществo
я какой то бред вроде из стд прочитал, что пишет информацию в никуда и закрыл
источник

∅ч

∅ ч in Rust — русскоговорящее сообществo
A writer which will move data into the void.

как это вообще понимать?
источник

A

Aragaer in Rust — русскоговорящее сообществo
/dev/null
источник

∅ч

∅ ч in Rust — русскоговорящее сообществo
ну а тут пишет мол для передачи каналов, сокетов
источник