Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

Change Log: 2.109.1

previous version: 2.109.0 – next version: 2.110.0

Download D 2.109.1
released Jul 01, 2024

2.109.1 comes with 1 major change and 5 fixed Bugzilla issues. A huge thanks goes to the 7 contributors who made 2.109.1 possible.

List of all bug fixes and enhancements in D 2.109.1.

Compiler changes

  1. bool values other than 0 or 1 are not @safe

    The spec has been updated so that only 0 and 1 are safe values for bool. This means that reading a bool value whose underlying byte representation has other bits set is implementation-defined and should be avoided. Consequently:

    • void initialization of booleans is now deprecated in @safe code.
    • Reading a bool field from a union is now deprecated in @safe code.

    Runtime array casting to bool[] is yet to be deprecated.


List of all bug fixes and enhancements in D 2.109.1:

DMD Compiler regression fixes

  1. Bugzilla 24602: Internal compiler error: failed to detect static initialization of associative array

DMD Compiler bug fixes

  1. Bugzilla 24566: condition that starts with runtime value and uses compile time array does not short circuit
  2. Bugzilla 24596: Rebindable2 corrupts objects

DMD Compiler enhancements

  1. Bugzilla 24595: OpenBSD: Use .init_array/.fini_array
  2. Bugzilla 24597: FreeBSD/OpenBSD: Enable ELF_COMDAT

Contributors to this release (7)

A huge thanks goes to all the awesome people who made this release possible.

previous version: 2.109.0 – next version: 2.110.0