mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
When substituting a type like T.A.B where A and B are associated types and the conformance requirement on T.A is implied by conformance requirements on T, we would crash. The problem is that we have no way of representing an abstract conformance with nested concrete types. This patch adds a workaround that we can live with until ConformanceAccessPaths are plumbed through all the way. Fixes <rdar://problem/30737546> and <https://bugs.swift.org/browse/SR-3500>. Possibly fixes <rdar://problem/31334245>.
13 lines
284 B
Swift
13 lines
284 B
Swift
// RUN: %target-swift-frontend %s -emit-ir
|
|
|
|
protocol A {
|
|
associatedtype Coordinate: Strideable
|
|
func doSomething(_: Range<Coordinate>) -> Coordinate.Stride
|
|
}
|
|
|
|
extension A where Coordinate == Int {
|
|
func extensionFunc(_ range: Range<Coordinate>) {
|
|
_ = doSomething(range)
|
|
}
|
|
}
|