Size: a a a

2020 August 14

Т8

Т-34 85 in rust_offtopic
red75prime
уб один - поведение программы не определено. Способы его получить - разные
так тогда и в расте это уб?
источник

p

polunin.ai in rust_offtopic
Т-34 85
в крестах под это что угодно попадает, а в расте даже очевидные баги не считаются уб
В расте уб в сейф коде баг. Или ты о чем?
источник

Т8

Т-34 85 in rust_offtopic
polunin.ai
В расте уб в сейф коде баг. Или ты о чем?
а почему это один и тот же баг в расте не уб, а в крестах - уб?
источник

p

polunin.ai in rust_offtopic
Т-34 85
а почему это один и тот же баг в расте не уб, а в крестах - уб?
КАКОЙбаг
источник

Т8

Т-34 85 in rust_offtopic
polunin.ai
КАКОЙбаг
дедлок
источник

Ct

Casual tears in rust_offtopic
Т-34 85
а почему это один и тот же баг в расте не уб, а в крестах - уб?
Есть такие примеры, но ты их хоть знаешь?
источник

r

red75prime in rust_offtopic
Т-34 85
дедлок
дедлок - не ub
источник

Ct

Casual tears in rust_offtopic
Т-34 85
дедлок
дедлок не UB в крестах же
источник

CD

Constantine Drozdov in rust_offtopic
polunin.ai
На практике это исключительная ситуация, которой можно пренебречь, поскольку почти весь код safe
пренебречь чем? изменением поведения data race на файлике ОС зависящего от оптимизации компилятора и системного скедулера?
источник

Ct

Casual tears in rust_offtopic
Casual tears
дедлок не UB в крестах же
> 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
лол
источник

CD

Constantine Drozdov in rust_offtopic
хотя не удивлюсь, если в safe запрещено читать файловую систему, небезопасная операция
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
пренебречь чем? изменением поведения data race на файлике ОС зависящего от оптимизации компилятора и системного скедулера?
Очевидно что баги с УБ в сейф коде из-за вызова невалидного ансейф кода могут быть. Но его настолько мало что пофиг, скорее всего с ним не встретишься.
источник

CD

Constantine Drozdov 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
лол
да, есть recursive_mutex
источник

Ct

Casual tears in rust_offtopic
Constantine Drozdov
да, есть recursive_mutex
Это если ты знаешь что у тебя есть "проблема"
источник

AZ

Alex Zhukovsky in rust_offtopic
Т-34 85
так тогда и в расте это уб?
нет. Например переполнение знаковых чисел уб в плюсах и не уб в расте
источник

CD

Constantine Drozdov in rust_offtopic
polunin.ai
Очевидно что баги с УБ в сейф коде из-за вызова невалидного ансейф кода могут быть. Но его настолько мало что пофиг, скорее всего с ним не встретишься.
И data race на файле никогда не встретишь? Я вот встречал последний такой намного ближе к настоящему, чем проваленный в дебаге range check на плюсах
источник

r

red75prime 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
лол
Это UB, а не дедлок. Дедлок - это другое
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
И data race на файле никогда не встретишь? Я вот встречал последний такой намного ближе к настоящему, чем проваленный в дебаге range check на плюсах
data race разве UB?
источник

Ct

Casual tears in rust_offtopic
red75prime
Это UB, а не дедлок. Дедлок - это другое
Там написано, что
std::mutex m;
m.lock();
m.lock();

UB
источник

Ct

Casual tears in rust_offtopic
Из этого вроде не следует конечно прямо что любой дедлок - UB
источник