Por que um requisito de propriedade get-only em um protocolo não pode ser satisfeito por uma propriedade em conformidade?
Por que o código a seguir produz um erro?
protocol ProtocolA {
var someProperty: ProtocolB { get }
}
protocol ProtocolB {}
class ConformsToB: ProtocolB {}
class SomeClass: ProtocolA { // Type 'SomeClass' does not conform to protocol 'ProtocolA'
var someProperty: ConformsToB
init(someProperty: ConformsToB) {
self.someProperty = someProperty
}
}
A resposta nesta pergunta semelhante faz sentido. No entanto, no meu exemplo, a propriedade é apenas de obtenção. Por que isso não deveria funcionar? É uma falha do Swift, ou há alguma razão para que isso faça sentido?