> On Jun 14, 2017, at 11:46 PM, Dave Abrahams via swift-evolution > <swift-evolution@swift.org> wrote: > > > on Wed Jun 14 2017, Chris Lattner <swift-evolution@swift.org> wrote: > >>> On Jun 14, 2017, at 10:11 AM, Erica Sadun via swift-evolution >>> <swift-evolution@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
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@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution