LINUX.ORG.RU

История изменений

Исправление hateyoufeel, (текущая версия) :

Почему в Rust смогли, а в C – нет?

В Rust свои UB есть:https://doc.rust-lang.org/reference/behavior-considered-undefined.html

В C и Rust разные трактовки термина «Undefined Behaviour». В Rust это означает «если ты обосрался с указателями, сам виноват, мы ничего не гарантируем». В C это означает «мы изнасилуем твой код и ты получишь чудовищный треш и адов холокост».

Проще говоря, Rust не делает диких трансформаций кода с расчётом на это самое UB или его отсутствие, как в примерах про C выше.

Исходная версия hateyoufeel, :

Почему в Rust смогли, а в C – нет?

В Rust свои UB есть:https://doc.rust-lang.org/reference/behavior-considered-undefined.html

В C и Rust разные трактовки термина «Undefined Behaviour». В Rust это означает «если ты обосрался с указателями, сам виноват, мы ничего не гарантируем». В C это означает «мы изнасилуем твой код и ты получишь чудовищный треш и адов холокост».