I myself pitched that requirement quite a few times on the list. Thank you, 
finally I understood why it’s not possible. Now I fully agree that the 
requirement of an override should not exist for the base type conforming to the 
protocol.

For those who might misunderstand the concept of retroactive conformances just 
like I did it, here is a quick snippet for you.

Imagine you’re working on some iOS project and for some reason you need an 
existential that only knows a property title of type String?.

protocol P { var title: String? { get set } }
Now you could retroactively conform types that already have this property to 
that protocol P without the need of implementing the property yourself. Think 
of it as a backdoor. ;)

extension UIViewController : P {} // This just works
The proposed solution will simply break this nice feature.



-- 
Adrian Zubarev
Sent with Airmail

Am 11. April 2017 um 00:52:01, Xiaodi Wu via swift-evolution 
([email protected]) schrieb:

Requiring `override` breaks retroactive conformance of types to protocols. This 
idea has been brought up over half a dozen times. Each time it fails in not 
being able to accommodate retroactive conformance.
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to