Size: a a a

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

2020 March 15

Э

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

r

red75prime in Rust — русскоговорящее сообществo
Эрик
Тогда где трейт НеявноПревратить?
Недостаточно возможностей языка для его выражения. Вот будут GAT, можно будет
источник

VM

Vladislav Markushin in Rust — русскоговорящее сообществo
Matwey Kornilov
Ну у меня ж не в этом проблема
Раньше можно было так сделать, потом убрали: https://github.com/rust-lang/rust/issues/36887 видимо, были причины
источник

В

Вафель in Rust — русскоговорящее сообществo
Vladislav Markushin
Раньше можно было так сделать, потом убрали: https://github.com/rust-lang/rust/issues/36887 видимо, были причины
Там же написанно, баг в компиляторе который в первых версиях принимал код, но игнорировал дефолты
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Heorhi
гммм.... понадобился бинарный парсер на FSM.... чота не могу найти....
nom/pest
источник

H

Heorhi in Rust — русскоговорящее сообществo
nom не FSM
pest не бинарный
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
примерно любой парсер не FSM
источник

p

polunin.ai in Rust — русскоговорящее сообществo
А зачем именно FSM?
источник

H

Heorhi in Rust — русскоговорящее сообществo
шоб быстрей работало
источник

r

red75prime in Rust — русскоговорящее сообществo
red75prime
Недостаточно возможностей языка для его выражения. Вот будут GAT, можно будет
Там нужна сигнатура fn deref<'a>(&'a self) -> Self::Target<'a>
источник

H

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

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Heorhi
шоб быстрей работало
Ты уверен, что нужный тебе язык можно распарсить конечными автоматами?
источник

H

Heorhi in Rust — русскоговорящее сообществo
ну пусть будет стековый автомат
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Heorhi
мне нужно байты асинхронно в него кидать, и ждать пока вылезет значение
Зачем FSM?
источник

H

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

p

polunin.ai in Rust — русскоговорящее сообществo
Почему не кидать байты в буфер, а потом в парсер?
источник

H

Heorhi in Rust — русскоговорящее сообществo
потому что это костыль
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Heorhi
ну ладно... перефразирую, кидать байты в парсер и ждать результата, ном так не умеет
https://docs.rs/nom/5.1.1/nom/bytes/streaming/index.html
Уверен, что не умеет?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Heorhi
потому что это костыль
Наоборот
источник

H

Heorhi in Rust — русскоговорящее сообществo
стриминг отличается от обычного парсера только тем, что может вернуть incomplete
источник