¿Por qué una propiedad que cumple no puede satisfacer un requisito de propiedad de solo obtención en un protocolo?
¿Por qué el siguiente código produce un error?
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
}
}
La respuesta en esta pregunta similar tiene sentido. Sin embargo, en mi ejemplo, la propiedad es get-only. ¿Por qué no debería funcionar esto? ¿Es una deficiencia de Swift, o hay alguna razón por la que esto tiene sentido?