Default implementation in protocol bodies

I agree with that, I would expect default to be required in extensions (assuming after Erica's proposal was accepted) and then after the sugar was introduced in the protocol body.

// After Erica's proposal
protocol P {
  func foo()
}

extension P {
  default func foo() { ... }
  func bar() { ... }
}

// After extra sugar
protocol P {
  default func foo() { ... }
}

extension P {
  func bar() { ... }
}

default already tells the reader about dynamic / static dispatch.

2 Likes