Commits

Doug Gregor committed ae01e76a604
Teach the constraints-based type checker to cope with generic member references better. There are a number of aspects to this: - Treat member references and generic member references the same way, by creating proper (albeit trivial) overload sets for them. This allows the specialization machinery to kick in when the member referenced is a polymorphic function. - "Sanitize" already type-checked expressions produced by an over-eager TypeCheckExpr.cpp by removing implicit conversions and turning DotSyntaxCallExprs into member references. This allows the specialization machinery to properly handle the two-step specialization implied by calling a polymoprhic method on an instance of a polymorphic type. - Factor out the construction of a member reference, along with subsequent specialization of the result, so it can be re-used for the various member reference expression forms. - Handle coercion of the object argument of a DotSyntaxCallExpr. Swift SVN r2911