Commits

Slava Pestov committed 879a8966ac4
SIL: Split up AbstractionPattern::isOpaque() into two predicates - isTypeParameter() -- check if this is an archetype or dependent interface type. - requiresClass() -- check if this is a class-constrained type parameter. The old isOpaque() check has been replaced by (isTypeParameter() && !requiresClass(moduleDecl)). This allows us to pass the ModuleDecl on down to GenericSignature::requiresClass(), enabling the use of interface types in abstraction patterns. NFC for now.