Skip to main content
Journey Uncommon Logo
JourneyUncommon
mediumSwiftprotocol-oriented programmingSingle-choice MCQ

Given a protocol extension that provides a default implementation conditionally, why does calling `describe()` on `value` print "default" rather than "int"?

protocol Describable {} extension Describable { func describe() -> String { "default" } } extension Describable where Self == Int { func describe() -> String { "int" } } extension Int: Describable {} let value: Describable = 42 print(value.describe())