Dylan Graham представил LWDR. Это легковесный D-рантайм для программирования на D микроконтроллеров на базе ОС реального времени. Текущая версия нацелена на ARM Cortex-M.
Разработка не ставит целью полное покрытие всех возможностей D, но предоставляет базовые средства. Распределение памяти производится вручную (new / delete), мусорщик не реализован, но имеется ряд хуков для использования средств RTOS.
В этой версии поддержаны:
- Выделение и разрушение экземпляров классов и кучи для структур * инварианты
 - ассерты
 - контракты, базовые средства RTTI (за счёт средств Typeinfo)
 - интерфейсы
 - виртуальные функции
 - абстрактные и статические классы
 - статические массивы
 - выделение, освобождение и изменение размера динамических массивов
 - добавление элементов в динамический массив и конкатенация динамических массивов,
 
В статусе экспериментальных возможностей:
- Исключения и Throwables (так как требуют поддержку мусорщика)
 
Не реализованы:
- Конструкторы и деструкторы модулей
 - ModuleInfo
 - локальные переменные потока (TLS)
 - делегаты и замыкания
 - ассоциативные массивы
 - разделяемые и синхронизированные данные,
 - хэшированые объекты
 
Проект на GitHub
>>> LWDR (Light Weight D Runtime) for Microcontrollers v0.2.3
