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

Shawn Erickson shawnce at gmail.com
Tue Jul 5 09:16:52 CDT 2016


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> 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> 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
>> https://lists.swift.org/mailman/listinfo/swift-users
>>
>>
> _______________________________________________
> 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/20160705/b5fdd79b/attachment.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/b5fdd79b/attachment.png>


More information about the swift-users mailing list