swift
41cac984 - IRGen: Use correct archetype conformance code path for opaque associated types.

Commit
6 years ago
IRGen: Use correct archetype conformance code path for opaque associated types. The code here was not correct in a situation where an opaque type had constraints that were refinements of the protocol requirements of an associated type, as in: ``` protocol ParentProtocol {} protocol SubProtocol: ParentProtocol {} protocol P { associatedtype A: ParentProtocol func foo() -> A } struct S: P { func foo() -> some SubProtocol } ``` because it assumed that the conformance could be found directly on the opaque type instead of potentially via an arbitrary MetadataPath. Falling through to the code that already correctly handles archetype conformances right below the removed code does the right thing. Fixes rdar://problem/53081207.
Author
Committer
Parents
Loading