Commits

Doug Gregor committed 9efaf1ddc51
[Constraint solver] Limit the search for type variable bindings based on conformance constraints. Only consider the list of types that conform to a given protocol as potential type variable bindings when that protocol has a default type (i.e., is a literal conversion type). This limits the potential explosion caused by adding new protocols to which a ton of types conform, although it's only good for about 3% speedup parsing the standard library now. Two minor solver fixes were needed to eliminate our dependence on this feature: - matchTypes() now looks deeper for an underlying fixed type - for a tuple type that allows scalar initialization, the type of the scalar field is a supertype (for enumeration purposes) Swift SVN r5837