избежать сегфолтов как таковых вообще, а чтобы если таковой случится, было понятно где конкретно багу искать, не так ли?
чтобы изолировать части кода, где твой код делает что-то вопреки компилятору. все остальное следствия
С unsafe проще локализовать проблему, если она есть, да. Но смысл unsafe чтобы поверх него писать safe абстракции.
чтобы можно было писать код ближе к железу, драйверы, указатели, ручное управление памятью. В общем, доступ к низкоуровневым вещам, чтобы увеличить скорость работы или чтобы писать код там, где проверки Rust работают неправильно, например. когда железо пишет в память по адресу х0324023, а тебе надо из этой памяти считать данные, без unsafe Rust будет думать, что ты обращаешься к случайному куску памяти и запретит компиляцию
Обсуждают сегодня