[swift-evolution] [Pitch] Introducing role keywords to reduce hard-to-find bugs

Chris Lattner clattner at nondot.org
Wed Jun 14 23:04:29 CDT 2017


> On Jun 14, 2017, at 10:11 AM, Erica Sadun via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Some pals and I have been kicking an idea around about introducing better ways to support the compiler in protocol extensions. We want to eliminate some hard-to-detect bugs. We've been brainstorming on how to do this without affecting backward compatibility and introducing a minimal impact on keywords. 
> 
> We'd love to know what you think of our idea, which is to introduce "role" keywords. Roles allow the compiler to automatically check the intended use of a extension member definition against its protocol declarations, and emit errors, warnings, and fixits as needed.  We think it's a pretty straightforward approach that, if adopted, eliminates an entire category of bugs.
> 
> The draft proposal is here: https://gist.github.com/erica/14283fe18254489c1498a7069b7760c4 <https://gist.github.com/erica/14283fe18254489c1498a7069b7760c4>
> 
> Thanks in advance for your thoughtful feedback,

+1 on the idea of this.  The same sort of thing is extremely valuable classes that are trying to implement "optional requirements” in @objc protocols.

-Chris


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


More information about the swift-evolution mailing list