本次更新主要是针对上个月发布的 2.085.0 大版本进行更新,修复了 20+ 处问题。
详细更新列表如下:
DMD 编译器回归改进
- : DMD generates wrong code for some circular dependencies
- : D compiler fails to resolve circular module dependency when modules are compiled separately
- : D compiler fails to resolve circular module dependency when modules are compiled together
- : ICE on null default value for struct parameter in constructor
- : DMD 2.085 changes to gsroa make DCD crashing
- : Regression: wrong order of linker arguments, again: -L-l before -L--start-group
- : if (auto x) {} isn't properly rejected
- : DMD fails to compile some circular dependencies spiced with is (T == super) condition
- : [Reg v2.070.2] DMD fails with some circular module refs with Template/Mixin instances
DMD 编译器 BUG 修复
- : wrong codegen for destructor call of unnamed struct instance on 64 bit environments
- : case of undetected circular reference in function parameter
- : ICE with multiple mixin templates containing conflicting ctor declarations
- : Segfault when types are used in array literals
- : DMD crash due to circular reference in function return type
- : -checkaction=context not working with attributes
- : [2.085.0-beta.2] Obj-C wrong code overloading selectors and extern(D)
- : case of segfault due to undetected forward reference
- : Compiler crash
- : crash on invalid initializer at CTFE
- : ICE on invalid code
Phobos 标准库回归改进
- : VariantN has unittests that are compiled into user modules
Phobos 标准库 BUG 修复
- : std.algorithm.searching.findAmong doesn't save like it should
DRuntime 运行时修复
- : wrong time values in GC.profileStats