Warum unterstützt die schnelle Unterstützung die Rückgabe der Kovarianz in Methoden, die in Protokollen definiert sind? z. B.Rückgabetyp Kovarianz in Protokollmethoden
class Base { }
class Derived : Base { }
protocol Requirement {
var someVariable : Base { get }
}
struct MyStruct : Requirement{
let someVariable : Derived
}
Der Compiler erkennt einen Fehler, der MyStruct entspricht Protokoll Anforderung nicht. Soweit ich weiß, erfüllt MyStruct alle Anforderungen von LSP, also frage ich mich, warum das in Swift nicht erlaubt ist?