Собственно сабж. А то часто вижу всякие статьи, где Rust пиарится как «убийца сишечки». Вот даже недавно ОС на Rust вышла. А программирование микроконтроллеров - как раз одна из тех областей, где C на сегодняшний день практически не имеет конкурентов.
Ну так насколько он годен для этого? Сильно ли распухнет код? А что с производительностью? Как со всякими специфичными фичами (обработчики прерываний часто требуют иных прологов/эпилогов, также нужна возможность пихать функции и переменные в не стандартные секции линкера и т. д.)?
Насколько он юзабелен без кучи рантайма? Вот попробовал простую программу кросс-компилировать под STM32 с #![no_std] - так не собралось же. Требует как минимум библиотеку core (и в стабильной версии вроде как нет возможности её отрубить). Насколько эта библиотека жирна?
А что со всякими микроконтроллерами послабее типа всяких AVR, PIC, STM8, MSP430. Как я понимаю, тут уже всё зависит напрямую от LLVM. Для AVR порт есть, для MSP430 тоже (правда, экспериментальный). Вроде как запилить в случае чего LLVM-backend не очень сложно, но есть важный вопрос - насколько оно будет хорошо работать. Есть ли какие-то проигрыши по эффективности или размеру кода, если вместо прямой компиляции (с помощью gcc или sdcc) использовать llvm?