Skip to main content
Journey Uncommon Logo
JourneyUncommon
hardSwiftprotocol witness tablesSingle-choice MCQ

Compare dispatch of a default method implementation provided in a protocol extension that is NOT a protocol requirement, when called on an existential. What is the key difference from a true requirement?

protocol P { func required() } extension P { func required() { print("req-default") } func extra() { print("extra-default") } } struct S: P { func required() { print("req-S") } func extra() { print("extra-S") } } let p: P = S() p.required() p.extra()