Breaking D2 language/spec changes with D1 being discontinued in a month
SiegeLord
none at none.com
Tue Nov 27 17:38:37 PST 2012
Another DMD alpha, another set of previously valid code that no
longer compiles. With 2.060 it was the TypeInfo constness changes
in druntime, with 2.061 it is the dissalowance of rebindability
of the this pointer. The latter did make it into the spec half a
year ago, but recently it was actually dissallowed in the beta.
Unlike many other features of the sort (e.g. octal literals)
there is no warning or deprecation errors... code that use to
compile simply does not anymore.
In this last case, in principle, we were lucky... the spec was
changed. What about things like this:
http://dlang.org/attribute.html#inout . Are those undocumented
features liable to change at any time? What warning will there be
when somebody decides to submit an inout bug and somebody else
fixes it in a way that breaks existing code?
D1 is scheduled to be discontinued in a month, and every new
version of DMD keeps changing D2 in code breaking ways (or worse,
with backwards incompatible spec changes). I think that unless
people responsible for these things get their act together and
stabilize D2 against these issues, D1 support should be extended
until that happens.
More information about the Digitalmars-d
mailing list