Commits

Chris Lattner committed 5d3dc0d77bb
Now that sufficient complexity is pushed into the right corners of the compiler, we can start taking advantage of ambiguously typed subexpressions in CSDiags. We start by validating the callee function of ApplyExprs, which substantially improves our abilities to generate precise diagnostics about malformed calls. This is the minimal introduction of this concept to CSDiags, a lot of refactoring is yet to come, however, this is enough to resolve: <rdar://problem/21080030> Bad diagnostic for invalid method call in boolean expression <rdar://problem/21784170> Incongruous `unexpected trailing closure` error in `init` function which is cast and called without trailing closure. one of the testcases from: <rdar://problem/20789423> Unclear diagnostic for multi-statement closure with no return type and a bunch of other places where we got weird "unexpected trailing closure" diagnostics that made no sense. As usual, it is two steps forward and one step back, as this exposed some other weird latent issues like: <rdar://problem/21900971> QoI: Bogus conversion error in generics case Swift SVN r30429