К наиболее значимым изменениям можно отнести следующие:
- Сделан большой прогресс в сторону реализации ручного управления памяти. Теперь в языке появился атрибут @nogc, который позволяет отключить сборщик мусора. Также добавлен ключ -vgc для вывода списка всех позиций выделения памяти для GC в коде.
- Новая языковая конструкция extern (C++, namespace) теперь позволяет использовать прямые вызовы функций C++ из пространств имён.
- Улучшен механизм автоматического определения типов в шаблонах. Шаблон вида «void foo(T)(T[] arr, T elem)» теперь может быть вызван как «foo(a, 1)», если a определено как «short[] a». Раньше было необходимо явно приводить 1 к типу short.
- Реализована поддержка унифицированного синтаксиса создания для встроенных скалярных типов.
Также на днях вышла в свет новая версия компилятора LDC 0.14, работающего поверх LLVM.
Также стоит отметить большой прогресс со стороны компилятора SDC, реализованного на самом D.
>>> Подробности