The OpenNET Project / Index page

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



"Выпуск языка программирования Rust 1.71 "
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Ссылки "<<" и ">>" открывают первые и последние 10 сообщений.
. "Выпуск языка программирования Rust 1.71 " +/
Сообщение от Анонимусс (?), 14-Июл-23, 20:05 
> Без unsafe скорее всего не обойдутся

Не скорее всего, а 100%. Но раст не ставит цель писать без unsafe.
Это просто невозможно. Напр. любой FFI будет unsafe.
Цель - отделить safe код от unsafe и минимизировать количество unsafe блоков.

> Как будут уживаться unsafe и полная система типов Rust.

Будут конвертиться в сишные типы на границе модулей. Для unsafe будут писаться safe обертки.
Что-то вроде нам пришел из ядра pointer на буфер вот такой длинны.
Мы верим ядру что оно валидное, потому что у нас выбора особо то и нет.
Из него создаем вектор используя unsafe from_raw_parts.
А дальше используем этот вектор в safe code.
Выполнив работу вызываем fn into_raw_parts(self), получаем (ptr, len, cap) и возвращаем в си код.

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

Оглавление
Выпуск языка программирования Rust 1.71 , opennews, 14-Июл-23, 12:50  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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