Add code to super methods.

I agree. An NS_REQUIRES_SUPER equivalent was on my list of things to propose during stage 2, and I don't see a reason to enforce order.

···

On Nov 25, 2016, at 04:42, Tino Heth via swift-evolution <swift-evolution@swift.org> wrote:

What are your thoughts on this?

Just to throw out a strawman:

// Warn if override doesn’t begin with “super.foo()”
__attribute(swift_requires_super_call_at_begin)

// Warn if override doesn’t end with “super.foo()”
__attribute(swift_requires_super_call_at_end)

I myself would already be happy if Swift had an equivalent to NS_REQUIRES_SUPER (preferably with a different name ;-).
The ability to indicate that super shouldn't be called when overriding would be nice as well ― both situations happen in Cocoa, and it isn't enforced, but only documented.

I don't have any examples where the position of the call to super matters, and my personal opinion is that this feature wouldn't pay off:
Of course, there are situations where order is important ― but as with willSet/didSet, it might only be important for the overriding class, not for super.

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