--- Comment #2 from Kyle Foley <> 2010-05-05 14:21:13 PDT ---
(In reply to comment #1)
> It doesn't actually segfault, it executes a HALT instruction. If there is no
> default in a switch, the compiler inserts one of the form:
>   default: HALT
> The idea is that the default should not be implied as fall-through, which it
> does in C.
> D is behaving as it is designed to.

"If none of the case expressions match, and there is not a default statement, a
std.switcherr.SwitchError is thrown. The reason for this is to catch the common
programming error of adding a new value to an enum, but failing to account for
the extra value in switch statements. This behavior is unlike C or C++."

Should sync this with the docs.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to