Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Forums
  - IRC
  - Community Discord
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Contributors
  - Foundation
  - Security Team
  - Donate
  - Sponsors
- Resources
  - Tour
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - run.dlang.io
  - Visual D
  - Acknowledgments
  - D Style
  - Glossary
  - Sitemap

Search
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

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.

#### Runtime changes

1. Support time64 changes for CRuntime_Musl

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.

- Andrei Alexandrescu
- Boris Carvajal
- Iain Buclaw
- Kazuya Takahashi
- Martin Nowak
- Mathias Lang
- Mathis Beer
- Nathan Sashihara
- Richard Manthorpe
- Simen Kjærås

Copyright © 1999-2023 by the D Language Foundation | Page generated by Ddoc on Mon May 1 15:50:36 2023