Why fall through on switch statements?
Many people have asked for a requirement that there be a break between cases in a switch statement, that C’s behavior of silently falling through is the cause of many bugs. The reason D doesn’t change this is for the same reason that integral promotion rules and operator precedence rules were kept the same – to make code that looks the same as in C operate the same. If it had subtly different semantics, it will cause frustratingly subtle bugs.