Commits

Doug Gregor committed 19a8401dfc7
When determining whether a call expression is actually a construction (because we're applying something of metatype type), use the simplified function type. This allows simplifications performed during constraint generation to factor into the "is it a metatype?" decision. This allows us to construct values of nested types. At this point, we can type-check swift.swift using the constraint-based type checker, with two caveats: - We're intercepting TypeChecker::typeCheckExpression() but not TypeChecker::typeCheckAssignment(), so we aren't type-checking assignment statements. We are getting non-assignment expressions, return statements, variable initializations, etc. - We're not always applying the results of the constraint solver properly or, at least, we're generating ASTs that cause assertions in IRgen. Swift SVN r2924