I have the following code:
protocol LanguageType: Hashable {
var description: String { get }
}
extension LanguageType {
var description: String { return "(Self.self)" }
var hashValue: Int { return "(Self.self)".hashValue }
}
func ==<T: LanguageType, U: LanguageType>(left: T, right: U) -> Bool {
return left.hashValue == right.hashValue
}
struct English: LanguageType { }
When I do the following:
let english: LanguageType = English()
I get the following error:

Where should the associated type come from? (Even if I delete "\(Self.self)", he still complains.)
source
share