[swift-evolution] [Pitch] Introducing role keywords to reduce hard-to-find bugs
davidhart at fastmail.com
Fri Jun 16 08:44:46 CDT 2017
Erica, any thoughts on only having default and making it an error in a future version of Swift like was discussed on this thread? The idea seems to have a few supporters.
> On 16 Jun 2017, at 15:33, Erica Sadun via swift-evolution <swift-evolution at swift.org> wrote:
>> On Jun 14, 2017, at 11:46 PM, Dave Abrahams via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> on Wed Jun 14 2017, Chris Lattner <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>> On Jun 14, 2017, at 10:11 AM, Erica Sadun via swift-evolution
>>>> <swift-evolution at swift.org <mailto: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.
> Pull request: https://github.com/apple/swift-evolution/pull/724 <https://github.com/apple/swift-evolution/pull/724>
> -- E
> swift-evolution mailing list
> swift-evolution at swift.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-evolution