[swift-evolution] Final by default for classes and methods

Tomáš Linhart tomas at linhart.me
Mon Dec 21 11:18:37 CST 2015


I must say, I am not big fun of this proposal because currently in Swift
only way how to mock classes is to subclass them. If this proposal becomes
reality, it will make mocking of all third-party libraries impossible
unless they mark their classes non-final and I am afraid authors will just
use the default behaviour so at the end people will stop testing code that
is using third-party libraries or they will have to fork the libraries or
ask the authors. This can be fixed by having better testing support in
Swift but I don't think, this will happen anytime soon.

I would rather see introduction of better reflection so mock frameworks can
be reality. I would like to see also other building block of
objected-oriented-programming such as abstract classes, protocols with
generic type parameters and not just abstract types (associated types) that
allows to design better APIs that don't depend so much on overriding
regular classes.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20151221/1b077b3e/attachment.html>

More information about the swift-evolution mailing list