I want to constraint U to T, is it possible?
protocol Pro {}
struct ST<T: Pro, AnyObject> {
var anArr = [T]()
}
I know I can:
extension ST {
// work
func anElmFromArr<U: Pro>(at index: Int) -> U? {
return anArr[index] as? U
}
}
But I want to constraint like this:
extension ST {
// doesn't work.
func anElmFromArr<U: T>(at index: Int) -> U? {
return anArr[index] as? U
}
// it also doesn't work.
func anElmFromArr<U>(at index: Int) -> U? where U: T {
return anArr[index] as? U
}
}