Should allow covariance of {get}-only protocol property requirements?

Ah, ok, I see what you are saying...

protocol P {
    var foo : String? {get}
}
extension P {
    var foo : String? { "default" }
}
struct S : P {
    var foo : String { "concrete" }
}

S().foo // "concrete"
(S() as P).foo // currently "default", would be "concrete" with this change

Seems really edge-case-y to me, but I'm not the one who has to deal with complaints, I guess. :slight_smile:

(EDIT: Yep, I got the example backwards...)