Commits

Doug Gregor committed b6af1cc01d2
Implement support for calling operators declared in protocols when using archetypes so that, e.g., an archetype T that conforms to Ordered can be compared with <. Requires the introduction of 'archetype' constraints, so that we don't run amok and allow the use of operators in protocols for *any* type that meets the requirements of the protocol. This may change later, with default implementations, of course. The egregious hack introduced in Char.isSpace() works around known, massive performance problems with the solver's exploration of the state space. In this case, we have 6 instances of ==, each of which has 18 overloads, for a large state space. However, we compound the problem significantly by trying many possibilities for the ~30 type variables in each state, rather than concluding quickly (as we should) that most of those branches don't make sense. Swift SVN r2922