WTF: dmd 2.066 vs. dmd 2.067 really dangerous code breakage
Dicebot via Digitalmars-d
digitalmars-d at puremagic.com
Thu Apr 23 02:16:04 PDT 2015
On Thursday, 23 April 2015 at 08:11:50 UTC, Daniel Kozak wrote:
> On Wednesday, 22 April 2015 at 22:23:30 UTC, Martin Nowak wrote:
>> On 04/22/2015 01:36 PM, Dicebot wrote:
>>>
>>> -d is your enemy, If you remove that, there will be a clear
>>> warning
>>> "Deprecation: variable XXX.S.FLAG_ON immutable field with
>>> initializer
>>> should be static, __gshared, or an enum". You decided to
>>> ignore and hide
>>> it, why the surprise about the breakage?
>>
>> Maybe using -d should itself emit a warning?
>
> This does not help (-d is not problem), you can not protect me
> from myself. Real problem is that changing semantics never end
> up well. If I skip 2.066(and many versions before) version of D
> compiler, I even do not get any deprecation or warning message.
> Original code is 2 years old (which should be legacy code for
> someone).
Skipping compiler versions during upgrade is asking for trouble
too. I don't remember it being done even for GCC - production
users always do it one major version step at a time. And C was
not supposed to change at all.
More information about the Digitalmars-d
mailing list