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.