Change Log: 2.094.2
Download D 2.094.2
released Nov 20, 2020
Runtime changes
List of all bug fixes and enhancements in D 2.094.2.
Runtime changes
- 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
- Bugzilla 21285: Delegate covariance broken between 2.092 and 2.094 (git master).
- Bugzilla 21372: False deprecation raised for templated overloaded struct method
DMD Compiler bugs
- Bugzilla 20324: Calling __traits(getUnitTests) on a template causes compiler segfault
- Bugzilla 21330: __traits(getUnitTests) should include unittests from anonymous mixins
- Bugzilla 21353: 'With()' statement ignores symbol visibility in some cases.
- Bugzilla 21398: Name clash between import and method triggers a segfault
Phobos bugs
- Bugzilla 21256: Segfault with Appender!string.init.toString()
- Bugzilla 21337: join can iterates ranges multiple times
- Bugzilla 21383: std.random.uniform!T(urng) when T is dchar disregards urng and always uses a thread-local random
- 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
- Bugzilla 21323: (64-bit Windows only) core.stdcpp.vector could not have core.stdcpp.vector as element
- Bugzilla 21344: core.stdcpp.string.basic_string does not implement opEquals
- Bugzilla 21346: core.stdcpp.vector.vector does not implement opEquals
- 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.
- Andrei Alexandrescu
- Boris Carvajal
- Iain Buclaw
- Kazuya Takahashi
- Martin Nowak
- Mathias Lang
- Mathis Beer
- Nathan Sashihara
- Richard Manthorpe
- Simen Kjærås