The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Проект Kerla развивает Linux-совместимое ядро на языке Rust , opennews (ok), 26-Окт-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


222. "Проект Kerla развивает Linux-совместимое ядро на языке Rust "  –1 +/
Сообщение от Аноним (222), 27-Окт-21, 17:23 
не знаю как в расте, но в теории из safe блока нельзя вызвать unsafe. Тоесть unsafe наверно не так просто использовать, если он такой весь в контрацептиве.
Ответить | Правка | Наверх | Cообщить модератору

224. "Проект Kerla развивает Linux-совместимое ядро на языке Rust "  +/
Сообщение от lufog (ok), 27-Окт-21, 17:51 
> не знаю как в расте, но в теории из safe блока нельзя вызвать unsafe.
> Тоесть unsafe наверно не так просто использовать, если он
> такой весь в контрацептиве.

Не знаю в какой теории, но на практике, код вне unsafe просто не имеет доступа с потенциально небезопасным возможностям языка, вроде сырых указателей. Когда они тебе нужны, и ты прям никак не можешь без них обойтись ты и создаешь этот unsafe блок. Также функцию можешь отметить unsafe запретив ее вызов вне unsafe блока. Так делают например в обертках к OS специфичным API, там где результат выполнения функции не от тебя зависит.

Ответить | Правка | Наверх | Cообщить модератору

230. "Проект Kerla развивает Linux-совместимое ядро на языке Rust "  +/
Сообщение от Аноним (222), 27-Окт-21, 18:19 
например в ди.
А то что написал, тоже самое но в профиль. И если это возможно, то safe блок не совсем safe если можем в него вписать unsafe.
Ответить | Правка | Наверх | Cообщить модератору

236. "Проект Kerla развивает Linux-совместимое ядро на языке Rust "  +/
Сообщение от freecoderemail (ok), 27-Окт-21, 19:26 
Unsafe означает, что компилятор не способен обеспечить безопасность кода внутри такого блока и ее ДОЛЖЕН обеспечить САМ РАЗРАБОТЧИК. Вы могли этого не знать, но это уже десятки раз здесь повторялось. Unsafe - это мостик между безопасностью, которую в состоянии обеспечить компилятор, и безопасностью, которую в состоянии обеспечить только программист. Считается хорошим тоном возле каждого такого "моста" писать комментарий с пометкой SAFETY, в котором пояснять на человеческом языке другим разработчикам, почему вызов unsafe-кода в данном месте в safe-коде не нарушает его безопасности. Статический анализатор clippy даже следит, чтобы подобный комментарий обязательно присутствовал возле использования unsafe. Только такое использование unsafe считается правильным в безопасном Rust-коде, когда оно не может нарушить гарантий Rust. И за этим уже вынужден следить разработчик.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру