我正在使用一个定义两个协议的库A, 和B,每个协议都有它的associatedtype T,如下所示:
protocol A {
associatedtype T
}
protocol B {
associatedtype T
}
这两个协议在 T 上不耦合,因此理论上第三个协议可以从两者继承Aand B,将typealias每个协议都继承T为不同的类型。不幸的是,我无法让 Swift 区分这两个Ts。我试过类似的东西:
protocol C: A, B {
typealias A.T = String
typealias B.T = String
}
但这不是支持的语法。有没有办法解决这个问题?