Отмечается, что в большинстве случаев использование режима «unsafe» обусловлено вызовом кода, написанного на других языках или обращения к библиотекам на С/C++. Пакетом с наибольшим числом вызовов в режиме «unsafe» признан развиваемый компанией Microsoft crate-пакет windows, являющийся обвязкой над API платформы Windows. Данный пакет насчитывает 36 млн. загрузок. Unsafe также используется в самых популярных пакетах syn (470 млн загрузок), proc-macro2 (354 млн загрузок) и libc (345 млн загрузок).
Для выявления проблем в коде, выполняемом в режиме «unsafe», проектом развивается интерпретатор Miri, позволяющий определять обращения вне границ буферов, использование памяти после её освобождения, некорректное использование неинициализированных данных, нарушение инвариантность базовых типов (например, несоответствие bool значениям 0 или 1), нарушение правил владения объектами, возникновение состояний гонки и утечки памяти.
Источник: http://www.opennet.ru/opennews/art.shtml?num=61251