Commits

David Farler committed b0d6341420f
InheritedProtocolConformance: Return the conforming type's DeclContext Not the superclass's. This can cause mapping types out of context to not resolve archetypes, because the DeclContexts won't match, e.g: internal class _IteratorBox<Base: IteratorProtocol> : _AnyIteratorBoxBase<Base.Element> { internal override func next() -> Base.Element? } Here, _IteratorBox's associated type Element for IteratorProtocol is Base.Element, but the conformance comes from the superclass, _AnyIteratorBoxBase. This meant that Base.Element couldn't be mapped to an interface type, which should be: (dependent-member (generic-type-parameter depth=0 index=0) member=Element)