[swift-users] generic function called recursively not compiling
Adriano Ferreira
adriano.ferreira at me.com
Sun Aug 7 18:21:43 CDT 2016
Hey Ray,
Feel free to take a look at the swift-3 branch of this repo <https://github.com/adrfer/Sort/tree/swift-3>, too. There are several quick sort implementations there, from classic to Swift-y!
Cheers,
— A
> On Aug 4, 2016, at 12:02 PM, Ray Fix via swift-users <swift-users at swift.org> wrote:
>
>
> I filed rdar://27700622 <rdar://27700622> and attached a playground. Any workaround magic I can do here?
>
> func quickSort<Element: Comparable>(_ input: [Element]) -> [Element] {
> if input.count < 2 {
> return input
> }
> let pivot = input.first!
> let left = input.dropFirst().filter { $0 <= pivot }
> let right = input.dropFirst().filter { $0 > pivot }
>
> // Does not compile with (Swift 3pre) Xcode 8 b1,2,3,4
> // Does compile with (Swift 2.2) Xcode 7.3
> return quickSort(left) + [pivot] + quickSort(right)
> }
>
> quickSort([3,5,1,2])
>
> Error:
> //Playground execution failed: error: quicksort.playground:11:22: error: cannot convert value of type '[Element]' to expected argument type '[_]'
> //return quickSort(left) + [pivot] + quickSort(right)
> // ^~~~
>
>
> _______________________________________________
> 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/20160807/05c93f2b/attachment.html>
More information about the swift-users
mailing list