4 ms·
In many cases it doesn't make sense. For instance, what if your protocol contains a static member? protocol P { static var x: Int { get } } H
by skohan 7y ago
In many cases it doesn't make sense. For instance, what if your protocol contains a static member?
protocol P {
static var x: Int { get }
}
Here `let x = P.x` doesn't make any sense, because it's only the type implementing the protocol which has that member. However this would be possible:
func f() -> some P { ... }
let p = f()
let x = type(of:p).x
because in this case p has a concrete type, we just don't know what it is.