> On Jul 10, 2016, at 8:37 PM, Xiaodi Wu <[email protected]> wrote: > > This is a neat idea, and I think a very sensible way to extend the language. > I worry only a little about the following: > > Currently, unless preceded immediately by the keyword `fallthrough`, a > condition implicitly excludes all previous conditions. That is, if I write > `switch .. { case a: ...; case b: ...; case c: ... }`, my condition `c` is > really `!a && !b && c`. With more flexible control flow within a switch > statement, reasoning about what cases are matched by any particular condition > after the first becomes increasingly difficult.
In the current Swift, absent `fallthrough`, the statement execution ends and no other statements are evaluated after the first match. With `fallthrough` the current clause executes and the next clause executes, and then the statement execution ends. With `continue`, the current clause executes and the switch continues searching for a matching pattern as if a pattern has not yet been matched. -- E _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
