[ON] В GCC-фронтэнде с компилятором Rust реализован Borrow checker

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6001
ОС: gnu/linux

[ON] В GCC-фронтэнде с компилятором Rust реализован Borrow checker

Сообщение rssbot »

Для включения в состав ветки GCC 15 предложена серия патчей с улучшением поддержки языка Rust во фронтэнде gccrs. Наиболее заметным изменением стала поддержка проверки заимствования переменных (borrow checker), реализованная на основе компонента Polonius, разрабатываемого основной командой разработчиков Rust в качестве следующего поколения Borrow checker.


Предложенная реализация Borrow checker отличается тем, что написана на языке Rust и предоставляет расширенные возможности верификации кода, позволяющие в ряде случаев считать безопасным (safe) код, который до сих пор требовал пометки ключевым словом Unsafe из-за ограничений применяемой по умолчанию реализации Borrow checker.


Подготовленное для GCC решение имеет ограничения:
  • Для Polonius известны ситуации, в которых некоторый реально существующий в проектах код приводит к экспоненциальному росту сложности анализа.
  • В случае GCC для завершения фазы начальной раскрутки (bootstrapping) компилятора gccrs на данный момент требуется компилятор Rust (в будущем данное ограничение будет устранено).

Полная реализация самодостаточной сборки подразумевает 2-стадийную раскрутку, при которой сначала GCC соберёт gccrs без Borrow checker, а затем соберёт упомянутую реализацию Borrow checker, написанную на языке Rust, используя урезанный варианта компилятора и считая код условно-доверяемым (т.е. не выполняя проверку заимствования). После сборки Borrow checker-а будет выполнена ещё одна пересборка компилятора, но уже с выполнением проверок заимствования.



Источник: https://www.opennet.ru/opennews/art.shtml?num=62924
(opennet.ru, мини-новости)
Последний раз редактировалось rssbot 21.03.2025 21:52, всего редактировалось 2 раза.
Причина: Updated upstream
Спасибо сказали: