> Obviously there are some things where you really don't need to call super 
> (mostly abstract methods), but you just said "default", which implies that we 
> could have an opt-out attribute.
> 
> I will say, however, that making NS_REQUIRES_SUPER the default for 
> overridable methods is separable from deciding which methods are overridable 
> by default. Making sure the base method is called isn't really the same as 
> knowing the base method is all that's called.
Well, there are the two extreme positions:
final is as restrictive as possible and the current default, which allows to 
completely eliminate the inherited code.
NS_REQUIRES_SUPER (the name is imho the by far worst thing of this feature… 
inheritable sounds really better) is a compromise:
You can make sure that a method does what you want it to do without patronizing 
the user — and of course theres still room (and need) for final and nonfinal.

Tino
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to