Как сделать рекурсивный уравниваемый протокол для быстрой структуры
Есть ли способ настроить протокол таким образом, чтобы, если мы определили структуру, где все ее свойства соответствуют Equatable
тогда это становится автоматически Equatable
без необходимости писать весь шаблонный код, чтобы сравнить все свойства в классе. В идеале этот протокол также наследует от Equatable
,
например, если там такой протокол называется RecursiveEquatable
и я определяю структуру
struct A: RecursiveEquatable {
let value: Int
}
тогда мне не нужно писать шаблонный код
public func ==(lhs: A, rhs: A) -> Bool {
return lhs.value == rhs.value
}