Alexey
например 3.4.1 opencv шлепался с ассертом при чтении некоторых avi'шек. в 3.4.2 — пофиксили.
Αλεχ
ну по хорошему надо всё в result'ы обернуть
Αλεχ
я начал делать, но потом забил. Автор оригинальный либы куда-то пропал
Αλεχ
одному тащит через полгода надоело)
Alexey
ну вот поэтому и плюсы в проекте 😊
Αλεχ
просто ты ленивый, так и скажи
Αλεχ
помог бы мне, поконтрибутил
Αλεχ
и зажили бы
Αλεχ
https://github.com/opencv/opencv/issues/11666 - вон лучше плюсик поставь и отпишись
Alexey
просто ты ленивый, так и скажи
чорт. спалился! не пойму на чём...
Alexey
кстати, на сам opencv плюсатые санитайзеры регулярно ругаются.
Αλεχ
ну после того как он внутренние эксепшны в stdout писал я ничему не удивлюсь
Berkus
очень туго идет, а кодогенерацию на плюсовое апи не сделать
был же какой-то генератор для плюсов? qt вроде им биндили
Alexey
ну после того как он внутренние эксепшны в stdout писал я ничему не удивлюсь
а он так и пишет. при этом через API даже из плюсов, хрен добудешь в чем там у него ошибка. в лучшем случае просто возвращает типа false - нишмогла. а что, почему и как нишмогла - хз.
Αλεχ
Нужно чтобы они с апи подняли. Так то они зачем то генерируют сразу питон. А могли бы просто С, а потом питон присосать к нему... Но нет...
Alexey
они относительно недавно так стали делать. раньше был сишный интерфейс для всяких жаб и прочих языков.
Αλεχ
Сишный интерфейс очень давно не поддерживается
Αλεχ
Просто все на это забили и пользовались все равно
Αλεχ
Примерно как дырки в винапи
Αλεχ
Которые закрыли в висте и все бегали кругами что мужаки им программы сломали
Alexander
А overflow в расте паник кидает? --release вроде нет, судя по asm
Антон
В релизе как wrapping_*
Антон
Впрочем, это только умолчания, их можно переопределить
պլհկ
Лайфхак 😏
Alexander
Ага, а почему для overflow в расте не заиспользовали канонический Result?
պլհկ
https://doc.rust-lang.org/std/primitive.isize.html#method.checked_add
պլհկ
И было бы слишком удобно каждый пук анврапать
Αλεχ
И было бы слишком удобно каждый пук анврапать
НЕСЕЙФОВО, МОЖЕТ БЫТЬ ОВЕРФЛОУ!!1
Alexander
Как-то неканонически.
-__-
Ага, а почему для overflow в расте не заиспользовали канонический Result?
Есть checked_add и подобные, но они Option возвращают
Alexander
Типа read_line анврапьте руками, а вот add типа ладно забейте.
պլհկ
պլհկ
НЕСЕЙФОВО, МОЖЕТ БЫТЬ ОВЕРФЛОУ!!1
Если может и тебе не похуй, юзай чекед
Alexander
Мне вот не пофиг , а напрягает что такое проигнорили, а ещё менее вероятный read_line надо анврапить руками.
Антон
Ага, а почему для overflow в расте не заиспользовали канонический Result?
Если бы каждый раз было — было бы неудобно. А так есть {overflowing, checked, saturating}_{add, sub, div etc}
Маjко
Видео с доклдами с митапа готовы, просим всех желающих на YouTube. 1) BitFury: Is Rust Ready for Production? 2) Bindgen: делаем sys-крейт 3) Краткое введение в Nom https://www.youtube.com/watch?v=eQPjxunnTGY&list=PLpayaS609GmQIKLZY0sPsEJpvNk3H6Uyf
KlonD90
аааа
KlonD90
я так ору ❤️
Berkus
Мне вот не пофиг , а напрягает что такое проигнорили, а ещё менее вероятный read_line надо анврапить руками.
read_line как раз более вероятный, это ж вообще стандартное дело читать пока не кончится
Anonymous
"Эээ, чуваки, короче, начинаем митап"
Anonymous
С этой фразы надо начинать любое мероприятие.
nndii
ебашь
Маjко
ебашь
s/^/Илюха, /
でゲソ
а есть какой-то красивый способ преобразовать короткий строковый литерал в виде большого числа. типа "asd" -> 0x617364
Маjко
Хэшмапа?
でゲソ
меня скорее интересует как это провернуть в коде
Ignat
ето называется полиномиальный хеш с основанием 256
でゲソ
прост посмотрел на формат архива .far и там каждый пакуемый чанк начинается с 8 байт определенного типа в зависимости от назначения чанка. тип "DIRNAMES" "INDEX—"
でゲソ
зачем сравнивать строки если у тебя все прекрасно влазит в u64
でゲソ
вообще меня интересует как в расте провернуть такое преобразование
でゲソ
где-то видел преобразование массива u8 в u32 но вот где это было уже не вспомню. В доке встречалось такое7
𝙰𝚗𝚊𝚝𝚘𝚕𝚢
вообще меня интересует как в расте провернуть такое преобразование
лефтпадь нулями до восьми байт и читай байтордером как u64
でゲソ
а законстексприть преобразование? или байтордер в итоге только финалку оставит?
でゲソ
Щас чекну
Маjко
Маjко
Щас бы строки представлять как адрес и длинну, пожатые в u64
でゲソ
считай что это просто совпадение
Crazy
Cуров
он спрашивал про конвертацию массива u8 в u32 ну я и написал вполне себе нормальный вариант для этого
Loyd
Нормальный непереносимый вариант, да
Loyd
Endianness кто учитывать будет?
Marat
Так а как в расте найти где строка заканчивается, а не начинается? Я думал это rfind делает, а нет
でゲソ
Endianness кто учитывать будет?
да, плейграунд с младших байтов начал писать, да. поэтому походу без байтордера никак
Marat
В смысле ends_with или что?
Блин криво написал. Короче я хочу find, но что бы он отдавал индекс не начала того что ищу, а конец. Ну вообще я уже сделал по другому
Loyd
Ну очевидно же, прибавь к началу длину
Loyd
Всё равно позиция в байтах будет, а не символах
Αλεχ
ето называется полиномиальный хеш с основанием 256
это называется "записать хекс представление кодов"
Marat
не уверен что раст знает длину стркои в байтах вообще
Ээээ len это же как раз длина строки в байтах
Αλεχ
я был уверен, что в символах