For instance: protocol P1 { func foo() } protocol P2 : P1 { func bar() } extension P2 { func foo() {} } We report the foo() in P2's extension as the default implementation of foo() declared in P1.