Выпуск компилятора языка D 2.100
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Разработчики языка программирования D представили релиз основного эталонного компилятора DMD 2.100.0, который поддерживает системы GNU/Linux, Windows, macOS и FreeBSD. Код компилятора распространяется под свободной лицензией BSL (Boost Software License).
Язык D использует статическую типизацию, обладает синтаксисом, схожим с C/C++, и обеспечивает производительность компилируемых языков, при этом заимствуя некоторые полезные возможности динамических языков в области эффективности разработки и обеспечения безопасности. Например, предоставляется поддержка ассоциативных массивов, косвенное определение типов, автоматическое управление памятью, средства параллельного программирования, опциональный сборщик мусора, система шаблонов, компоненты для метапрограммирования, возможность использовать библиотеки на языке C, а также некоторые библиотеки на C++ и Objective-C.
Среди изменений в новом выпуске:
- Прекращена поддержка старого стиля перегрузки операторов, используемого в ветке D1. На смену opNeg, opAdd_r, opAddAssign и т.п. пришли opUnary, opBinary, opBinaryRight и opOpAssign. Старый стиль перегрузки операторов был объявлен устаревшим в 2019 году и начиная с выпуска 2.100 будет приводить к выводу ошибки.
- Прекращена поддержка ключевого слова delete, объявленного устаревшим, начиная с 2018 года. Вместо delete следует использовать функцию destroy или core.memory.__delete.
- Реализован новый атрибут @mustuse, который может быть применён к типам struct и union в качестве альтернативного метода обработки ошибок, когда в коде невозможно использовать исключения (например, в блоках @nogc). Если помеченное атрибутом @mustuse выражение не используется в коде, компилятор выведет ошибку.
- Для статических массивов разрешено применение свойства ".tupleof" для получения последовательности значений (lvalue) каждого элемента массива.
void foo(int, int, int) { /* ... */ }
int[3] ia = [1, 2, 3];
foo(ia.tupleof); // аналог foo(1, 2, 3);
float[3] fa;
fa.tupleof = ia.tupleof; // простое присвоение fa = ia приведён к ошибке
assert(fa == [1F, 2F, 3F]);
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://dlang.org/blog/2022/05...)
- OpenNews: Для языка D представлен runtime для программирования микроконтроллеров
- OpenNews: Выпуск компилятора языка D 2.085
- OpenNews: Поддержка языка D включена в состав GCC
- OpenNews: В компилятор LDC языка D добавлена поддержка WebAssembly
- OpenNews: Официальный компилятор языка D переведён в разряд свободного ПО
Похожие новости:
- [Системное программирование, D, Программирование микроконтроллеров] За рулем с D (перевод)
- [D, Разработка на Raspberry Pi] DLang, Vibe.d и кросс-компиляция для RPi4
- Для языка D представлен runtime для программирования микроконтроллеров
- [Программирование, Компиляторы, D] Самый быстрый компилятор aka compiler-benchmark (перевод)
- [D, Go, Rust, Программирование] Портируем утилиту командной строки с Go/Rust на D (перевод)
- [C++, D, Алгоритмы, Высокая производительность] Триумфальное возвращение Ломуто (перевод)
- [C, D] Портируем make.c на D (перевод)
- [C, C++, D, Отладка] Баги, которые разрушили ваш замок (перевод)
- [C, C++, D] D как улучшенный C (перевод)
- [D, Высокая производительность] Go Your Own Way. Часть вторая. Куча (перевод)
Теги для поиска: #_dlang
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 08:40
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Разработчики языка программирования D представили релиз основного эталонного компилятора DMD 2.100.0, который поддерживает системы GNU/Linux, Windows, macOS и FreeBSD. Код компилятора распространяется под свободной лицензией BSL (Boost Software License). Язык D использует статическую типизацию, обладает синтаксисом, схожим с C/C++, и обеспечивает производительность компилируемых языков, при этом заимствуя некоторые полезные возможности динамических языков в области эффективности разработки и обеспечения безопасности. Например, предоставляется поддержка ассоциативных массивов, косвенное определение типов, автоматическое управление памятью, средства параллельного программирования, опциональный сборщик мусора, система шаблонов, компоненты для метапрограммирования, возможность использовать библиотеки на языке C, а также некоторые библиотеки на C++ и Objective-C. Среди изменений в новом выпуске:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 08:40
Часовой пояс: UTC + 5