On Monday, 3 June 2013 at 15:21:15 UTC, John Colvin wrote:
On Monday, 3 June 2013 at 14:57:13 UTC, Andrej Mitrovic wrote:
On Monday, 3 June 2013 at 14:53:23 UTC, deadalnix wrote:
I reach this error all the time. When debugging for instance,
I may want to stick a throw in the middle of some code
I have the same problem, sometimes for testing purposes
(exactly
for debugging) I'd like to return early or throw, but then I
get
compiler errors.
It would be nice to have a compiler switch that turns off these
errors.
One of the problem's _I_ have been able to observe, and which is
particularly problematic (IMO), is when it happens only in
release.
For example:
foreach(e; range)
if(e==1)
return 1;
return 0;
Imagine now "range" happens to be an infinite range. Now, return
0 will never be reached. Unfortunately, the compiler only sees
this in release.
This makes unittesting problematic, since there have been a few
observed cases of unittests that passed, but would have failed to
compile in a production environment.