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. ![]()
(EDIT: Yep, I got the example backwards...)