Files
swift-mirror/validation-test/compiler_crashers_2_fixed/0012-rdar20270240.swift
2018-07-03 16:03:07 -07:00

35 lines
569 B
Swift

// RUN: %target-swift-frontend %s -emit-silgen
protocol FooProtocol {
associatedtype Element
}
protocol Bar {
associatedtype Foo : FooProtocol
typealias Element = Foo.Element
mutating func extend<
C : FooProtocol
>(elements: C)
where
C.Element == Element
}
struct FooImpl<T> : FooProtocol {
typealias Element = T
}
struct BarImpl<T> : Bar {
typealias Foo = FooImpl<T>
// Uncomment this line to make it compile:
// typealias Element = T
mutating func extend<
C : FooProtocol
>(elements: C)
where
C.Element == T {}
}