Change Log: 2.090.1
Download D 2.090.1
released Feb 06, 2020
List of all bug fixes and enhancements in D 2.090.1.
- D1-style operator now have a lower priority than D2-style
D1 operator overloads have been deprecated in v2.088.0. They historically had priority over D2 operator overload, and that priority was kept as is even after deprecating them.
One main difference between D1 and D2 operator overload is that D1's are virtual by default, while the D2 operator overloading scheme relies on template, and so cannot be virtual. Code relying on virtuality of operator can be trivially adapted by providing a D2-style operator overload that forwards to a virtual method.
However, as D1 operator overloads take priority, the deprecation message will be issued even if a D2 operator overload is present. This means that code relying on virtual operators would need not only to introduce the aforementioned D2-style overload, but also to rename their method not to match the reserved D1 names. This in turns forces libraries to introduce a breaking change in order to silence the deprecation.
Starting from this release, D2-style operator overloads take priority over D1-style, making it trivial to forward the former to the later.
List of all bug fixes and enhancements in D 2.090.1:
DMD Compiler regressions
DMD Compiler bugs
- Bugzilla 19542: Forward reference segfault with string namespace C++ syntax
- Bugzilla 20530: is(<...> == module/package) does not work with string mixins
- Bugzilla 20549: Initialization with a tuple of a module symbol referencing itself could crash dmd
- Bugzilla 20559: Reference type + alias this + AA + AA.clear causes SEGV
- Bugzilla 20497: thread with limited stackspace crashes depending on size of TLS
- Bugzilla 20500: running examples on the home page only displays '1 unittests passed'
A huge thanks goes to all the awesome people who made this release possible.
- Atila Neves
- Bernhard Seckinger
- Boris Carvajal
- Don Clugston
- Martin Kinkelin
- Martin Nowak
- Mathias Lang
- Mathis Beer
- Paul Backus
- Rainer Schuetze
- Sebastian Wilzbach
- Steven Schveighoffer
- Walter Bright