On Friday, 14 December 2018 at 02:17:20 UTC, Jonathan M Davis
wrote:
On Thursday, December 13, 2018 6:56:33 PM MST Steven
Schveighoffer via Digitalmars-d-learn wrote:
On 12/13/18 7:16 PM, Michelle Long wrote:
> I've noticed the compiler is not throwing up errors and
> warnings like it used to:
>
> I thought D required breaks for cases? Seems it doesn't any
> longer! I'm only using -g -gf -d
It doesn't require breaks for cases, it requires no
fall-through on cases. Again, an example would help describe
what you mean.
Well, to be more precise, it doesn't allow fallthrough when the
case statement contains code. It will allow it when it doesn't.
e.g.
case 0:
case 1: break;
is perfectly legal. However, when the case statement contains
code, then yeah, some form of control statement is required to
exit the case statement, but that's a lot more than just break.
continue, goto, return, etc. can all be used to exit a case
statement. Any control statement that explicitly exits the case
statement will work. And of course, goto case can be used for
explicit fallthrough.
- Jonathan M Davis
I thought I had code in it which is what struct me as odd. There
is a good chance I was wrong about this though since I was adding
a bunch of case statements and code. Given that this occurred
with the other problem might correlate to something else. Not
that big a yet but the first struck me as a big problem if it is
a bug... having code that should error but passes and provides
wrong calculations is very prone to producing major bugs in a
program.
I don't feel like trying to reproduce them, but if they crop up
again I'll try and catch them.