Dylan Graham presenterade en lätt runtime LWDR för D-programmering av mikrokontroller utrustade med ett realtidsoperativsystem (RTOS). Den nuvarande versionen är inriktad på ARM Cortex-M mikrokontroller. Utvecklingen syftar inte till att helt täcka alla D-förmågor, utan ger grundläggande verktyg. Minnestilldelning görs manuellt (ny / radera), det finns ingen skräpsamlare, men det finns ett antal krokar för att använda RTOS-verktyg.
Den presenterade versionen stöder:
- tilldelning och förstörelse av klass- och heapinstanser för strukturer;
- invarianter;
- hävdar;
- kontrakt, grundläggande RTTI-verktyg (på bekostnad av Typeinfo);
- gränssnitt;
- virtuella funktioner;
- abstrakta och statiska klasser;
- statiska arrayer;
- allokera, frigöra och ändra storlek på dynamiska arrayer;
- lägga till element till en dynamisk array och sammanfoga dynamiska arrayer.
I status för experimentella funktioner: undantag och Throwables (eftersom de kräver scavenger-stöd).
Ej implementerad:
- modulkonstruktörer och destruktörer;
- ModulInfo;
- tråd lokala variabler (TLS);
- delegater och stängningar;
- associativa arrayer;
- delad och synkroniserad data;
- hashade föremål.
Källa: opennet.ru