On 5/23/2013 6:01 PM, Andrei Alexandrescu wrote:
On 5/23/13 8:56 PM, Walter Bright wrote:
On 5/23/2013 5:35 PM, Steven Schveighoffer wrote:
What about making it an error UNLESS you pass a compiler flag. The
user will be
informed, and the new behavior (which I find useful) is possible.

While that idea has significant merit, I oppose it on the following
grounds:

1. It forces a very abrupt change. We've followed a policy of gradual
change, giving people plenty of time to adapt their codebase. This does
not.

I don't understand this. It's change under 100% user control.

Under neither position of the switch is the old runtime behavior maintained. And as I mentioned in another post, the naive (or tired or in a hurry) user just throwing the switch to get his code to compile runs the risk of silent breakage of the runtime behavior.

Furthermore, when we rename a Phobos function, we don't just delete the old name. We go through a period of warnings and deprecations.

I don't believe this change is so needed to justify such an abrupt change. It's a minor improvement.


2. Having optional errors like that leads to unfortunate problems inside
generic code that tests whether some constructs compile or not.

The warning has the same problem.

I don't agree that because we have this problem elsewhere, that it should be acceptable to add in more cases.


Reply via email to