Денис
в доках всё есть
Kerrigan
Kerrigan
это во всех языках нормальных уже так
Рома
պլհկ
Anonymous
Anonymous
просто бинкод уже знает про возможную длинну и все ограничения, зачем еще свой велосипед наворачивать
պլհկ
ну оборачивай в курсор
պլհկ
и делай deserialize_from(cursor)
Anonymous
курсор уходит в десериализатор, и я опять не знаю сколько байт осталось
պլհկ
куда он уходит?
Anonymous
moved
Anonymous
там передача владения
Денис
чё-то какая-то нездоровая фигня происходит
Anonymous
там же не &read a read
պլհկ
&mut cursor кидай
Anonymous
ого... работает, спасибо, не подумал
Alexander
Вопрос по callgrind - то что заинлайнилось - я в нём не увижу?
Αλεχ
Αλεχ
не знаю ни одного инструмента который бы это показывал
Αλεχ
по-моему это невозможно в принципе
Alexander
Ну ок. Но тогда хз как это использовать тогда.
-__-
Там можно line-by-line counts замутить.
Alexander
Вот функция тормозит, я инлайню - не тормозит, но и хз теперь вообще что там с ней. Понятно что надо смотреть откуда она вызывается, но верхняя функция хз сколько части в инлайне проводит. Т.е. проблема может всё ещё есть, но ты просто не видишь.
-__-
Но это для cachegrind, очевидно, а не для callgrind.
Cuno
Cuno
Маjко
Ты всё микрооптимизациями занимаешься
Anton
господа
Anton
и снова я открываю рубрику тупых вопросов
Anton
у меня в структуре только у одного поля нет Default
Anton
и это тип из крейта
Денис
ну всё, пиздец
Anton
есть ли способы отдельно для него хоть как то сделать Default
Денис
нет
Anton
а не писать его с нуля для своей структуры
պլհկ
newtype
Денис
ну ты его не то чтобы с нуля будешь писать
Anton
нет
все настолько плохо?(
Денис
ну либо сделать обёртку и юзать обёртку
Денис
либо сделать тривиальный дефолт собственный
Денис
не так сложно написать каждому полю Self { a : Default::default(), b: Default::default(), c: "some shit that doesn't implement default", d: Default::default}
Маjко
Было же что-то вроде крейта с кастомным аттрибутом для Default
Anton
думал вдруг способ есть чтоб без такого говна
Денис
да
պլհկ
impl Default for MyType {
fn default() -> Self {
no_default: Bla { … },
..Default::default(),
}
Денис
պլհկ
почему?
Денис
такое объявление требует чтобы весь тип был дефолт, не?
պլհկ
не знаю, не пробовал
Anton
Anton
ибо откуда тогда он остальное из себя брать дефолт для того поля
-__-
почему?
Это вообще рекурсивное определение, ты определяешь default через default.
Loo
Маjко
https://mcarton.github.io/rust-derivative/Default.html
Денис
Loo
M A N U A L I M P L
Anton
Anton
это охуенно
Anton
господи насколько же это охуенно
Anton
конечно опять буду затрахивать аннотациями код
Anton
но не будет имплементаций default на 5 лишних строчек хуйн
Маjко
Компилтайм скажет тебе спасибо)
պլհկ
дрочь какая-то
Loo
Loo
Anton
Денис
Anton
Anton
тоесть реально жизнь упрощает
Anton
идее все эти вещи с назначением дефолтов для полей
Anton
и тд
Anton
должны вообще быть в std
Anton
они невероятно полезны