Please consider this setup:
protocol MyProcotol {
}
class MyModel: MyProcotol {
}
enum Result<T> {
case success(value: T)
case failure
}
class Test {
func test<T: MyProcotol>(completion: (Result<T>) -> Void) {
let model = MyModel()
let result = Result.success(value: model)
completion(result)
}
}
Why can't I call completion(result)
? I'm getting this error:
Cannot convert value of type 'Result' to expected argument type 'Result<_>'
Any workaround?