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

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3933
Зарегистрирован: 20.08.2022

#

В GCC-фронтэнде с компилятором Rust реализован Borrow checker
Дата публикации:Fri, 21 Mar 2025 14:57:40 +0300




Для включения в состав ветки 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-а будет выполнена ещё одна пересборка компилятора, но уже с выполнением проверок заимствования.


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=62924

Жизнь за Нер'зула!

Ответить