Выпуск компилятора языка D 2.110

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 4134
Зарегистрирован: 20.08.2022

#

Выпуск компилятора языка D 2.110
Дата публикации:Mon, 10 Mar 2025 16:22:42 +0300




Опубликован релиз DMD 2.110, эталонного компилятора для языка D. Код компилятора распространяется под свободной лицензией BSL (Boost Software License). Поддерживаются системы Linux, Windows, macOS и FreeBSD.



Язык D использует статическую типизацию, обладает синтаксисом, схожим с C/C++, и обеспечивает производительность компилируемых языков. Язык D также заимствует некоторые возможности динамических языков, полезные для повышения эффективности разработки и обеспечения безопасности. Например, имеется поддержка: ассоциативных массивов, косвенного определения типов, автоматического управления памятью, средств параллельного программирования, шаблонов, компонентов для метапрограммирования. Опционально доступен сборщик мусора. В программах на языке D можно использовать библиотеки на языке C, а также некоторые библиотеки на C++ и Objective-C.



Среди изменений в новом выпуске:
  • При запуске с опцией "-preview=fixImmutableConv" запрещено копирование переменных с типом "const void[]" в переменные с типом "void[]", так как такое копирование в последствии может привести к использованию вне контекста "const".

    Данные, загруженные через выражение "import", теперь обрабатываются как бинарные строки (hex string) и могут быть неявно преобразованы в массивы значений с типами, отличными от "char".
    New trait isCOMClass to detect if a type is a COM class

    A COM class inherits from a possibly user defined interface called IUnknown. To detect this during compilation use the trait __traits(isCOMClass, Type). O

    Добавлен типаж isCOMClass ("__traits(isCOMClass, Type)") для определения в процессе компиляции, что тип является COM-классом.

    Значения с типом "bool", отличные от 0 и 1, теперь обрабатываются как небезопасные (не могут использоваться в коде с признаком "@safe").

    В пакетном менеджере dub обеспечена проверка присутствия файлов "dub.selections.json" в родительских каталогах.


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=62854

Жизнь за Нер'зула!

Ответить