The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск языка программирования Rust 1.54"
Отправлено Aukamo, 31-Июл-21 10:28 
> А для чего нужны эти типы нулевого размера? Какую задачу решают?

Rust ими активно пользуется в стандартной библиотеке, но в эту сторону я не сильно копал. Задача, на сколько я знаю, это Zero Cost Abstraction, примеры привели выше.

Самое большое впечатление составил этот проект: https://github.com/Rahix/avr-hal , это, грубо говоря, библиотека <Arduino> для Rust. Если посмотреть исходники, становится понятно то как используются ZST. По сути, ZST позволяют управлять потоком исполнения так, как и в случае если у тебя есть объект с данными, т.е. ты можешь обращаться к сущности, задавать или спрашивать некие свойства, хотя, под капотом, сама сущность не хранит никакой информации и её можно было бы заменить на 100500 #define\#if\#ifdef. Это как модуль или область видимости, но в виде объекта и со свойствами объекта. Короче, самое крутое, доведённое до предела использование ZST я, пока что, видел только в avr-hal (за счёт того что для embedded каждый байт на счету).

https://doc.rust-lang.org/stable/embedded-book/static-guaran... не помню где я видел класное описание того как в avr-hal пины\периферия в виде ZST создаются. Там, вроде как, смежный проект для cortex (вместо atmel), книгу написал как ZST можен это обиграть. Может где в issues есть ссылка, я просто, интерес к проэкту на время потерял, не хочу сейчас в нём копаться.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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