On Monday, 10 December 2012 at 00:34:33 UTC, Walter Bright wrote:
It's time to do a release; to that end we should be working on tidying up the regressions.

This will be the last official D1 release.

Two things which I think we *must* address before the release, otherwise they will hurt us in the long run:


- https://github.com/D-Programming-Language/dmd/pull/1287 (Make deprecations as warnings the default): Recently, an option to show deprecations as informational messages (i.e. not halting compilation) was added to DMD. Many people, including me, think that this should be the default behavior, but Walter seems to be against it for pretty much unspecified reasons. If we do not finish discussion on this before the release, but then decided to change the default behavior in the future, this will cause quite a bit more confusion as the "-di" switch will already have been released then.


- Regarding UDAs: Releasing them in the current, not very well-tested state might not be the best idea, because we are effectively setting the design the stone, at least if we don't put a large »experimental« tag on them. However, this is not what I'm talking about here.

Walter's current plan is to also keep the superseded bracket syntax around, making use of it only a warning: https://github.com/D-Programming-Language/dmd/commit/a04cf864b932061ad7b72e7cad8b16fabc6a825a

This is a very, *very* questionable decision, as people won't even know that the syntax is deprecated if compiling without any flags, it adds a big maintenance burden (now the feature must go through the usual deprecation cycle), and there is no reason for keeping it around in the first place. No, backwards compatibility to an unreleased state of Git master is not a valid argument, especially if the feature suddenly appeared without prior notice.


David

Reply via email to