swift
a3f9543f - [GSB] Avoid recursively growing increasingly-nested potential archetypes.

Commit
8 years ago
[GSB] Avoid recursively growing increasingly-nested potential archetypes. In some circumstances, we could end up growing increasingly-nested potential archetypes due to a poor choice of representatives and anchors. Address this in two places: * Always prefer to use the potential archetype with a lower nesting depth (== number of nested types) to one with a greater nesting depth, so we don't accumulate more nested types onto the already-longer potential archetypes, and * Prefer archetype anchors with a lower nesting depth *except* that we always prefer archetype anchors comprised of a sequence of associated types (i.e., no concrete type declarations), which is important for canonicalization. Fixes SR-4757 / rdar://problem/31912838, as well as a regression involving infinitely-recursive potential archetypes caused by the previous commit. (cherry picked from commit a72a2bf730bd7a5387e986ab2b6c20b4fca5aab0) (cherry picked from commit 398b99a8012f1678d77d75bb1dd81e43a000607b)
Author
Committer
Parents
Loading