Commits

gregomni committed 45fa88c72da
[AST/Sema] Typealias in protocol further corner fixes. Don’t try to find a conformation witness for typealias declarations in protocols. Fixed a bug with same type constraint between an alias and a concrete type - just a bad assumption on my part. Added test for that. Made archetype builder more resilient in constructing PA trees: it will work correctly now if the alias destination is a dependent member type instead of an archetype type. It also handles the case of finding multiple aliases with the same name along with an associatedtype with that name, fixing up all the representative ptrs. Extensions/Nominals that tried to use a protocol's typealias would get a dependent type as resolved with the protocol's base instead of with the 'Self' base type of the current extension/nominal, resulting in spurious conformance failures. So resolve aliases to protocol assoctypes based on the 'Self' in which they are used. Also fixed tests to not use common stdlib names, added tests for typealias in protocol extension and self & recursive aliases. One recent crasher also fixed.