Release D 2.072.0

Steven Schveighoffer via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Thu Nov 3 06:46:32 PDT 2016


On 11/2/16 8:36 AM, Johan Engelen wrote:
> On Tuesday, 1 November 2016 at 16:40:42 UTC, Andrei Alexandrescu wrote:
>> On 11/01/2016 11:41 AM, Johan Engelen wrote:
>>> On Monday, 31 October 2016 at 01:27:08 UTC, Martin Nowak wrote:
>>>> Glad to announce D 2.072.0.
>>>
>>> DMD 2.072.0 miscompiles/uncovers a bug in LDC, so I switched back to DMD
>>> 2.071.2 for CI testing. :(
>>
>> Is there somebody working on that bug? Thanks. -- Andrei
>
> LDC built with DMD 2.072.0 gives the following error when run:
> object.Error at src/rt/minfo.d(356): Cyclic dependency between module
> ddmd.traits and ddmd.cond
> ddmd.traits* ->
> ddmd.attrib ->
> ddmd.cond* ->
> ddmd.expression ->
> ddmd.traits*

The issue is that DDMD has cycles, always has. But the cycle detection 
was broken. This is now fixed in 2.072. An unfortunate side effect from 
having broken cycle detection since 2011 is that many projects will now 
detect cycles. 2.072 is going to break a lot of code that was already 
"broken". I use scare quotes because likely the code is just fine, but 
the cycle detection is so broad that it's easy to get caught in the net.

The best answer is to somehow do better cycle detection (e.g. determine 
if there really are dependencies that break with cycles). We have some 
ideas, but nothing has been fleshed out yet.

-Steve


More information about the Digitalmars-d-announce mailing list