Size: a a a

2020 August 14

Т8

Т-34 85 in rust_offtopic
стоп! Я понял, почему в Rust нет UB. Да просто потому, что нет никакого стандарта! Как появится - так и UndB и UnsB появятся
источник

Ct

Casual tears in rust_offtopic
Constantine Drozdov
unique_ptr еще есть
use-after-move оно тоже поймает?
источник

EP

Egor Pugin in rust_offtopic
Casual tears
> If lock is called by a thread that already owns the mutex, the behavior is undefined
https://en.cppreference.com/w/cpp/thread/mutex/lock
лол
это идёт с нижних уровней (библиотеки потоков, ос)
https://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_mutex_lock.html
источник

Т8

Т-34 85 in rust_offtopic
Т-34 85
стоп! Я понял, почему в Rust нет UB. Да просто потому, что нет никакого стандарта! Как появится - так и UndB и UnsB появятся
и тогда вы уже будете говорить "да класть на mrustc, бери rustc"
источник

Т8

Т-34 85 in rust_offtopic
Т-34 85
и тогда вы уже будете говорить "да класть на mrustc, бери rustc"
да, @Psilon ?
источник

r

red75prime in rust_offtopic
Т-34 85
стоп! Я понял, почему в Rust нет UB. Да просто потому, что нет никакого стандарта! Как появится - так и UndB и UnsB появятся
ISO  и прочие IECи тут вообще ни при чём
источник

RP

Roman Proskuryakov in rust_offtopic
Т-34 85
да, @Psilon ?
нет.
источник

Т8

Т-34 85 in rust_offtopic
red75prime
ISO  и прочие IECи тут вообще ни при чём
ну, как же. Это они же решают, что есть UB, а что нет
источник

CD

Constantine Drozdov in rust_offtopic
Casual tears
use-after-move оно тоже поймает?
nullptr
источник

r

red75prime in rust_offtopic
Т-34 85
ну, как же. Это они же решают, что есть UB, а что нет
Они печать ставят и деньги берут
источник

CD

Constantine Drozdov in rust_offtopic
так вот, объясните мне, каким образом мой код стал безопаснее от того, что я указатель перекастовал в инт
источник

Ct

Casual tears in rust_offtopic
Дереференс nullptr уже defined behavior чтобы на него полагаться?
источник

CD

Constantine Drozdov in rust_offtopic
Casual tears
Дереференс nullptr уже defined behavior чтобы на него полагаться?
На любой ОС где работает хром - да
источник

Т8

Т-34 85 in rust_offtopic
Casual tears
Дереференс nullptr уже defined behavior чтобы на него полагаться?
да, это будет sigill
источник

Ct

Casual tears in rust_offtopic
Constantine Drozdov
На любой ОС где работает хром - да
При чем тут ОС если у тебя код еще компилятор покрошить может
источник

Т8

Т-34 85 in rust_offtopic
Casual tears
При чем тут ОС если у тебя код еще компилятор покрошить может
gcc не может
источник

RP

Roman Proskuryakov in rust_offtopic
Constantine Drozdov
так вот, объясните мне, каким образом мой код стал безопаснее от того, что я указатель перекастовал в инт
данные живут в vec, который проверяет индексы. поэтому use-after-free невозможнен.
источник

CD

Constantine Drozdov in rust_offtopic
Casual tears
При чем тут ОС если у тебя код еще компилятор покрошить может
В случае с nullptr в unique не сможет
источник

EP

Egor Pugin in rust_offtopic
Т-34 85
да, это будет sigill
это же про инструкции
источник

CD

Constantine Drozdov in rust_offtopic
Roman Proskuryakov
данные живут в vec, который проверяет индексы. поэтому use-after-free невозможнен.
указатели ведут в хипу, которая может нулить всю свободную память и поставить страничные заглушки на границу, поведение будет полностью defined
источник