[swift-dev] Descriptive Protocol non-conformance errors

Xi Ge xi_ge at apple.com
Wed Jul 6 22:40:49 CDT 2016


> On Jul 6, 2016, at 8:24 PM, Douglas Gregor via swift-dev <swift-dev at swift.org> wrote:
> 
> 
>> On Jun 25, 2016, at 1:19 PM, Sean Alling via swift-dev <swift-dev at swift.org> wrote:
>> 
>> Hi everyone,
>> 
>> I’m suggesting a change to the compiler that returns an error when an object 'does not conform to protocol’ to nest sub-errors that’ll list what properties and methods the object hasn’t implemented.
>> 
>> I’m using the idea of a nested error so that the exceptions thrown will be grouped when shown. That was each doesn’t create a new error, racking up the error count, but rather just showing the developer the things he/she needs to implement.
> 
> I would *love* for us to have errors with Fix-Its that put in stub declarations for what you need to implement to conform to the protocol. I don’t think you should use sub-errors, though, because the structure doesn’t always come across well in IDEs. Rather, I’d suggest emitting one error per missing requirement, with a Fix-It that adds the proper declaration into the type/extension that declared conformance, and a note pointing to the requirement itself.
> 

+1. I believe fix-its are ultimate productivity tool for developers, one great example is to add protocol conformance stubs.
Similarly, we can use fixits to add empty declaration stubs when undefined variables are referred by users.

> 	- Doug
> 
> _______________________________________________
> swift-dev mailing list
> swift-dev at swift.org
> https://lists.swift.org/mailman/listinfo/swift-dev



More information about the swift-dev mailing list