Method customization in sub class not called
问题 It seems that a function defined as a customization point in a protocol with a default implementation in protocol extension cannot be customized in a subclass that inherits the protocol indirectly via a base class if that base class did not customize the function at the first place. Here is a simple protocol: protocol MyProtocol { func myFunc() -> String } With a default implementation: extension MyProtocol { func myFunc() -> String { return "hello from extension" } } Let's create a base