<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 17 February 2014 02:04, Chris Cain <span dir="ltr"><<a href="mailto:clcain@uncg.edu" target="_blank">clcain@uncg.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
I think the main reason why switches work this way (and cannot/should not be changed) is because of one of the main design goals of D:<br>
<br>
<a href="http://dlang.org/overview.html" target="_blank">http://dlang.org/overview.html</a><br>
<br>
#7: Where D code looks the same as C code, have it either behave the same or issue an error.<br>
<br>
The proposed changes would violate this, making existing C code change meaning silently (wrt implicit "break;" in particular).<br></blockquote><div><br></div><div>Okay, but that doesn't address the range cases...</div>
<div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
TBH, though, I agree that this is somewhat of a speed bump in D. I really rarely find myself using switches because of the same issues you mention. Unfortunately, without adding new syntax (which is also problematic for many reasons), such a thing cannot be fixed unless this goal is ignored.<br>

</blockquote></div><br></div><div class="gmail_extra">I agree, I rarely use switch statements for the same reason. Deliberately gimping a very useful control statement because it's shit in another language (it really is!), seems like an extremely lame design goal to me.</div>
<div class="gmail_extra">switch could be so much more useful with these changes. I suspect most people would avoid it much of the time for these reasons.</div></div>