Commits

Slava Pestov committed 64ce6698ebe
Sema: Refactor ConstraintSystem::computeSubstitutions() to use GenericSignature::getSubstitutions(), NFC Note that there was some non-obvious dead code here: - We already drop conformance requirements on dependent types that are the subject of same-type constraints, so we no longer have to skip dependent types that are mapped to concrete types explicitly. In fact, if this were not the case, other code that iterates over the requirements of a GenericSignature would be wrong. The original hack was added in 2014, I guess we fixed the ArchetypeBuilder since then. - We never end up here where the original type to substitute is a recursive archetype. Recursive archetypes are not really a thing that is implemented properly, and even in the compiler_crashers collection this wasn't triggered. - With the above two changes, the mapTypeIntoContext() call is not necessary at all, which is nice because this is somewhat inefficient; mapTypeIntoContext() walks all outer generic parameter lists to find the archetype for the given dependent type.