[swift-users] swift 4 compiler error tuple parameter does not support destructing

Daniel Dunbar daniel_dunbar at apple.com
Thu Jun 29 22:20:05 CDT 2017


This is due to SE-0110:
  https://github.com/apple/swift-evolution/blob/master/proposals/0110-distingish-single-tuple-arg.md
but see the additional commentary:
  https://lists.swift.org/pipermail/swift-evolution-announce/2017-June/000386.html

For now you can rewrite it as:
```
let filenamelength = bytes
  .enumerated()
  .map {
    let (index, element) = $0
    return Int(Double(element) * pow(256,Double(index))) }
  .reduce(0, +)
```

 - Daniel

> On Jun 29, 2017, at 8:08 PM, CK TUNG via swift-users <swift-users at swift.org> wrote:
> 
> I have the following code snippet that compile OK in swift 3
> 
>             bytes = Array(UnsafeBufferPointer(....))
>             let filenamelength = bytes[(i+28)..<(i+28+2)]
>                 .enumerated()
>                 .map { (index, element) in return Int(Double(element) * pow(256,Double(index))) }
>                 .reduce(0, +)
>  
> I have the following code snippet that compile OK in swift 3
> In Swift 4 (Xcode beta1) it compiled with error something like "... too complex"
> Now in Swift 4 Xocde beta2 the error is tuple parameter element does not support destructing
> what has been changed in swift 4 ?
> 
> Please help how to solve it ?
> 
> Thanks
> 
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170629/40784635/attachment.html>


More information about the swift-users mailing list