On Monday, 10 March 2014 at 14:50:27 UTC, Vladimir Panteleev
wrote:
From time to time, there are discussions concerning ideas which
would impact the language, as it is now, too drastically to be
implemented (it would break too much code or require a
significant reengineering effort). These discussions get lost,
which is regrettable since some of the discussions sometimes
produce genuinely great ideas.
Although there is no D3 on the horizon, I think it would be
nice to keep track of these ideas anyway.
http://wiki.dlang.org/Language_issues
I imagine that someone else could write it better than I, but
having to explicitly break out of safe, pure, nothrow, etc.
should be the default, rather than the reverse.
Of course, no option has to be language breaking. If two
alternate implementations are incompatible, you can add a
version/feature flag to the compiler and deprecate the older
versions over time. Releasing a new version of the compiler which
breaks everything ever made is bad, but if people have 12 months
and a working compiler for both versions, moving over to the new
expectations isn't unreasonable.