Swift 协议报告为';自身或相关类型要求';,当它没有';我没有
我有以下代码:Swift 协议报告为';自身或相关类型要求';,当它没有';我没有,swift,protocols,Swift,Protocols,我有以下代码: 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:
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 { }
我得到以下错误:
关联的类型应该来自哪里?(即使我删除了
“\(Self.Self)”
它仍然会抱怨。)equalable
将Self
作为关联的类型要求,而LanguageType
是从equalable
间接派生出来的,因此LanguageType
将Self
作为关联的类型要求
let english: LanguageType = English()