Маjко
Но он успел накосячить с размером данных
Cuno
Cuno
պլհկ
https://docs.rs/pod/0.5.0/pod/
Маjко
Где
Ты не проверяешь, что в массиве достаточно байт же
Маjко
Слайсе*
Денис
ну, проверяет
Маjко
Изи залезть на чужую память
Маjко
В дебаге — да
Маjко
В релизе ассерта не будет
Cuno
պլհկ
Маjко
Да-да
Антон
Короче, если вдруг кому-то понадобится — инстанс Applicative, реализованный для Option: https://play.rust-lang.org/?gist=daf79e721f047d7877640f7ae9b4408c&version=stable
Денис
можно и не ассерт сделать
Денис
а рантайм-ошибку
Денис
не вижу прям принципиальной проблемы в этом
Денис
более того
Денис
если это какой-то серьёзный код, то только так и можно делать
Денис
особенно если сырые данные приходят "откуда-то"
Αλεχ
Αλεχ
или благословили на отстрел башки?
Cuno
Ответ, угу. Бинарный: есть UB или нет, т.к. я в этом пока не особо шарю. На отстрел бошки я уже сам себя благословил и мне этого достаточно, спс.
Cuno
Вообще
Cuno
странное у вас отношение к unsafe
Αλεχ
при чем тут unasfe
Αλεχ
у тебя UB
Αλεχ
а не ансейф
Cuno
у тебя UB
Где? Еще раз: предполагаем, что ассерт никогда не стреляет и порядок байт соответствующий.
Cuno
https://play.rust-lang.org/?gist=28db85e7ff7d3a1a174549a9736bce00&version=stable
Байтордер даже статически проверить можно.
Αλεχ
Αλεχ
он работает всегда
Αλεχ
а твое "мамай клянус" это не ансейф
Cuno
"мамай клянус" это ансейф и есть
分解物質
Cuno
ансейф как раз предполагает, что именно программист проверит инварианты
պլհկ
分解物質
պլհկ
пасябки
Αλεχ
Αλεχ
ансейф говорил, что ты проверил инварианты, а не забил на них болт
Anton
сам говноед
какой же все таки у нас милый и добрый чат полный самых общительных, открытых и добрых людей
Anton
аминь
Cuno
Первое даже возможно статические чекается с помощью вот этой штуки: http://arcnmx.github.io/nue/nue_macros/
Αλεχ
Αλεχ
если бы ты хотя бы вставил проверку, что endianess нужный, было бы еще куда ни шло
Cuno
https://play.rust-lang.org/?gist=28db85e7ff7d3a1a174549a9736bce00&version=stable
Байтордер даже статически проверить можно.
Αλεχ
ну в таком виде ок
Ilya
Денис
я кстати так и не понял, к чему был тот опрос про опенсорс
Ilya
Ты типа серьезно ищешь смысл в сообщениях в этом чатике?
Денис
кстати хочу заметить, что как правило он таки есть
Денис
трололо — тоже смысл)
Денис
в токио две недели был баг в AsyncWrite, вместо того, чтобы сбрасывать состояние "готово для записи", сбрасывалось состояние "готово для чтения", таким образом любая запись до "ewouldblock" начинала потреблять 100% цпу
Денис
и только 3 дня назад кто-то заметил
Alexander
Интересно. Потому как я использовал nanomsg но переписанную на расте и tokio (scaproust) и, если соединение отваливалась оно начинало 100% есть, врядли это оно, но немного похоже .
Денис
ну симптомы именно такие
Денис
https://github.com/tokio-rs/tokio/issues/238
Alexander
А не, там mio было.
Денис
мб тогда poll как-то не так юзается?
Alexander
Ну как-то да, там issue есть, но я уже на нормальные биндинги ушел.
Денис
и как тебе кстати nanomsg?
Alexander
Вроде работает. Я не бенчмаркал особо.
Bugworm
как перестать боятся и осилить futures?
Bugworm
точнее, где
Денис
начать юзать их
Bugworm
да чет пока не сильно помогает
Денис
ога
Bugworm
ну короче, пишу бота для тг на telebot
Bugworm
и там после каждой команды нужно что-то вернуть, в моём случае отправить сообщение
Bugworm
но та команда, которую я хочу запилить, не обязательно должна возвращать сообщение
Bugworm
так вот я думал, если какой-нить оптимальный вариант, типа как Ok(()), только для futures? А то там нихера не ясно, как вернуть сообщение, не посылая сообщение
Bugworm
или забить хер и попробовать обработать ошибки
Cuno
Bugworm
Bugworm
ну вроде то, что нужно, за исключением того, что оно просит уточнить значения
Bugworm