[swift-users] Cannot invoke 'stride' with an argument list of type '(from: Int, to: Int, by: Int)'

Adriano Ferreira adriano.ferreira at me.com
Tue Jul 5 11:33:51 CDT 2016


Any suggestions on how to work around it or to fix it?



Thanks in advance!

— A

> On Jul 5, 2016, at 12:00 PM, Zhao Xin <owenzx at gmail.com> wrote:
> 
> You are right. Int conforms to Strideable.
> 
> Now it seams like a bug. As in a playground. below are code works and doesn't work
> 
> extension Int {
>     func test() {
>         let temp = stride(from:1, to:10, by:2) // error
>     }
> }
> 
> extension Float {
>     func test() {
>         let temp = stride(from:1, to:10, by:2) // error
>     }
> }
> 
> extension String {
>     func test() {
>         let temp = stride(from:1, to:10, by:2) // works
>     }
> }
> 
> class A {
>     
> }
> 
> extension A {
>     func test() {
>         let temp = stride(from:1, to:10, by:2) // works
>     }
> }
> 
> struct B {
>     
> }
> 
> extension B {
>     func test() {
>         let temp = stride(from:1, to:10, by:2) // works
>     }
> }
> 
> func test() {
>     let temp = stride(from:1, to:10, by:2) //works
> }
> 
> let temp = stride(from:1, to:10, by:2) // works
> 
> ​It is nothing bug a bug?​
> 
> ​Zhaoxin​
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> On Tue, Jul 5, 2016 at 10:16 PM, Shawn Erickson <shawnce at gmail.com <mailto:shawnce at gmail.com>> wrote:
> Int conforms to Strideable byway of Integer <- SignedInteger <- Int (not exactly sure how it will be once the integer proposal is implemented but it will still be strideable).
> 
> -Shawn
> 
> On Mon, Jul 4, 2016 at 10:38 PM Zhao Xin via swift-users <swift-users at swift.org <mailto:swift-users at swift.org>> wrote:
> In Swift 3, 
> 
> func stride<T : Strideable <>>(from start: T, to end: T, by stride: T.Stride) -> StrideTo <><T>
> 
> Int does not conform to Strideable. 
> 
> Adopted By
> 
> CGFloat
> Decimal
> Double
> Float
> Float80
> String.UTF16View.Index
> UnsafeMutablePointer
> UnsafePointer
> 
> ​In Swift 2.2,
> 
> @warn_unused_result func stride(to end: Self, by stride: Self.Stride) -> StrideTo <><Self>
> 
> It uses Self, which means the type of the variable, instead of T.
> 
> Zhaoxin
> 
> On Tue, Jul 5, 2016 at 11:41 AM, Adriano Ferreira via swift-users <swift-users at swift.org <mailto:swift-users at swift.org>> wrote:
> Hi everyone!
> 
> I’m converting some code to Swift 3 and got this issue?
> 
> 
> 
> 
> 
> Does anybody know what’s going on?
> 
> Here’s the code, before and after conversion:
> 
> 
> // Swift 2.2
> extension Int {
> 
>     // Repeat a block of code from `self` up to a limit
>     func up(to upper: Int, by step: Int = 1, @noescape closure: () -> Void) {
> 
>         for _ in self.stride(to: upper, by: step) {
>             closure()
>         }
>     }
> }
> 
> // Swift 3
> extension Int {
> 
>     // Repeat a block of code from `self` up to a limit
>     func up(to upper: Int, by step: Int = 1, _ closure: @noescape () -> Void) {
> 
>         for _ in stride(from: self, to: upper, by: step) {
>             closure()
>         }
>     }
> }
> 
> 
> // Usage
> 1.up(to: 10, by: 2) {
>     print("Hi!")
> }
> 
> 
> Best,
> 
> — A
> 
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org <mailto:swift-users at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-users <https://lists.swift.org/mailman/listinfo/swift-users>
> 
> 
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org <mailto:swift-users at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-users <https://lists.swift.org/mailman/listinfo/swift-users>
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160705/ae4f273e/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2016-07-04 at 11.30.45 PM.png
Type: image/png
Size: 54973 bytes
Desc: not available
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160705/ae4f273e/attachment-0001.png>


More information about the swift-users mailing list