mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
- In functions called from resolveType(), consistently use a Type() return value to indicate 'unsatisfied dependency', and ErrorType to indicate failure. - Plumb the unsatisfiedDependency callback through the resolution of the arguments of BoundGenericTypes, and also pass down the options. - Before doing a conformance check on the argument of a BoundGenericType, kick off a TypeCheckSuperclass request if the type in question is a class. This ensures we don't recurse through NominalTypeDecl::prepareConformanceTable(), which wants to see a class with a valid superclass. - The ResolveTypeOfDecl request was assuming that the request was satisfied after calling validateDecl(). This is not the case when the ITC is invoked from a recursive call to validateDecl(), hack this up by returning *true* from isResolveTypeDeclSatisfied(); otherwise we assert in satisfy(), and we can't make forward progress in this case anyway. - Fix a bug in cycle breaking; it seems if we don't invoke the cycle break callback on all pending requests, we end up looping forever in an outer call to satisfy(). - Remove unused TR_GlobalTypeAlias option.
413 B
413 B