Нет, формальных различий нет.
Я полагаю, что вы спрашиваете, существует ли система эффектов . Хотя об этом говорили разработчики компиляторов некоторое время, нет единого мнения о том, будет ли это действительно полезным или вредным в долгосрочной перспективе.
"обойти" ограничения Руста
Эти "ничего не обходят". Сами методы обеспечивают соблюдение требований.
перешел от компилятора к программисту
Я не согласен с этой оценкой. Ответственность была изменена с время компиляции время до время выполнения , но компилятор и код библиотеки по-прежнему обеспечивают безопасность.
с использованием unsafe
Небезопасный код действительно переносит ответственность на программиста. Однако затем этот программист создает безопасные абстракции, которые могут использовать другие программисты. В идеале они создают абстракции, используя инструменты, которые проверяются во время компиляции, помогая уменьшить ошибки времени выполнения.
Бренд Rust как полностью безопасный язык
ответственность за определенные аспекты правильности
Да, Rust намеревается быть безопасным для памяти языком , что не означает, что код, написанный на Rust, является правильным. Брендинг подчеркивает безопасность памяти; другие люди предполагают, что это означает, что такие вещи, как «не может разбиться», но мы не можем предотвратить все ошибочные интерпретации.
Смотри также: