Few things
Lionello Lunesu
lio at lunesu.remove.com
Fri Aug 3 07:12:18 PDT 2007
> 7) From the FAQ:
> Many people have asked for a requirement that there be a break
> between cases in a switch statement, that C's behavior of
> silently falling through is the cause of many bugs.
> The reason D doesn't change this is for the same reason that
> integral promotion rules and operator precedence rules were
> kept the same - to make code that looks the same as in C
> operate the same. If it had subtly different semantics, it
> will cause frustratingly subtle bugs.
> I agree with both points of view. My idea: calling this
> statement differently (like caseof) instead of "switch"
> (like in Pascal), so you can change its semantics too,
> removing the falling through (you may use the Pascal
> semantic too).
Sorry to hijack your point here, but this got me thinking:
Why not use "continue" for seeping through to the next case statement?
DMD could then complain if a case does not end with
break/continue/goto/return and silently insert a assert(0) before each
case (the way it does for functions that return a value.)
L.
More information about the Digitalmars-d
mailing list