[swift-evolution] [Idea] Extend "required" to methods other than init()

Andrey Tarantsov andrey at tarantsov.com
Thu Jan 14 18:58:14 CST 2016

Hey, and welcome!

We actually talked about it some time before Christmas, with possible names like @must_override. The talks seemed to be going well, but I haven't been following the discussion closely, so cannot provide a summary or status, unfortunately. Please try to find it in the archives.


> On Jan 15, 2016, at 6:38 AM, Nate Birkholz via swift-evolution <swift-evolution at swift.org> wrote:
> My first ever post on this list or any open source project, sorry if I'm not following  procedure accurately, here.
> Currently, the "required" keyword on an initializer causes subclasses to implement their own init methods in place of the so-marked initializer. I propose extending the use of the required keyword to methods such that when a new subclass is created, it must create its own unique implementation of the method, or at ;east explicitly invoke the superclass implementation via super.methodName()
> Requiring child classes to implement the method will improve the maintainability of codebases over time and is a logical extension of the current implementation on initialization. This will provide a useful, nondisruptive, nonbreaking communication tool.
> -- 
> Nate Birkholz
>  _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

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

More information about the swift-evolution mailing list