[swift-evolution] [Pitch] Allow closures/default params to satisfy protocol requirements

Slava Pestov spestov at apple.com
Sun Mar 26 19:03:25 CDT 2017


> On Mar 26, 2017, at 11:12 AM, Karl Wagner via swift-evolution <swift-evolution at swift.org> wrote:
> 
> I’d like to pitch the following two language changes. Both of them are technically possible today if you manually write thunks for the relevant protocol requirements, but it would be nice if we allowed them to be written directly:
> 
> 1) Allow closures to satisfy function requirements in protocols

I have mixed feelings about this one because of the argument labels issue.


> 
> 2) Allow functions with default parameters to satisfy function requirements in protocols
> 

This would be an excellent improvement. I don’t think it needs an SE proposal, it is “obvious” how it would work.

I would also add the following for full generality:

3) Allow enum cases without payloads to satisfy static read-only property requirements
4) Allow enum cases with payloads to satisfy static method requirements

Slava

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170326/376eca82/attachment.html>


More information about the swift-evolution mailing list