Size: a a a

2020 August 10

BD

Berkus Decker in rust_offtopic
Constantine Drozdov
а, ну да
ну вот видишь, подробно написано, с ворнингами, в плюсовой документации такого нету
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
любой unsafe - UB
unsafe { 0 }
тут нет ub
источник

Ct

Casual tears in rust_offtopic
polunin.ai
unsafe { 0 }
тут нет ub
Сегодня - нет, а завтра вполне может быть.
источник

BD

Berkus Decker in rust_offtopic
Constantine Drozdov
любой unsafe - UB
ну вообще clippy требует к каждому блоку unsafe немного описания почему это не UB, так что нет
источник

CD

Constantine Drozdov in rust_offtopic
polunin.ai
unsafe { 0 }
тут нет ub
это гарантируется документацией?
источник

p

polunin.ai in rust_offtopic
Casual tears
Сегодня - нет, а завтра вполне может быть.
если апнут версию до rust 2 то может быть
источник

p

polunin.ai in rust_offtopic
а так ломать обратную совместимость не будут
источник

Ct

Casual tears in rust_offtopic
polunin.ai
если апнут версию до rust 2 то может быть
Кор тима сама еще не знает что валидно, что нет. Если твой пример на чуть более сложный заменить, то уже станет не так очевидно.
источник

CD

Constantine Drozdov in rust_offtopic
Berkus Decker
ну вообще clippy требует к каждому блоку unsafe немного описания почему это не UB, так что нет
А какие его аксиомы? Где дока "вот это точно не UB"?
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
это гарантируется документацией?
это гарантируется реализацией
источник

CD

Constantine Drozdov in rust_offtopic
polunin.ai
это гарантируется реализацией
реализация является источником документации или нет? ты не ответил
источник

Ct

Casual tears in rust_offtopic
По std раскиданы unsafe блоки над которыми явно написано, что "вот тут формально может быть UB, но мы знаем как компилятор устроен, так что нам можно"
источник

BD

Berkus Decker in rust_offtopic
@MRSMITH4 алое
источник

BD

Berkus Decker in rust_offtopic
Переслано от Rams
источник

CD

Constantine Drozdov in rust_offtopic
Nick Linker
Что такое "возникает любая аксиома для компилятора"?
Например, компилятор предполагает результат
mov eax, 1
mov ebx, 2
add eax, ebx
источник

DS

Doge Shibu in rust_offtopic
Т-34 85
>по Парето 80/20: только 20% кода требуют оптимизации, которые принесут 80% производительности.

В случае с бездумным использованием LINQ на ряде проектов это просто не работает. В профайлере видна картина, когда нет конкретного места, которое тормозит. И это очень и очень дорого потом исправлять.
Смотрится это беспочвенным утверждением.

Потому что в куче приложений которые я профилировал всегда были ярко выраженные горячие зоны в вычислениях.

Ну и да, на надо использовать язык типа C# в cpu bound задачах
источник

CD

Constantine Drozdov in rust_offtopic
Casual tears
По std раскиданы unsafe блоки над которыми явно написано, что "вот тут формально может быть UB, но мы знаем как компилятор устроен, так что нам можно"
В С++ это аналогично. Это не документация. std так можно, тебе нельзя
источник

BD

Berkus Decker in rust_offtopic
Constantine Drozdov
Например, компилятор предполагает результат
mov eax, 1
mov ebx, 2
add eax, ebx
это выглядит похожим на результат котогенерации, причем тут компилятор)
источник

CD

Constantine Drozdov in rust_offtopic
Berkus Decker
это выглядит похожим на результат котогенерации, причем тут компилятор)
при том, что он ожидает увидеть здесь 3, это необходимо для матча языкового + на процессорный
источник

Ct

Casual tears in rust_offtopic
Constantine Drozdov
В С++ это аналогично. Это не документация. std так можно, тебе нельзя
Окей, там еще есть проблемы вида "мы сами не знаем UB ли это и что с этим делать"
источник