protocol P { static func foo() } extension P { static func foo() { print("static P.foo") } } func callFoo() { P.foo() }