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

Dave Abrahams dabrahams at apple.com
Thu Jun 15 00:46:11 CDT 2017


on Wed Jun 14 2017, Chris Lattner <swift-evolution at swift.org> wrote:

>> 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.  

ditto.  IMO it also makes the protocol extension much more expressive
and easy to read.

-- 
-Dave



More information about the swift-evolution mailing list