Commits

Doug Gregor committed 6e64ca66f04
Treat '|' as a delimiter while parsing the signature of a closure. '|' is part of the character set for operators, but within the signature of a closure we need to treat the first non-nested '|' as the closing delimiter for the closure parameter list. For example, { |x = 1| 2 + x} parses with the default value of '1' for x, with the body 2 + x. If the '|' operator is needed in the default value, it can be wrapped in parentheses: { |x = (1|2)| x } Note that we have problems with both name binding and type checking for default values in closures (<rdar://problem/13372694>), so they aren't actually enabled. However, this allows us to parse them and recover better in their presence. Swift SVN r5202