Commits

Doug Gregor committed 63ff23147fc
Implement another new closure syntax. In this syntax, the closure signature (when present) is placed within the braces and the 'in' keyword separates it from the body of the closure, e.g., magic(42, { (x : Int, y : Int) -> Bool in print("Comparing \(x) to \(y).\n") return y < x }) When types are omitted from the parameter list, one can also drop the parentheses, e.g., magic(42, { x, y -> Bool in print("Comparing \(x) to \(y).\n") return y < x }) The parsing is inefficient and recovers poorly (in part because 'in' is a contextual keyword rather than a real keyword), but it should handle the full grammar. A number of tests, along with the whitepaper and related rational documents, still need to be updated. Still, this is the core of <rdar://problem/14004323>. Swift SVN r6105