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

Erica Sadun erica at ericasadun.com
Wed Jun 14 12:11:07 CDT 2017

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,

-- E

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

More information about the swift-evolution mailing list