Avatar
@swift-main protocol A { associatedtype ARelated } protocol B: A { associatedtype BRelated: Codable } extension B where Self.ARelated: Codable { typealias BRelated = Self.ARelated } struct AImpl: A, B { typealias BRelated = ARelated struct ARelated: Codable { let val: Int } } (edited)