No more fall through in case statement?

Dan murpsoft at hotmail.com
Thu Jan 3 06:13:13 PST 2008


Janice Caron Wrote:

> On 1/3/08, 0ffh <frank at youknow.what.todo.internetz> wrote:
> > To me, a warning on nonempty case fallthrough seems more than enough...
> 
> I'm sure you know this already, but: "Warnings are not a defined part
> of the D Programming Language."
> (http://digitalmars.com/d/warnings.html)
> 
> Either it's an error, or it's not.
> 
> Hey - here's an idea. Why not make case statements have a syntax
> similar to D's attributes. That is, if you use a colon, execution
> continutes to end of scope (or break), but if you use curly braces,
> only the stuff within the braces gets executed. (Just like "public",
> "private", etc.)
> 
> For example:
> 
>     case 1:
>         /*...*/
>         /* falls through */
>     case 2:
>         /*...*/
>        break;
>     case 3
>     {
>         /*...*/
>     }
>         /* does not fall through */
> 
> Existing syntax will still work, so that C++ programmers won't get
> confused. To get no-fall-through behaviour, you'd have to replace the
> colon with an opening curly brace (and remember the closing brace).
> Everyone's happy. (Maybe?)

It's creative, and syntactically coherent.  I like it.  Even if it breaks my old programs, this one makes sense.  : )



More information about the Digitalmars-d mailing list