Поддержка Rust для ядра Linux столкнулась с критикой Торвальдса

Линус Торвальдс провёл рецензирование патчей c реализацией возможности создания драйверов на языке Rust для ядра Linux, и высказал некоторые критические замечания.

Наибольшие претензии вызвала потенциальная возможность ухода в panic () в ошибочных ситуациях, например, в ситуации нехватки памяти, когда операции динамического распределения памяти, в том числе и внутри ядра, могут завершиться ошибкой. Торвальдс заявил, что подобный подход в ядре принципиально недопустим и при непонимании этого момента он может полностью отвернуть (totally NAKed) любой код, который попытается использовать подобный подход. С другой стороны, разработчик, занимающийся патчами, согласился с данной проблемой и считает её решаемой.

Ещё одной проблемой стали попытки использования вычислений с плавающей запятой или 128-битными типами, что не является допустимым для таких окружений, как ядро Linux. Это оказалось более серьёзной проблемой, так как в данный момент базовая (core) библиотека Rust неделима и представляет собой один большой blob — в ней нет возможности запросить только некоторые из возможностей, предотвратив использование той или иной проблемной функциональности. Решение проблемы может потребовать внесения изменений в компиляторе rust и библиотеки, при том, что на данный момент у команды ещё нет стратегии, как реализовать модульность библиотек языка.

Кроме того Торвальдс отметил, что предоставленный пример драйвера — бесполезный и посоветовал приложить в качестве примера какой-нибудь драйвер, решающий одну из реальных задач.

Источник: http://www.opennet.ru/opennews/art.shtml? num=54970

©  OpenNet