Size: a a a

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

2020 March 22

R

Re-L in Rust — русскоговорящее сообществo
источник

D

Dmitry in Rust — русскоговорящее сообществo
Re-L
через tuple выше показали ещё
Ага, попробую так теперь
источник

МЛ

Михаил Лёсин in Rust — русскоговорящее сообществo
Re-L
Ну я бы сделал всё-таки кастомную ошибку с items: Vec<MyErrorKind> внутри.
Это может быть полезно, когда пользовательский ввод валидируешь, и надо сразу все ошибки показать, чтобы по одной не выдавать, и не заставлять юзера по сто раз сабмитить форму например.
Задача как раз примерно в этом, да. Только валидируется хмл-описание структуры с фактическим содержимым
источник

В

Вафель in Rust — русскоговорящее сообществo
Dmitry
Оно в nightly баля
Нет уже, в 1.42 стабилизировали
источник
2020 March 23

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
🦉 ⁣
ну и тому подобное
rust core team дала тебе макросы, а ты бойлерплейтом обмазываешься
источник

Э

Эрик in Rust — русскоговорящее сообществo
Антон ⚙️
rust core team дала тебе макросы, а ты бойлерплейтом обмазываешься
Иногда, когда варианты очевидны не сразу, макрос сложно писать.
источник

В

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

MRE: https://godbolt.org/z/JyWtb6
источник

В

Вафель in Rust — русскоговорящее сообществo
Если закоментировать
impl<T> NeverUsed for [T] {}
То всё ок, но с этим генерируется совершенно ненужный код...
источник

Э

Эрик in Rust — русскоговорящее сообществo
А ты уверен, что это обычный релизный билд?
источник

В

Вафель in Rust — русскоговорящее сообществo
Эрик
А ты уверен, что это обычный релизный билд?
Ну, там -O
источник

В

Вафель in Rust — русскоговорящее сообществo
+ у меня такое локально тоже вроде воспроизводится
источник

Э

Эрик in Rust — русскоговорящее сообществo
Нет, я про то, что ты там пишешь для годболта. А он тебе из почти пустых, никогда не используемых функций, делает асм.
источник

Э

Эрик in Rust — русскоговорящее сообществo
А, если локально, то чёрт знает.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Для бинарника под opt-level=2 не должно, по идее. Но у тебя там inline(never), оно может мешать оптимизировать.
источник

r

red75prime in Rust — русскоговорящее сообществo
Она же pub, godbolt вроде бы в режиме библиотеки собирает
источник

В

Вафель in Rust — русскоговорящее сообществo
red75prime
Она же pub, godbolt вроде бы в режиме библиотеки собирает
Где ты pub увидел? Там pub только test
источник

В

Вафель in Rust — русскоговорящее сообществo
Вот без неё: https://godbolt.org/z/wdazbz
источник

В

Вафель in Rust — русскоговорящее сообществo
Более того, там даже #inline и #cold не влияют: https://godbolt.org/z/Z_7pVb
источник

r

red75prime in Rust — русскоговорящее сообществo
Да, похоже в режиме библиотеки все функции компилируются. Если на playground добавить fn main(){}, то size_expectation_failed исчезает из асма.
источник

Э

Эрик in Rust — русскоговорящее сообществo
red75prime
Да, похоже в режиме библиотеки все функции компилируются. Если на playground добавить fn main(){}, то size_expectation_failed исчезает из асма.
Может из-за возможных бенчмарков?
источник