Реализация Equatable не может быть автоматически синтезирована в расширении - PullRequest
0 голосов
/ 08 июня 2018

Я получаю ошибку компилятора при добавлении соответствия нового протокола расширению.

struct EquatableStruct {...}

extension EquatableStruct: Equatable {
  static func == (lhs: EquatableStruct, rhs: EquatableStruct) -> Bool {
    return true
  }
}

Здесь я получаю эту ошибку компилятора.Implementation of 'Equatable' cannot be automatically synthesized in an extension

1 Ответ

0 голосов
/ 08 июня 2018

Вы неправильно цитируете ошибку.Должно быть:

Реализация 'Equatable' не может быть автоматически синтезирована в расширении

Comparable extends Equatable.Если вы хотите, чтобы ваше расширение соответствовало Comparable, вы также должны реализовать протокол Equatable.

extension ComparableStruct: Comparable {
    static func < (lhs: ComparableStruct, rhs: ComparableStruct) -> Bool {
        return true // FIX
    }

    static func == (lhs: ComparableStruct, rhs: ComparableStruct) -> Bool {
        return true // FIX
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...