This code used to be legal:
protocol Flier {
typealias Other : Flier
func flockTogetherWith(f:Other)
}
struct Bird : Flier {
func flockTogetherWith(f:Insect) {}
}
struct Insect : Flier {
func flockTogetherWith(f:Insect) {}
}
Now (in Xcode 7 beta 5) it's not. What's going on here? Is this a bug? I am merely trying to ensure that adopters of Flier declare flockTogetherWith
with a parameter that is some adopter of Flier. I've always been able to do that. Why is it suddenly wrong to do?