Как сделать рекурсивный уравниваемый протокол для быстрой структуры

Есть ли способ настроить протокол таким образом, чтобы, если мы определили структуру, где все ее свойства соответствуют Equatableтогда это становится автоматически Equatable без необходимости писать весь шаблонный код, чтобы сравнить все свойства в классе. В идеале этот протокол также наследует от Equatable,

например, если там такой протокол называется RecursiveEquatable и я определяю структуру

struct A: RecursiveEquatable {
  let value: Int
}

тогда мне не нужно писать шаблонный код

public func ==(lhs: A, rhs: A) -> Bool {
  return lhs.value == rhs.value
}

0 ответов

Другие вопросы по тегам