Dylan Graham a présenté un LWDR d'exécution léger pour la programmation D de microcontrôleurs équipés d'un système d'exploitation en temps réel (RTOS). La version actuelle est destinée aux microcontrôleurs ARM Cortex-M. Le développement ne vise pas à couvrir entièrement toutes les capacités de D, mais fournit des outils de base. L'allocation de mémoire se fait manuellement (nouveau/suppression), il n'y a pas de garbage collector, mais il existe un certain nombre de hooks pour utiliser les outils RTOS.
La version présentée prend en charge :
- allocation et destruction d'instances de classe et de tas pour les structures ;
- invariants;
- affirme;
- contrats, outils RTTI de base (à la charge de Typeinfo) ;
- interfaces ;
- fonctions virtuelles ;
- classes abstraites et statiques ;
- tableaux statiques ;
- allouer, libérer et redimensionner des tableaux dynamiques ;
- ajouter des éléments à un tableau dynamique et concaténer des tableaux dynamiques.
Au statut de fonctionnalités expérimentales : exceptions et Throwables (car ils nécessitent le support du scavenger).
Pas mis en œuvre:
- constructeurs et destructeurs de modules ;
- ModuleInfo ;
- variables locales de thread (TLS) ;
- délégués et clôtures ;
- tableaux associatifs ;
- données partagées et synchronisées ;
- objets hachés.
Source: opennet.ru