[Submission] D Slices

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue May 31 18:57:43 PDT 2011


On 05/31/2011 07:58 PM, Jonathan M Davis wrote:
> On 2011-05-31 15:03, Andrei Alexandrescu wrote:
>> On 5/31/11 4:46 PM, KennyTM~ wrote:
>>> On Jun 1, 11 05:37, Andrej Mitrovic wrote:
>>>> If you didn't have fallback, you would probably have to add some kind
>>>> of new statement like "goto next" or "fallback" on each of those
>>>> cases.
>>>
>>> It already exists. It is called#
>>>
>>> goto case;
>>
>> Sigh. Unless it's a recent addition, I didn't know about it, Walter
>> missed the case during proofreading, and consequently that's not
>> documented in TDPL.
>
> He probably always uses implicit fallthrough in his own code, and we know that
> he doesn't use fallthrough in switch statements as much as he thought that he
> did, so I suppose that it's not a great surprise that he miissed it. It would
> have been nice to have it in TDPL though.
>
> - Jonathan M Davis

Probably it would be best to take this opportunity to make the language 
change and then document it in a future edition of the book. With "goto 
case;" reducing the incremental cost of falling through to near 
non-existence, I think there is no excuse to keep the current behavior.

Also, I think the runtime error on not handling all cases should be 
eliminated as well. It's very non-D-ish and error prone in the extreme 
(as unhandled cases tend to be often rare too). Right there with the 
HiddenFunc error.

I think improving switch and hidden functions to err during compilation 
would be right in line with our push to making correct code easy to 
write and incorrect code difficult to write.


Andrei


More information about the Digitalmars-d mailing list