[swift-evolution] Revisiting SE-0110

Jose Cheyo Jimenez cheyo at masters3d.com
Wed May 24 14:37:39 CDT 2017


The way I interpreted SE-110 is that it was suppose to address anonymous arguments. 

Instead of using $0.0, $0.1, One needs to use $0, $1 when there are multiple arguments. 

I was not aware of any implications for explicitly named parameters. 

Perhaps the issue is with the signature of forEach. Does it need to be a nested tuple?

public func forEach(_ body: ((key: Key, value: Value)) throws -> Void) rethrows


> On May 24, 2017, at 12:12 PM, Tony Parker via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Hi everyone,
> 
> We received a pull request in swift-corelibs-foundation which is apparently in response to a language change for SE-0110.
> 
> It turns this perfectly reasonable code:
> 
> -        self.forEach { (keyItem, valueItem) in
> 
> into this:
> 
> 
> +        self.forEach { (arg) in
> +            let (keyItem, valueItem) = arg
> 
> Is that really the design pattern we want to encourage? What was wrong with the previous code?
> 
> (https://github.com/apple/swift-corelibs-foundation/pull/995/files <https://github.com/apple/swift-corelibs-foundation/pull/995/files>)
> 
> - Tony
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170524/1146c8bb/attachment.html>


More information about the swift-evolution mailing list