items(array)+friends: remove a RT comparison (#17650)

This commit is contained in:
Timothee Cour 2021-04-06 02:11:30 -07:00 • committed by GitHub
commit aa4f18eff0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -29,8 +29,8 @@ iterator mitems*[T](a: var openArray[T]): var T {.inline.} =
iterator items*[IX, T](a: array[IX, T]): T {.inline.} = iterator items*[IX, T](a: array[IX, T]): T {.inline.} =
## Iterates over each item of `a`. ## Iterates over each item of `a`.
when a.len > 0:
var i = low(IX) var i = low(IX)
if i <= high(IX):
while true: while true:
yield a[i] yield a[i]
if i >= high(IX): break if i >= high(IX): break
@ -38,8 +38,8 @@ iterator items*[IX, T](a: array[IX, T]): T {.inline.} =
iterator mitems*[IX, T](a: var array[IX, T]): var T {.inline.} = iterator mitems*[IX, T](a: var array[IX, T]): var T {.inline.} =
## Iterates over each item of `a` so that you can modify the yielded value. ## Iterates over each item of `a` so that you can modify the yielded value.
when a.len > 0:
var i = low(IX) var i = low(IX)
if i <= high(IX):
while true: while true:
yield a[i] yield a[i]
if i >= high(IX): break if i >= high(IX): break
@ -146,8 +146,8 @@ iterator mpairs*[T](a: var openArray[T]): tuple[key: int, val: var T]{.inline.}
iterator pairs*[IX, T](a: array[IX, T]): tuple[key: IX, val: T] {.inline.} = iterator pairs*[IX, T](a: array[IX, T]): tuple[key: IX, val: T] {.inline.} =
## Iterates over each item of `a`. Yields `(index, a[index])` pairs. ## Iterates over each item of `a`. Yields `(index, a[index])` pairs.
when a.len > 0:
var i = low(IX) var i = low(IX)
if i <= high(IX):
while true: while true:
yield (i, a[i]) yield (i, a[i])
if i >= high(IX): break if i >= high(IX): break
@ -156,8 +156,8 @@ iterator pairs*[IX, T](a: array[IX, T]): tuple[key: IX, val: T] {.inline.} =
iterator mpairs*[IX, T](a: var array[IX, T]): tuple[key: IX, val: var T] {.inline.} = iterator mpairs*[IX, T](a: var array[IX, T]): tuple[key: IX, val: var T] {.inline.} =
## Iterates over each item of `a`. Yields `(index, a[index])` pairs. ## Iterates over each item of `a`. Yields `(index, a[index])` pairs.
## `a[index]` can be modified. ## `a[index]` can be modified.
when a.len > 0:
var i = low(IX) var i = low(IX)
if i <= high(IX):
while true: while true:
yield (i, a[i]) yield (i, a[i])
if i >= high(IX): break if i >= high(IX): break