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