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.094.2

previous version: 2.094.1 – next version: 2.095.0

Download D 2.094.2
released Nov 20, 2020

2.094.2 comes with 1 major change and 14 fixed Bugzilla issues. A huge thanks goes to the 10 contributors who made 2.094.2 possible.

List of all bug fixes and enhancements in D 2.094.2.

Runtime changes

  1. Support time64 changes for CRuntime_Musl

    Up to v1.1.24, Musl used a 32 bits time_t on 32 bits architectures. Since v1.2.0, time_t is now always 64 bits. From this release, druntime will also default to a 64 bits time_t on 32 bits architecture, unless the CRuntime_Musl_Pre_Time64w is provided.

    This change should only affect packagers for Musl-based systems who support 32 bits architectures (64 bits architectures already use 64 bits time_t), who now need to define CRuntime_Musl_Pre_Time64 both when building druntime / Phobos and in the default configuration, if the linked Musl is < 1.2.0.


List of all bug fixes and enhancements in D 2.094.2:

DMD Compiler regressions

  1. Bugzilla 21285: Delegate covariance broken between 2.092 and 2.094 (git master).
  2. Bugzilla 21372: False deprecation raised for templated overloaded struct method

DMD Compiler bugs

  1. Bugzilla 20324: Calling __traits(getUnitTests) on a template causes compiler segfault
  2. Bugzilla 21330: __traits(getUnitTests) should include unittests from anonymous mixins
  3. Bugzilla 21353: 'With()' statement ignores symbol visibility in some cases.
  4. Bugzilla 21398: Name clash between import and method triggers a segfault

Phobos bugs

  1. Bugzilla 21256: Segfault with Appender!string.init.toString()
  2. Bugzilla 21337: join can iterates ranges multiple times
  3. Bugzilla 21383: std.random.uniform!T(urng) when T is dchar disregards urng and always uses a thread-local random
  4. Bugzilla 21384: std.random.uniform!T() and std.random.uniform!T(urng) when T is dchar with any qualifiers can exceed dchar.max

Druntime bugs

  1. Bugzilla 21323: (64-bit Windows only) core.stdcpp.vector could not have core.stdcpp.vector as element
  2. Bugzilla 21344: core.stdcpp.string.basic_string does not implement opEquals
  3. Bugzilla 21346: core.stdcpp.vector.vector does not implement opEquals
  4. Bugzilla 21365: TypeInfo.swap must not allow reachable memory to be freed if interrupted by a garbage collection pass

Contributors to this release (10)

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

previous version: 2.094.1 – next version: 2.095.0