DMD 2.110 has been released, the standard compiler for the language D. The D code compiler is distributed under the free license BSL (Boost Software License) and supports Linux, Windows, MacOS, and FreeBSD systems.
The language D utilizes static typification, has a syntax similar to C/C++, and offers the performance of compiled languages. It also incorporates some features of dynamic languages to enhance development efficiency and safety. These features include support for associative arrays, indirect type definition, automatic memory management, parallel programming tools, templates, and metaprogramming components. Additionally, a garbage collector is available as an option. Programs written in the D language can make use of C libraries, as well as certain libraries in C++ and Objective-C.
Some of the changes in the latest release include:
- Launching with the option “-preview = fiximmutableconv” now prohibits copying variables of type “const VOID []” into variables of type “VOID []” to prevent potential unauthorized usage.
- Data loaded via the expression “import” is now processed as binary strings (hex strings) and can be implicitly converted into arrays with types other than “char”.
- A new trait, Iscomclass, has been added to detect if a type is a COM class during compilation using the trait “__traits (Iscomclass, Type)”.
- Values of type “bool” that are not 0 or 1 are now treated as unsafe and cannot be used in “@safe” code.
- In the package manager dub, a check has been implemented to ensure the presence of “dub.selections.json” files in parent directories.