Size: a a a

2020 March 11

RP

Roman Proskuryakov in rust_offtopic
Т-34 85
Ложь
Лоль
источник

Т8

Т-34 85 in rust_offtopic
Emmanuel Goldstein
Если ты считаешь, что разыменование корректного указателя, полученного из системного вызова, завершившегося без задания errno, это UB — покажи пруф.
Это тебе лишь кажется, что ответ корректный, этим и опасно ub. Пруф кинул
источник

AK

Alexander Krivitskiy in rust_offtopic
Emmanuel Goldstein
Это вообще деталь имплементации GCC.
И что?
источник

EG

Emmanuel Goldstein in rust_offtopic
Т-34 85
Это тебе лишь кажется, что ответ корректный, этим и опасно ub. Пруф кинул
Это не пруф, это статья на хабре. Пруф — цитата из стандарта.
источник

p

polunin.ai in rust_offtopic
Т-34 85
Это тебе лишь кажется, что ответ корректный, этим и опасно ub. Пруф кинул
Ты не кинул
источник

RP

Roman Proskuryakov in rust_offtopic
Ну а ты комменты почитай
источник

AK

Alexander Krivitskiy in rust_offtopic
Emmanuel Goldstein
Это вообще деталь имплементации GCC.
Есть стандарт - влажные фантазии ланг дизайнеров, и есть суровая реальность - stddef
источник

RP

Roman Proskuryakov in rust_offtopic
даже самый первый коммент намекает на 0х0 != null
источник

EG

Emmanuel Goldstein in rust_offtopic
Единственное, что требует стандарт — это что (type*)0 == (type*)NULL. Самого побитового равенства NULL и 0 стандарт не требует.
источник

Т8

Т-34 85 in rust_offtopic
Отлично. А теперь иди читай 6.3.2.3, пункт 3
источник

Т8

Т-34 85 in rust_offtopic
О, пошёл гон на авторитетный сайт!
источник

p

polunin.ai in rust_offtopic
Alexander Krivitskiy
Есть стандарт - влажные фантазии ланг дизайнеров, и есть суровая реальность - stddef
В спецификации определено поведение. Если не определено, то это уб в любом компиляторе, так как не соответствует спецификации, и компиляторы могут использовать их как угодно.
источник

Т8

Т-34 85 in rust_offtopic
Emmanuel Goldstein
Это не спецификация.
О, отлично,  PVS дураки разрабатывают
источник

RP

Roman Proskuryakov in rust_offtopic
лоль)
источник

p

polunin.ai in rust_offtopic
Т-34 85
О, пошёл гон на авторитетный сайт!
Некоторые и Википедию считают авторитетной
источник

DF

Dollar Føølish in rust_offtopic
Википедия не худший источник знаний
источник

DF

Dollar Føølish in rust_offtopic
По крайней мере обзорных
источник

EG

Emmanuel Goldstein in rust_offtopic
Т-34 85
Отлично. А теперь иди читай 6.3.2.3, пункт 3
Ура, цитата из стандарта!
Читаем:
> An  integer  constant  expression  with  the  value  0,  or  such  an  expression  cast  to  type void *, is called a null pointer constant.
Что означает:
(void*)0 это некая null pointer constant.
Можно заметить, что
int x = 0;
void* n = (void*)x;
это уже не null pointer constant, потому что не constant expression.
источник

AK

Alexander Krivitskiy in rust_offtopic
polunin.ai
В спецификации определено поведение. Если не определено, то это уб в любом компиляторе, так как не соответствует спецификации, и компиляторы могут использовать их как угодно.
1. У раста её нет. Поведение программ на расте не определно? 2. Ты веришь, что спецификация будет реализована без багов?
источник

AL

Andrey @ozkriff Lesn... in rust_offtopic
Давайте немного спокойней, пожалуйста. Вы сильно во флейм уходите.
источник