mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
66 lines
1.5 KiB
Swift
66 lines
1.5 KiB
Swift
// RUN: %target-typecheck-verify-swift
|
|
|
|
// https://github.com/apple/swift/issues/51275
|
|
// A number of related problems with unqualified lookup of associated
|
|
// type names.
|
|
|
|
|
|
// #1
|
|
public protocol PA {
|
|
associatedtype F
|
|
}
|
|
|
|
public protocol PDA : PA {
|
|
}
|
|
|
|
public protocol PrB {
|
|
associatedtype F
|
|
}
|
|
|
|
extension PDA where Self : PrB {
|
|
public init(first: F?) {
|
|
fatalError()
|
|
}
|
|
}
|
|
|
|
// #2
|
|
public protocol S { associatedtype F }
|
|
public protocol AM : S {}
|
|
public protocol AL { associatedtype F }
|
|
extension AM where Self : AL {
|
|
public init(first: F?) { fatalError() }
|
|
}
|
|
|
|
// #3
|
|
public protocol S2 { associatedtype F }
|
|
public protocol A2 : S2 {}
|
|
public protocol Z2 { associatedtype F }
|
|
extension A2 where Self : Z2 {
|
|
public init(first: F?) { fatalError() }
|
|
}
|
|
|
|
// #4
|
|
public protocol BM { associatedtype F }
|
|
public protocol C : BM {}
|
|
public protocol BL { associatedtype F }
|
|
extension C where Self : BL { public init(first: F?) { fatalError() } }
|
|
|
|
// #5
|
|
public protocol AZ { associatedtype F }
|
|
public protocol ZA : AZ {}
|
|
public protocol AA { associatedtype F }
|
|
extension ZA where Self : AA { public init(first: F?) { fatalError() } }
|
|
|
|
// #6
|
|
public protocol AZ2 { associatedtype F }
|
|
public protocol ZA2 : AZ2 {}
|
|
public protocol ZZ2 { associatedtype F }
|
|
extension ZA2 where Self : ZZ2 { public init(first: F?) { fatalError() } }
|
|
|
|
// #7
|
|
public protocol ZA3 { associatedtype F }
|
|
public protocol AZ3 : ZA3 {}
|
|
public protocol ZZ3 { associatedtype F }
|
|
extension AZ3 where Self : ZZ3 { public init(first: F?) { fatalError() } }
|
|
|