Dylan Graham presenteerde een lichtgewicht runtime LWDR voor D-programmering van microcontrollers uitgerust met een real-time besturingssysteem (RTOS). De huidige versie is gericht op ARM Cortex-M-microcontrollers. De ontwikkeling heeft niet tot doel alle D-mogelijkheden volledig te dekken, maar biedt basishulpmiddelen. Geheugentoewijzing gebeurt handmatig (nieuw / verwijderen), er is geen garbage collector, maar er zijn een aantal hooks voor het gebruik van RTOS-tools.
De gepresenteerde versie ondersteunt:
- toewijzing en vernietiging van klasse- en heap-instanties voor structuren;
- invarianten;
- beweert;
- contracten, basis RTTI-tools (ten koste van Typeinfo);
- interfaces;
- virtuele functies;
- abstracte en statische klassen;
- statische arrays;
- het toewijzen, vrijmaken en vergroten/verkleinen van dynamische arrays;
- het toevoegen van elementen aan een dynamische array en het aaneenschakelen van dynamische arrays.
In de status van experimentele functies: uitzonderingen en Throwables (omdat ze ondersteuning voor aaseters vereisen).
Niet geïmplementeerd:
- moduleconstructeurs en -destructors;
- ModuleInfo;
- thread lokale variabelen (TLS);
- afgevaardigden en sluitingen;
- associatieve arrays;
- gedeelde en gesynchroniseerde gegevens;
- gehashte objecten.
Bron: opennet.ru