The OpenNET Project / Index page

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



"Пятая редакция патчей для ядра Linux с поддержкой языка Rust "
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Есть идеи по улучшению форума и сайта ? Пишите.
. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..." +1 +/
Сообщение от freecoderemail (ok), 13-Фев-22, 14:07 
В данном примере имеется структура Iter<'a, ..> для которой задан лайфтайм. То есть, это ссылочная структура. Но среди ее полей нет растовых ссылок, а есть сырые указатели. Это значит, во-первых, что компилятор не будет отслеживать лайфтаймы автоматически для этих полей (сырые указатели не имеют лайфтаймов), а во-вторых, использование данных полей возможно только через unsafe (разыменование сырого указателя - это небезопасная операция в Rust).

Говоря проще, указатель можно представить как ссылку, но это такая ссылка, время жизни которой компилятор знать не может. Поэтому при реализации безопасного интерфейса для ссылочного типа с лайфтаймами, которые "под капотом" используют сырые указатели, обеспечение корректности их работы ложится на программиста. Это обычная практика работы с unsafe в Rust и это то место, где вероятность допустить ошибку высока.

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

Оглавление
Пятая редакция патчей для ядра Linux с поддержкой языка Rust , opennews, 13-Фев-22, 11:53  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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