Dylan Graham präsentierte einen leichtgewichtigen Laufzeit-LWDR für die D-Programmierung von Mikrocontrollern, die mit einem Echtzeitbetriebssystem (RTOS) ausgestattet sind. Die aktuelle Version richtet sich an ARM-Cortex-M-Mikrocontroller. Ziel der Entwicklung ist nicht die vollständige Abdeckung aller D-Fähigkeiten, sondern die Bereitstellung grundlegender Werkzeuge. Die Speicherzuweisung erfolgt manuell (neu / löschen), es gibt keinen Garbage Collector, aber eine Reihe von Hooks für die Verwendung von RTOS-Tools.
Die vorgestellte Version unterstützt:
- Zuweisung und Zerstörung von Klassen- und Heap-Instanzen für Strukturen;
- Invarianten;
- behauptet;
- Verträge, grundlegende RTTI-Tools (auf Kosten von Typeinfo);
- Schnittstellen;
- virtuelle Funktionen;
- abstrakte und statische Klassen;
- statische Arrays;
- Zuweisen, Freigeben und Ändern der Größe dynamischer Arrays;
- Hinzufügen von Elementen zu einem dynamischen Array und Verketten dynamischer Arrays.
Im Status experimenteller Funktionen: Ausnahmen und Throwables (da sie Scavenger-Unterstützung erfordern).
Nicht implementiert:
- Modulkonstruktoren und -destruktoren;
- ModuleInfo;
- Thread-lokale Variablen (TLS);
- Delegierte und Schließungen;
- assoziative Arrays;
- gemeinsame und synchronisierte Daten;
- gehashte Objekte.
Source: opennet.ru