Is there ANY chance we can fix the bitwise operator precedence rules?

Ellery Newcomer ellery-newcomer at utulsa.edu
Mon Jun 21 14:05:43 PDT 2010


On 06/21/2010 03:46 PM, Sean Kelly wrote:
> Andrei Alexandrescu<SeeWebsiteForEmail at erdani.org>  wrote:
>> On 06/21/2010 01:27 PM, Sean Kelly wrote:
>>> Jonathan M Davis Wrote:
>>>>
>>>> In any case, that means that it could be made required to have a
>>>> control
>>>> statement at the end of a case block without having to specify a
>>>> specific
>>>> destination for fallthrough - though I'd prefer "continue switch"
>>>> over "goto
>>>> case" since it's more explicit and less error prone (since there's
>>>> no doubt
>>>> that you didn't intend to put a destination for the goto if you use
>>>> "continue switch" instead of a "goto case" without a destination).
>>>
>>> It's a small thing, but I think "continue switch" could be
>>> misleading.  Consider this:
>>>
>>> switch (getState()) {
>>> case X:
>>>       setState(Z);
>>>       continue switch;
>>> case Y:
>>>       break;
>>> case Z:
>>>       writeln( "done!" );
>>> }
>>>
>>> Having never encountered D before, what would be your interpretation
>>> of this code?
>>
>> Well looks pretty good to me to be honest.
>
> So would you say "done!" is printed or not?

I say it isn't because the switch predicate is only evaluated once and 
if you change it after evaluation it doesn't matter.

*Placing bet of 5 pixels*

Oh, wait, does 'continue switch' go back up to the top like what 
continue does in a loop?

*quietly withdraws bet*


More information about the Digitalmars-d mailing list