Почему не может соответствовать протоколу со связанным типом? - PullRequest
0 голосов
/ 30 апреля 2020

У меня следующий простой протокол:

protocol JSONParser {

   associatedtype JSONResult
   func parse<T: Codable>(response: Response, type: T) -> JSONResult

}

Функция parse принимает простое Response, что является структурой, и T, что составляет Codable. И вот как я реализую этот протокол:

struct AuthJSONParser: JSONParser {

    func parse<T: Codable>(response: Response, type: T) -> AuthResult<T> {

    }

}

Кажется, все в порядке. Но Xcode говорит, что он не соответствует протоколу. Вот AuthResult<T> на всякий случай:

enum AuthResult<Model: Codable> {
   case success(data: Model)
   case failed(msg: String)
}

Я не могу понять, что не так с моей реализацией. Я хочу использовать обобщенные c функции вместо обобщенных c структур.

...