Don't permit creating specialized conformances of specialized conformances...

... and stop doing it when we're separating the archetypes of
extensions from the types they extend. I wasn't able to isolate a
useful test case for this; it triggers when building the standard
library with extension archetypes separated.


Swift SVN r20814
This commit is contained in:
Doug Gregor
2014-07-31 05:56:27 +00:00
parent 1167c1722d
commit 73d50e45ce
3 changed files with 13 additions and 8 deletions

View File

@@ -836,7 +836,7 @@ LookupConformanceResult Module::lookupConformance(Type type,
explicitConformanceType = nominal->getDeclaredTypeInContext();
} else {
explicitConformanceType = cast<ExtensionDecl>(declaresConformance)
->getDeclaredTypeInContext();
->getExtendedType()->getAnyNominal()->getDeclaredTypeInContext();
}
// If the explicit conformance is associated with a type that is different