> On Aug 22, 2016, at 5:19 PM, Xiaodi Wu via swift-evolution 
> <[email protected]> wrote:
> 
> This has been proposed before in the past by several others (myself being one 
> of them).
> 
> The key problem is that it cannot accommodate retroactive modeling. That is, 
> you would not be able to conform existing types, the code for which you do 
> not control, to a protocol of your own design. Retroactive modeling is an 
> essential feature of Swift protocol-oriented programming.

Then how about making the keyword optional? A method or property with the 
keyword before it would throw an error if it didn’t exist in one of the 
protocols your type implements. This way, if you intended a method to satisfy a 
protocol but left a typo in it, or you changed the protocol’s signature in a 
refactoring or something, you’d get notified instead of not finding out about 
it until runtime.

Charles

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to