История изменений
Исправление DarkEld3r, (текущая версия) :
Потому что для любой нетривиальной структуры в Rust приходится писать unsafe.
Я так понимаю, что «нетривиальная структура» определяется как «такая, для написания которой нужен ансейф»?..
В любом случае, далеко не в каждой программе требуется писать «нетривиальные структуры» (самому).
На нормальных языках песочница не протекает, если не использовать FFI.
Точно? Я вот погуглил и пишут, что в C# в unsafe блоках можно добиться неопределённого поведения. Это неправда (я что-то не так понял) или C# тоже не является нормальным языком?
А в Common Lisp safety 0
ничего не может поломать?
Зато нет паники.
Непрактично это (к сожалению?). Раст и так за обработку ошибок поругивают, если все ошибки сделать явными будет сильно хуже. Но вообще можно запретить отдельные функции (через стандартный инструмент: Clippy) и обрабатывать у себя на проекте всё явно, если этого хочется.
Исходная версия DarkEld3r, :
Потому что для любой нетривиальной структуры в Rust приходится писать unsafe.
Я так понимаю, что «нетривиальная структура» определяется как «такая, для написания которой нужен ансейф»?..
В любом случае, далеко не в каждой программе требуется писать «нетривиальные структуры» (самому).
На нормальных языках песочница не протекает, если не использовать FFI.
Точно? Я вот погуглил и пишут, что в C# в unsafe блоках можно добиться неопределённого поведения. Это неправда (я что-то не так понял) или C# тоже не является нормальным языком?
А в Common Lisp safety 0
ничего не может поломать?